AI-FAMING STORE
Tin tức và kiến thức

Tiết kiệm token khi dùng agent code: cache, ngữ cảnh gọn, chọn model rẻ

Kiến thức29/10/2026

Ba đòn bẩy giảm chi phí agent code mà dev nào cũng chỉnh được ngay: tận dụng prompt cache, giữ ngữ cảnh gọn và giao việc nhỏ cho model rẻ. Bài này là các bước cụ thể kèm ví dụ cấu hình.

Chuyện quen thuộc: agent code chạy vài vòng là hoá đơn token leo thang, trong khi phần lớn token bị đốt vào những việc không đáng — dán lại cả file 2.000 dòng để sửa một hàm, nhồi toàn bộ log vào prompt, hoặc giao việc đổi tên biến cho model đắt nhất bảng. May mắn là chi phí agent phần lớn nằm trong tầm kiểm soát của bạn: ba đòn bẩy dưới đây áp dụng được ngay hôm nay, không cần đổi quy trình làm việc.

Bật prompt cache và giữ phần đầu prompt ổn định

Prompt cache là khoản tiết kiệm lớn nhất và ít người dùng đúng. Nguyên tắc: phần đầu cuộc hội thoại (system prompt, mô tả repo, quy ước code, tài liệu API nội bộ) nên cố định byte-for-byte giữa các lượt, để nhà cung cấp tính giá cache-read thay vì giá input đầy đủ. Chỉ cần sửa một dấu cách trong system prompt là cache vỡ.

Vài mẹo thực dụng:

  • Đặt mọi thứ ít đổi lên đầu, phần hay đổi (câu hỏi, output lệnh, diff) xuống cuối.
  • Không chèn timestamp, số phiên, hay "hôm nay là..." vào system prompt.
  • Chia file luật dự án (CLAUDE.md, .cursorrules, .clinerules) thành phần ổn định và phần tuỳ phiên; đừng trộn.
  • Với công cụ có tuỳ chọn bật/tắt cache, kiểm tra lại xem đã bật chưa trước khi đổ lỗi cho model.

Cache cũng là lý do nên giữ một phiên làm việc dài cho một task mạch lạc, thay vì mở phiên mới liên tục cho cùng một việc — phiên mới đồng nghĩa trả lại toàn bộ giá input cho phần ngữ cảnh chung.

Cắt ngữ cảnh: đừng dán cả repo, hãy dán đúng chỗ

Agent code tốn token nhất ở bước đọc file và chạy lệnh. Hai thói quen xấu: bảo agent "đọc toàn bộ thư mục src" và để output lệnh đổ nguyên vào ngữ cảnh.

Cách làm gọn:

  • Trỏ đúng file và đúng khoảng dòng: "sửa hàm parseInvoice trong src/billing/invoice.ts, dòng 120–180" tốt hơn "xem module billing".
  • Với lệnh dài, lọc trước khi đưa vào prompt. Ví dụ thay vì dán npm test, dùng npm test 2>&1 | tail -n 60 hoặc chỉ dán phần fail. Tương tự với git diff --stat trước, git diff <file> sau.
  • Dùng tìm kiếm thay vì đọc: rg -n "parseInvoice" src/ cho agent biết vị trí, rồi mới mở đúng file.
  • Khi task xong, chủ động tóm tắt trạng thái ("đã đổi X, còn Y") và bắt đầu phiên mới với bản tóm tắt đó, thay vì kéo lê hàng trăm lượt cũ.
  • Nhắc agent không đọc lại file vừa sửa nếu không cần xác minh; nhiều tool có tuỳ chọn auto-read sau khi edit — tắt nếu bạn thấy tốn.

Một mẫu yêu cầu ngắn mà hiệu quả:

Task: thêm validate email ở form đăng ký.
Chỉ đọc: src/forms/signup.tsx, src/lib/validators.ts.
Không sửa file khác. Trả về diff, không giải thích dài.

Chọn model theo việc, không theo thói quen

Đây là chỗ tiết kiệm nhiều nhất mà ít người chịu chỉnh. Việc nặng — thiết kế kiến trúc, debug lỗi lạ, refactor xuyên module — đáng dùng model mạnh. Nhưng đổi tên biến, viết test cho hàm thuần, đọc file để trả lời câu hỏi, chạy tác vụ nền: giao cho model rẻ là hợp lý.

Theo bảng model đang bán, vài mức giá tham khảo cho 1 triệu token agent code:

Việc Model hợp Giá / 1 triệu token agent
Việc khó nhất, WebDev phức tạp Claude Opus 5.5 12.652 đ
Code hằng ngày Claude Sonnet 5.5 7.719 đ
Code khó, chi phí dễ chịu Gemini 4 Argon 6.903 đ
Việc nền, đọc file, sửa nhỏ Claude Haiku 5.5 386 đ
Tìm, đọc, sửa nhỏ siêu rẻ MiMo-V2.6-Flash 23 đ

Cách dùng thực tế: giữ một model mạnh cho phiên chính, cấu hình model phụ rẻ cho các tác vụ phụ (sub-agent đọc file, sinh commit message, chạy lint-fix, viết test nhỏ). Nhiều tool như Claude Code, Cline cho phép đặt model riêng cho background task — kiểm tra phần cấu hình model của tool bạn đang dùng.

Một lưu ý về giá theo giờ: DeepSeek-V4.1-Flash và DeepSeek-V4-Pro có giá gấp đôi trong khung 8–11h và 13–17h thứ 2–6 (giờ VN). Nếu công việc không gấp, đẩy việc nền sang ngoài khung này là cách giảm chi phí đơn giản.

Đo trước khi tối ưu

Đừng tối ưu theo cảm giác. Hầu hết tool đều có thống kê token/phiên hoặc log chi phí; xem một tuần để biết tiền đi đâu. Thường kết quả gây bất ngờ: 60–70% token rơi vào vài tác vụ lặp đi lặp lại (đọc file, chạy test, sinh mô tả). Đó chính là chỗ đáng giao cho model rẻ và chỗ đáng cắt ngữ cảnh trước tiên.

Tóm tắt nhanh

  • Giữ phần đầu prompt ổn định để prompt cache ăn; đừng chèn timestamp hay nội dung đổi mỗi lượt vào system prompt.
  • Trỏ đúng file và khoảng dòng; lọc output lệnh (| tail -n 60, git diff --stat) trước khi đưa vào prompt.
  • Kết thúc task bằng bản tóm tắt ngắn rồi mở phiên mới, thay vì kéo lê ngữ cảnh cũ.
  • Giao việc nhỏ cho model rẻ (Claude Haiku 5.5, MiMo-V2.6-Flash), để việc khó cho model mạnh; đặt model riêng cho tác vụ nền nếu tool hỗ trợ.
  • Đo token/phiên một tuần trước khi tối ưu — và cân nhắc khung giờ rẻ nếu dùng model có giá theo giờ.

Nếu đang tìm điểm cân bằng cho code hằng ngày, Claude Sonnet 5.5 và Gemini 4 Argon là hai lựa chọn đáng thử trước; việc nền thì cứ để model rẻ lo.

Nguồn tham khảo

Bài khác