Caveman: Khi AI Agent “nói ít” để tiết kiệm token
AI Agent đang trở thành công cụ quen thuộc trong lập trình, nghiên cứu và tự động hóa công việc. Tuy nhiên, khi sử dụng agent trong những phiên làm việc dài, một vấn đề thường xuất hiện: AI không chỉ viết code hoặc thực hiện task, mà còn tạo ra rất nhiều phần giải thích, nhận xét và mô tả trung gian.
Những nội dung này đôi khi hữu ích, nhưng cũng có thể khiến context phình to, phản hồi chậm hơn và làm tăng lượng token sử dụng.
Đó là vấn đề mà Caveman hướng tới giải quyết: giúp AI Agent trả lời ngắn gọn hơn nhưng vẫn giữ lại thông tin kỹ thuật quan trọng.
Token đang bị tiêu tốn vào đâu?
Khi làm việc với AI Agent, token không chỉ được dùng cho câu hỏi của người dùng. Một phiên làm việc có thể bao gồm:
- Nội dung prompt
- Lịch sử hội thoại
- Nội dung file và log
- Tool schema
- Kết quả từ các lệnh terminal
- Phần giải thích của agent
- Code, diff và thông báo lỗi
- Context được gửi lại ở nhiều vòng lặp
Trong đó, phần giải thích bằng ngôn ngữ tự nhiên thường chứa nhiều câu chữ không trực tiếp ảnh hưởng đến kết quả cuối cùng.
Ví dụ
Thay vì viết:
“The reason your React component is re-rendering is likely because you are creating a new object reference on each render cycle…”
Agent có thể trả lời ngắn hơn:
“New object ref each render. Inline object prop = new ref = re-render. Use useMemo.”
Hai câu trả lời truyền tải cùng một ý kỹ thuật, nhưng câu thứ hai ngắn hơn đáng kể.
Đây là cách Caveman hoạt động: giảm phần diễn giải dư thừa, trong khi giữ nguyên code, command và lỗi kỹ thuật cần thiết.
Vấn đề: AI trả lời quá dài trong các phiên làm việc dài
Một câu trả lời dài không phải lúc nào cũng là câu trả lời tốt hơn.
Trong nhiều task kỹ thuật, người dùng chỉ cần:
- Nguyên nhân
- Hướng xử lý
- File cần sửa
- Command cần chạy
- Kết quả kiểm tra
Nhưng AI thường thêm vào:
- Phần mở đầu dài
- Những câu giải thích lặp lại
- Các nhận xét không cần thiết
- Tóm tắt lại yêu cầu
- Những câu chuyển tiếp giữa các bước
- Phần kết luận lặp lại nội dung đã nói
Nếu phiên làm việc chỉ có một câu hỏi, phần dư thừa này có thể không đáng kể. Nhưng khi agent làm việc qua nhiều vòng, lượng output đó có thể tích lũy và làm context lớn dần.
Khi context lớn, agent có thể phải xử lý nhiều nội dung hơn ở các lượt tiếp theo. Điều này ảnh hưởng đến:
- Tốc độ phản hồi
- Giới hạn context
- Khả năng theo dõi trạng thái
- Chi phí sử dụng model
Caveman là gì?
Caveman là một AI skill/plugin giúp agent sử dụng phong cách trả lời cô đọng hơn.
Nguyên tắc của nó có thể tóm tắt như sau:
Giữ lại điều cần thiết, loại bỏ phần diễn giải không tạo thêm giá trị.
Caveman tập trung vào phần output bằng ngôn ngữ tự nhiên. Code, command và error message vẫn được giữ nguyên để tránh làm mất thông tin quan trọng.
Skill này hỗ trợ nhiều agent coding phổ biến như:
- Claude Code
- Codex
- Gemini CLI
- Cursor
- Windsurf
- Cline
- Copilot
Một số chế độ của Caveman cho phép điều chỉnh mức độ cô đọng, từ nhẹ đến mạnh. Người dùng có thể bật skill khi muốn agent trả lời ngắn hơn hoặc tắt nó khi cần phân tích chi tiết.
So sánh trước và sau
Ví dụ 1: Giải thích lỗi React
Trước khi sử dụng Caveman:
The reason your React component is re-rendering is likely because you are creating a new object reference on each render cycle. When you pass an inline object as a prop, React’s shallow comparison sees it as a different object every time, which triggers a re-render. I recommend using useMemo to memoize the object and preserve the same reference between renders.
Sau khi sử dụng Caveman:
Inline object creates new reference each render → React re-renders. Use useMemo.
Kết quả: cùng nguyên nhân, cùng giải pháp, ít phần diễn giải hơn.
Ví dụ 2: Tóm tắt thay đổi code
Trước khi sử dụng Caveman:
I have reviewed the changes and found that the authentication middleware now correctly validates token expiration. The implementation checks the expiration timestamp before allowing the request to proceed. This should prevent expired tokens from being accepted by the API. No additional changes appear to be necessary.
Sau khi sử dụng Caveman:
Auth middleware now checks token expiry. Expired tokens rejected. No further changes needed.
Benchmark từ dự án Caveman
Theo benchmark được công bố trong repository của Caveman, skill này giảm trung bình khoảng 65% output tokens trên 10 prompt kỹ thuật, với mức giảm dao động từ 22% đến 87% tùy task.
Bảng benchmark ghi nhận output trung bình giảm từ 1.214 token xuống còn 294 token.
| Task | Normal | Caveman | Mức giảm |
|---|---|---|---|
| Explain React re-render bug | 1.180 | 159 | 87% |
| Fix auth middleware token expiry | 704 | 121 | 83% |
| PostgreSQL connection pool | 2.347 | 380 | 84% |
| Explain Git rebase vs merge | 702 | 292 | 58% |
| Refactor callback to async/await | 387 | 301 | 22% |
| Review PR for security issues | 678 | 398 | 41% |
| Implement React error boundary | 3.454 | 456 | 87% |
| Trung bình | 1.214 | 294 | 65% |
Các con số này cho thấy Caveman có thể giảm đáng kể phần output mang tính diễn giải.
Tuy nhiên, cần hiểu đúng rằng đây là kết quả trên output token trong benchmark riêng của dự án, không đồng nghĩa với việc tổng chi phí của mọi phiên làm việc cũng giảm 65%.
Kết quả kiểm thử độc lập
JetBrains đã thực hiện một benchmark A/B trên 86 task coding thực tế thuộc SkillsBench, với cùng model, cùng task, cùng thiết lập và cùng budget. Trong thử nghiệm này, Caveman được kích hoạt bắt buộc.
Kết quả của JetBrains cho thấy:
- Output token giảm khoảng 8,5% trong các task agentic thực tế.
- Không phát hiện suy giảm đáng kể về chất lượng.
- 82 task được sử dụng để so sánh cặp.
- 64 task có kết quả tương đương.
- 8 task tốt hơn ở nhánh sử dụng skill.
- 10 task kém hơn ở nhánh sử dụng skill.
- Mức giảm chi phí kỳ vọng khoảng 10%, nhưng có thể bị ảnh hưởng bởi các task bất thường.
Điều này giải thích vì sao con số benchmark chat-style có thể cao hơn nhiều so với mức tiết kiệm trong một phiên coding agent hoàn chỉnh.
Trong coding workflow, token không chỉ nằm ở phần agent “nói”, mà còn nằm ở:
- Code
- Diff
- Tool call
- Log
- Context
Cần hiểu đúng về con số 65%
Caveman có thể giảm khoảng 65% output token trong benchmark của dự án, nhưng con số này không nên được hiểu là:
“Mọi phiên làm việc sẽ tiết kiệm 65% chi phí.”
Có một số lý do:
- Skill chủ yếu rút gọn output bằng ngôn ngữ tự nhiên.
- Code và command thường được giữ nguyên.
- Tool call và log có thể chiếm phần lớn token trong coding session.
- Input token và reasoning token không nhất thiết giảm.
- Skill có thể tự thêm một lượng instruction vào input.
- Những task vốn đã trả lời ngắn có thể không tiết kiệm nhiều.
- Một số phiên có thể tiết kiệm ít, thậm chí không có lợi về tổng token.
JetBrains kết luận rằng mức tiết kiệm thực tế trên agentic coding tasks thấp hơn đáng kể so với con số quảng bá trên chat-style benchmark.
Mức giảm khoảng 8,5% trong thử nghiệm của họ nên được xem như một tham chiếu độc lập và thận trọng hơn.
Một phân tích khác cũng lưu ý rằng output token chỉ chiếm một phần nhỏ trong tổng chi phí của nhiều phiên Claude Code. Vì vậy, mức giảm output lớn không tự động chuyển thành mức giảm hóa đơn tương ứng.
Caveman phù hợp khi nào?
Caveman phù hợp khi:
- Agent thường trả lời dài hơn nhu cầu thực tế.
- Bạn thực hiện nhiều task nhỏ liên tiếp.
- Bạn đã quen với workflow và không cần giải thích dài.
- Bạn muốn giảm phần narration giữa các tool call.
- Bạn cần câu trả lời ngắn, rõ và có thể hành động ngay.
- Bạn thường bị giới hạn bởi context hoặc quota.
Ví dụ, khi yêu cầu agent kiểm tra một file, bạn có thể chỉ cần:
Findings: - Missing auth check in update endpoint. - Duplicate request possible. - Add idempotency key.
Thay vì một đoạn giải thích dài về cách agent đã đọc file, phân tích logic và đi đến kết luận.
Khi nào không nên dùng?
Không nên bật chế độ cô đọng cao trong các tình huống:
- Bạn đang học một công nghệ mới.
- Bạn cần giải thích kiến trúc cho người khác.
- Bạn đang debug một lỗi phức tạp.
- Bạn cần lưu lại decision log đầy đủ.
- Bạn đang review security hoặc compliance.
- Bạn muốn agent trình bày toàn bộ giả định và rủi ro.
- Task có yêu cầu giải thích chi tiết để audit.
Trong những trường hợp này, câu trả lời ngắn có thể làm mất bối cảnh quan trọng.
Tiết kiệm token không nên đánh đổi bằng việc giảm khả năng hiểu hoặc kiểm tra kết quả.
Cách sử dụng an toàn
Caveman nên được xem là một công cụ điều chỉnh phong cách output, không phải một cách thay thế hoàn toàn cho việc tối ưu context.
Để đánh giá hiệu quả thực tế, nên:
- Chạy cùng một task với và không có Caveman.
- Đo input token, output token và tổng token.
- So sánh thời gian phản hồi.
- Kiểm tra chất lượng code hoặc kết quả cuối.
- Theo dõi số lần phải hỏi lại.
- Kiểm tra các task ngắn và dài riêng biệt.
- Đánh giá theo nhiều phiên, không chỉ một ví dụ.
Công thức đo token saving
Token saving = (Tokens without Caveman - Tokens with Caveman) ÷ Tokens without Caveman × 100
Quan trọng nhất là không chỉ đo số token. Cần đo cả:
- Thời gian hoàn thành task
- Số lần sửa lại
- Số lỗi phát sinh
- Mức độ dễ đọc
- Chất lượng đầu ra
Caveman giải quyết phần nào trong bài toán token?
Caveman xử lý chủ yếu phần agent nói ra.
Nhưng để tối ưu token toàn diện, còn nhiều lớp khác:
- Rút gọn context không cần thiết.
- Giảm log dư thừa.
- Chỉ tải file liên quan.
- Không gửi lại lịch sử quá dài.
- Tối ưu tool schema.
- Tách task lớn thành các bước nhỏ.
- Lưu memory có chọn lọc.
- Dùng retrieval thay vì nhồi toàn bộ dữ liệu.
- Tránh để agent đọc lại các tài liệu không liên quan.
Repository Caveman hiện cũng mở rộng sang các hướng như:
- Nén input
- Xử lý log
- JSON
- Diff
- Search result
- Context theo loại nội dung
Một benchmark được công bố trong repository ghi nhận proxy của Caveman giảm 33,2% provider-reported input tokens trong một thiết lập Claude Code cụ thể, nhưng đây là kết quả phụ thuộc vào cấu hình và benchmark tương ứng.
Kết luận
AI Agent không chỉ tiêu token khi suy luận. Nó còn tiêu token khi giải thích, lặp lại, đọc context, xử lý log và truyền dữ liệu qua nhiều vòng làm việc.
Caveman tiếp cận một phần cụ thể của vấn đề: giúp agent nói ngắn hơn nhưng vẫn giữ lại code, command và thông tin kỹ thuật quan trọng.
Benchmark của dự án ghi nhận mức giảm trung bình 65% output token trên các prompt kỹ thuật, trong khi thử nghiệm độc lập của JetBrains cho thấy mức giảm thực tế trên agentic coding tasks khoảng 8,5%.
Vì vậy, cách nhìn hợp lý nhất là:
Caveman có thể giúp AI Agent gọn hơn, dễ đọc hơn và đôi khi tiết kiệm token hơn — nhưng cần đo trên workflow thực tế thay vì chỉ dựa vào một con số benchmark.
Hãy sử dụng nó khi bạn muốn giảm phần diễn giải dư thừa. Nhưng với những task cần phân tích sâu, audit hoặc giải thích đầy đủ, hãy ưu tiên chất lượng và khả năng truy vết hơn việc tiết kiệm token.