rtk - พร็อกซี CLI ที่ช่วยลดการใช้โทเค็นของ LLM ได้ 60~90%
(github.com/rtk-ai)- ไบนารี Rust แบบไฟล์เดียว (Windows/macOS/Linux) ที่ กรอง·บีบอัด เอาต์พุตของคำสั่ง CLI ที่เครื่องมือเขียนโค้ด AI รัน ก่อนส่งต่อให้ LLM เพื่อช่วย ลดโทเค็นลง 60~90%
- รองรับ คำสั่งมากกว่า 100 รายการ เช่น git, grep, ls, cargo test และใช้ 4 กลยุทธ์คือ การกรองอัจฉริยะ การจัดกลุ่ม การตัดทอน และการลบข้อมูลซ้ำ ก่อนส่งเอาต์พุตของคำสั่งเข้าไปในคอนเท็กซ์ของ LLM
- รองรับเครื่องมือเขียนโค้ด AI 10 ตัว เช่น Claude Code, Codex, Cursor, Gemini CLI และเมื่อติดตั้ง hook แล้ว จะเขียนคำสั่ง bash ใหม่แบบโปร่งใสให้กลายเป็นคำสั่งเดียวกันของ rtk โดยอัตโนมัติ
- hook นี้ใช้กับการเรียก Bash tool เท่านั้น และเครื่องมือในตัวของ Claude Code อย่าง
Read,Grep,Globเป็นต้น จะข้ามการ hook นี้ไป ดังนั้นหากต้องการใช้การกรองของ RTK ต้องใช้คำสั่งเชลล์หรือคำสั่ง rtk แบบระบุชัดเจน
- hook นี้ใช้กับการเรียก Bash tool เท่านั้น และเครื่องมือในตัวของ Claude Code อย่าง
- ปริมาณที่คาดว่าจะประหยัดได้สำหรับเซสชัน Claude Code 30 นาที คือจากมาตรฐาน ~118,000 โทเค็น เหลือ ~23,900 โทเค็น (ประหยัดประมาณ 80%)
- ใน test runner เช่น
cargo test/npm test,pytest,go testสามารถประหยัดได้สูงสุดถึง 90%
- ใน test runner เช่น
- วิธีเริ่มต้นใช้งาน
# 1. Install rtk init -g # Claude Code / Copilot (default) rtk init -g --gemini # Gemini CLI rtk init -g --codex # Codex (OpenAI) rtk init -g --agent cursor # Cursor # 2. จากนั้นรีสตาร์ตเครื่องมือ AI git status # ตอนนี้จะทำงานเป็น rtk git status - ไลเซนส์ Apache-2.0
9 ความคิดเห็น
สุดท้ายมันก็เป็นการแลกกับคุณภาพอยู่ดี ก็เลยอดกังวลไม่ได้ว่าโครงสร้างมันจะกลายเป็นต้องใช้โทเค็นเพิ่มขึ้นเพื่อกู้คืนคุณภาพที่หายไปหรือเปล่า
เคยลองใช้มาก่อน แต่สุดท้ายก็เอาออก เพราะ Claude มักจะใช้โทเคนมากขึ้นไปอีกเพื่อแก้ปัญหาที่เกิดจาก rtk
(ตัวอย่างเช่น เวลาเรียกขอ JSON ด้วย
curlมันกลับสร้าง JSON ที่ไม่ถูกต้อง ทำให้jqโยน error แล้ว Claude ก็ไปดีบักสิ่งนี้จนเผาโทเคนไปเรื่อย ๆ สุดท้ายก็กลับมารับคำขอcurlแบบ raw ใหม่แล้วค่อยพาร์สด้วยjq)ถึงอย่างนั้นก็ยังคิดว่าแนวคิดตั้งต้นเป็นความพยายามที่ดี ถ้าทำให้เสถียรได้ก็น่าจะเป็นอะไรที่น่าลองใช้อยู่ครับ
ไม่แน่ใจว่าลดได้จริงไหม พอลองบอกให้ agent ใช้คำสั่ง
rtk ls..อยู่เรื่อย ๆ ก็ไม่ยอมใช้ผมเองก็ลองใช้อยู่เหมือนกันครับ.. แต่ดูเหมือนว่าจะแล้วแต่กรณี เพราะด้วยการบีบอัดของ rtk บางครั้ง Claude Code ก็ไม่สามารถดึงคอนเท็กซ์ที่จำเป็นจากผลลัพธ์ของคำสั่งได้
ผมก็รู้สึกเสียดายในส่วนนั้นเหมือนกันครับ!
ช่วงนี้มีอัปเดตล่าสุดที่บันทึก full output แยกไว้เป็นไฟล์ต่างหาก ทำให้ LLM สามารถอ่านได้เมื่อจำเป็น~
ดูเหมือนว่าจะมีผลข้างเคียงเล็กน้อยในกรณีการใช้งานของผู้ใช้อื่น ๆ
หวังว่าจะสามารถแก้ไขได้โดยเร็วและนำไปใช้งานได้อย่างราบรื่นนะครับ
https://reddit.com/r/ClaudeCode/…
ถ้าช่วยลดได้ดี ก็คงดีมากเลยนะครับ!
ไอเดียดีนะ
แต่เนื่องจากคงฝึกมาบนเกณฑ์เอาต์พุตของ CLI ทั่วไป ก็เลยกังวลนิดหน่อยว่าถ้าย่อแบบนี้แล้ว เอาต์พุตจะยังออกมาได้ดีเหมือนเดิมไหม
เดี๋ยวจะลองใช้ดูครับ
งั้นคงต้องลองเปรียบเทียบกับ contextmode ดูแล้วล่ะ