RTK làm gì
RTK, viết tắt của Rust Token Killer, chặn output từ terminal trước khi coding agent đọc rồi rút gọn kết quả. Tool có thể rewrite các lệnh Git, test, package, đọc file và chỉ trả về phần được cho là cần thiết. Chẳng hạn, với ls -la, RTK giữ tên file, kích thước và permission nhưng bỏ owner cùng ngày sửa.
Cơ chế này tạo ra một con số rất dễ quảng bá: bớt ký tự trong output đồng nghĩa agent phải đọc ít token hơn. Một bài đăng trên X nói RTK có thể giảm tới 60% token của Claude Code đã đạt 313.000 lượt xem; nhiều hướng dẫn khác đưa ra mức 60–90%. Tuy nhiên, chính README của RTK cũng lưu ý giảm 90% output Bash không có nghĩa hóa đơn giảm 90%.
Điểm cần phân biệt là RTK có thể thay đổi bước tiếp theo của agent. Output ngắn hơn có thể giúp, không tạo khác biệt, hoặc khiến agent cần thêm lượt và thậm chí giảm chất lượng kết quả. Vì vậy Quesma đo chi phí của cả task thay vì suy ra tiền tiết kiệm từ số ký tự bị lọc.
Benchmark được thiết kế ra sao
Nhóm dùng Terminal-Bench 2.1, bộ benchmark có nhiều tương tác terminal và tỷ lệ task hoàn thành đủ cao để so sánh chi phí. Claude Code chạy Fable 5.0; OpenCode chạy DeepSeek V4 Pro 0813 qua OpenRouter.
Mỗi task được chạy năm lần không RTK và năm lần có RTK, giữ nguyên model route, platform và timeout của task. Sau khi loại bốn task bảo mật mà Fable từ chối, phép so sánh gồm 85 task Fable và 89 task DeepSeek, tổng cộng 1.740 lượt chạy. Chi phí token vượt 1.500 USD.
Tổng hóa đơn gần như không cải thiện
Nhìn tổng chi phí, Fable giảm 5% với RTK: từ 731 USD xuống 698 USD, trong khi pass rate giảm từ 84% xuống 83%. DeepSeek đi theo chiều ngược lại: chi phí tăng từ 51 USD lên 54 USD, còn pass rate giảm từ 71% xuống 69%.
Khi chia toàn bộ chi phí, kể cả lượt thất bại, cho số lượt pass, Fable rẻ hơn 3% còn DeepSeek đắt hơn 7%. Nhưng tổng tiền có thể bị một task đắt bất thường chi phối, nên nhóm còn tính thay đổi trung bình theo từng task. Theo cách đó, Fable đắt hơn 1% và khoảng tin cậy 95% không cho thấy khác biệt rõ ràng so với zero. DeepSeek đắt hơn trung bình 17%.
Gần như toàn bộ phần tiết kiệm tổng của Fable đến từ task winning-avg-corewars, nơi cả hai cấu hình đều pass nhưng RTK hoàn thành với khoảng một nửa số lượt. Bỏ task này ra, mức tiết kiệm ở các task Fable còn lại nhỏ hơn 1%. Trên chính task đó, DeepSeek lại cần nhiều lượt và tốn hơn khi có RTK.
rtk gain không phải số token tính tiền
rtk gain lấy chênh lệch giữa output thô và output đã lọc theo byte rồi chia bốn. Nó không đếm token mà nhà cung cấp thực sự tính phí, cũng không tính các lượt tiếp theo do output bị thay đổi.
Trong 445 lượt DeepSeek có RTK, công cụ báo đã tiết kiệm 349,2 triệu token, tương đương 89%. Hai lần agent gọi head -1 train.txt chiếm 69% con số này: RTK so output bị giới hạn một dòng với toàn bộ file, dù lệnh gốc vốn không bao giờ trả cả file. Vì thế một lượt chạy có thể hiện mức “gain” lớn nhưng tổng chi phí vẫn cao hơn.
Ít output hơn vẫn có thể tạo thêm lượt
Khoảng một nửa lệnh Bash của Claude Code đã tự giới hạn output bằng head, tail hoặc wc. RTK cũng chỉ rewrite shell tool; các tool Read, Grep và Glob riêng của coding agent đi vòng qua nó. Trong baseline, output từ tool chỉ chiếm khoảng 11% input token của Fable và 40% của DeepSeek.
Với DeepSeek, RTK giảm 9% số ký tự terminal nhưng prompt token lại tăng 9%. Input chưa cache giảm 1%, input đã cache tăng 9%, và tổng số lượt tăng 18%. Trong 58 task DeepSeek cần nhiều lượt hơn, 44 task cũng đắt hơn; trong 28 task cần ít lượt hơn, 23 task rẻ hơn. Một lượt agent phát sinh có thể xóa sạch phần tiết kiệm từ việc nén output.
Một lỗi rewrite tạo 339 lần thất bại liên tiếp
Ở một lượt git-multibranch, agent dùng một flag của find mà rtk find 0.45.0 chưa hỗ trợ. Plugin rewrite lệnh sang RTK, RTK trả lỗi và yêu cầu dùng find trực tiếp, nhưng lần thử sau lại bị rewrite. Vòng lặp tạo 339 lỗi liên tiếp trong khoảng 12 phút. Task cuối cùng vẫn pass, song tốn gần chín lần baseline. Lỗi được sửa ở RTK 0.46.0 và xu hướng chung vẫn giữ nguyên ngay cả khi bỏ outlier này.
Dev nên quan tâm vì sao
Benchmark không chứng minh RTK vô dụng. Nó cho thấy RTK là một tối ưu hẹp, phụ thuộc model, task và cách agent dùng terminal; không có bằng chứng để xem đây là giải pháp giảm chi phí mặc định. JetBrains trước đó cũng thấy RTK thêm lượt ở mức effort thấp và không giảm chi phí ở mức effort cao.
Nếu muốn đánh giá một lớp nén context, hãy đo chi phí trên mỗi task pass, pass rate, số lượt, chất lượng kết quả và outlier lỗi. Đừng dùng số byte output bị loại hoặc dashboard “token saved” làm đại diện cho hóa đơn end-to-end.