RTK: nén output lệnh terminal trước khi tới Claude Code để bớt tốn token
Tóm tắt
RTK (Rust Token Killer) là công cụ dòng lệnh rút gọn output của các lệnh terminal trước khi đưa vào ngữ cảnh của AI agent. Với Claude Code, nó cài một PreToolUse hook để tự động thay git status bằng rtk git status, v.v.
Khi Claude Code chạy git status, npm test hay docker ps, toàn bộ output của lệnh được đưa vào ngữ cảnh — kể cả hàng trăm dòng log, cảnh báo lặp lại và định dạng trang trí mà agent không cần. Với repo có test suite lớn, phần output này có thể chiếm tỉ lệ đáng kể trong token input của cả phiên. RTK (Rust Token Killer) giải quyết đúng điểm đó: nén output của lệnh terminal trước khi nó tới mô hình.
Vấn đề RTK nhắm tới
Mỗi lượt gọi model đều gửi lại toàn bộ lịch sử hội thoại, trong đó có kết quả của mọi lệnh đã chạy. Một lần pytest in 400 dòng sẽ bị trả lại ở mọi lượt sau đó. Cắt bớt những dòng không mang thông tin (đường dẫn lặp, banner, tiến trình) vừa giảm chi phí, vừa giúp agent bớt “nhiễu” khi đọc kết quả.
Cách hoạt động
- Cài RTK, rồi chạy
rtk init -gđể thêm hook vào Claude Code. - Hook
PreToolUsechặn lệnh Bash của agent và viết lại thành phiên bản RTK, ví dụgit status→rtk git status. - RTK chạy lệnh thật, rút gọn output theo từng loại lệnh rồi trả về.
- Agent nhận output đã nén — vẫn đủ thông tin để quyết định bước tiếp theo.
| Điểm | Chi tiết |
|---|---|
| Hỗ trợ | Hơn 100 lệnh: git, gh, npm/pnpm, jest/vitest, tsc, pytest, ruff, go test, cargo, docker, kubectl, terraform… |
| Mức tiết kiệm | Tới khoảng 90% output bash theo công bố của dự án; vì output bash chỉ là một phần token input nên tổng chi phí giảm ít hơn |
| Giới hạn | Chỉ chặn tool Bash; các tool Read/Grep/Glob có sẵn của Claude Code không đi qua hook |
| Giấy phép | CLI theo Apache-2.0; một số thành phần engine/proxy theo BUSL-1.1 (có bản rtk-oss thuần Apache-2.0) |
Khi nào đáng dùng?
- Repo có test suite lớn, log build dài, nhiều lần chạy lệnh trong một phiên.
- Phiên làm việc dài, nơi output cũ bị gửi lại liên tục.
- Team muốn giảm chi phí mà không đổi cách làm việc: hook chạy trong suốt với agent.
Rủi ro cần kiểm soát
- Nén quá tay: với lệnh quan trọng (test thất bại, lỗi build), kiểm tra agent vẫn thấy đủ chi tiết lỗi. Nếu cần, chạy lệnh gốc để đối chiếu.
- Trùng tên: có dự án khác cũng tên “rtk” trên crates.io. Sau khi cài, chạy
rtk --versionvàrtk gainđể chắc đúng gói. - Hook có quyền rộng: hook viết lại mọi lệnh Bash; hãy đọc mã nguồn và cấu hình trước khi bật cho repo công ty.
- Con số quảng cáo: mức 90% là của chính dự án. Tự đo trước/sau trên repo của bạn.
Cách đo hiệu quả
- Chạy một tác vụ chuẩn (ví dụ sửa một bug có test) với và không có RTK.
- So sánh số token input trong báo cáo usage của hai phiên.
- Kiểm tra chất lượng: agent có sửa đúng không, có phải chạy lại lệnh vì thiếu thông tin không.
Áp dụng thế nào?
- Dev: thử trên một repo lớn trong một tuần, ghi lại mức giảm token thực tế.
- Tech Lead: nếu hiệu quả, đưa cấu hình hook vào tài liệu onboarding của team.
- PM: đây là một trong những cách giảm chi phí AI ít rủi ro nhất vì không đổi chất lượng đầu ra — nhưng chỉ nên báo cáo con số đo được, không phải con số quảng cáo.