Một bài chia sẻ trên Reddit vừa qua khiến mình phải ngồi lại kiểm tra hoá đơn OpenClaw của chính mình. Một anh em kể rằng budget $10/tháng mà thực tế bill về $35 – gấp 3.5 lần dự tính. Quan trọng hơn, ảnh đã phân tích chính xác từng đồng tiền đi đâu và fix được về $8/tháng.
Dưới đây mình tổng hợp lại các điểm rò rỉ token chính và cách khắc phục, hy vọng anh em đỡ phải "chảy máu" như mình từng trải.
4 điểm ngốn token âm thầm nhất
1. System prompt – gửi lại toàn bộ mỗi lần nhắn
Mỗi tin nhắn OpenClaw đều gửi kèm toàn bộ system prompt. Nếu SOUL.md + AGENTS.md + TOOLS.md + mô tả skill của bạn tổng ~14,000 token, với 50 tin/ngày thì riêng phần system prompt đã ngốn 700K token/ngày. Với DeepSeek, riêng khoản này khoảng $10/tháng.
Cách fix: Cắt gọn SOUL.md xuống còn ~1,500 token. Giữ lại những gì thực sự định hình hành vi agent, bỏ hết phần mô tả dài dòng hoặc trùng lặp với AGENTS.md.
2. Lịch sử hội thoại – tin càng về sau càng đắt
Đến tin thứ 20, agent phải gửi lại toàn bộ 19 tin trước đó. Những tin cuối trong session dài tốn token gấp nhiều lần tin đầu. Khoản này ngốn khoảng $8/tháng.
Cách fix: Set maxHistoryMessages xuống 15. Agent chỉ giữ 15 tin gần nhất trong context, đủ để duy trì mạch hội thoại mà không đội chi phí.
3. Heartbeat – "không có gì mới" cũng tốn tiền như thật
Chạy heartbeat mỗi giờ = 24 lần gọi API mỗi ngày. Mỗi lần trả về "nothing new" tốn token y hệt một phản hồi đầy đủ. Khoảng $7/tháng.
Cách fix: Giảm heartbeat xuống 4 giờ/lần và chuyển sang model rẻ hơn như DeepSeek V4 Flash. Từ $7/tháng xuống còn ~$0.50/tháng.
4. Tool output "rác" nằm vĩnh viễn trong history
Một lần gọi Gmail API trả về nguyên thread email dài ngoằng – blob đó nằm trong session history và bị gửi lại ở mọi tin nhắn sau đó. Người đăng bài cho biết đã mất $10/tháng chỉ vì không nhận ra điều này.
Cách fix: Dùng lệnh /new giữa các task không liên quan. Mỗi /new tạo session mới sạch sẽ, không mang theo rác từ task trước.
Kết quả sau khi tối ưu
| Hạng mục | Trước | Sau |
|---|---|---|
| System prompt | $10 | $4 |
| History | $8 | $3 |
| Heartbeat | $7 | $0.50 |
| Tool output rác | $10 | $0 |
| Tổng | $35 | ~$8 |
Cùng một agent, cùng một khối lượng việc. Khác biệt duy nhất là bỏ đi những thứ không cần thiết.
Bonus: MEMORY.md – con "quái vật" đang ngủ
Một bình luận trong thread gốc còn chỉ ra một vector nữa: MEMORY.md sẽ lớn dần theo thời gian. Khi agent ghi log quyết định, sở thích, ngữ cảnh qua nhiều tháng, file này có thể lên tới 15,000-25,000+ token. Không giống mấy mục trên, bạn không thể cắt bớt vì nội dung đều có giá trị.
Giải pháp là dùng semantic retrieval thay vì load toàn bộ file. Plugin mr-memory cho OpenClaw làm chính xác việc này – index memory files và chỉ fetch những entry liên quan đến session hiện tại.
openclaw plugins install mr-memory
Chưa gấp nếu MEMORY.md còn nhỏ, nhưng nên biết trước khi nó thành dòng tiếp theo trong hoá đơn.
Checklist kiểm tra cho anh em
- Chạy
/context listxem tổng token system prompt hiện tại - Chạy
/usage fulltheo dõi 1 ngày xem tiền đi đâu - Trim SOUL.md + AGENTS.md xuống mức tối thiểu cần thiết
- Set
maxHistoryMessages<= 15 - Giảm tần suất heartbeat, chuyển sang model rẻ hơn
- Tập thói quen
/newgiữa các task không liên quan - Kiểm tra MEMORY.md size, cài
mr-memorynếu đã lớn
Đừng đợi đến khi bill về $35 mới ngồi tối ưu như mình. 30 phút check lại config có thể tiết kiệm hàng chục đô mỗi tháng.
Top comments (0)