Microsoft เปิดตัว TokenEconomizer ลดค่าใช้จ่าย Coding Agent ถึง 30.9%

ทีมวิจัยจาก Microsoft Research และ UC Berkeley เปิดตัว TokenEconomizer ตัวควบคุมค่าใช้จ่ายแบบโอเพนซอร์สสำหรับ coding agent โดยปลั๊กอินนี้จะเรียนรู้จากเซสชันการทำงานที่ผ่านมาใน repository เพื่อลดความสูญเสียในเซสชันถัดไป
TokenEconomizer สามารถทำงานร่วมกับ Claude Code, Codex, GitHub Copilot CLI และ Pi ได้ทันทีโดยไม่ต้องแก้ไข model weights หรือโค้ดของ agent จากการทดสอบบน SWE-Bench จำนวน 277 งาน พบว่าสามารถลดค่าใช้จ่ายเฉลี่ยลงได้ 18.4% ถึง 30.9% จากการตั้งค่า agent-model ทั้งหมด 5 รูปแบบ
TL;DR
- Package: มาในรูปแบบแพ็กเกจ Python มาตรฐานและปลั๊กอินสำหรับ agent พร้อมกลไกที่สลับเปลี่ยนได้ 3 แบบ
- Runs on: รองรับเครื่องที่รัน Claude Code, Codex, Copilot CLI หรือ Pi ด้วย Python 3.10 ขึ้นไป ไม่ต้องใช้ GPU และไม่มี API key แยกต่างหาก
- Performance: ลดค่าใช้จ่ายเฉลี่ยบน SWE-Bench ได้ 18.4% ถึง 30.9% และช่วยให้ราคาถูกลงในทุกการตั้งค่าทั้ง 30 repository
- Best: ประหยัดได้สูงสุด 30.9% เมื่อใช้ Claude Code ร่วมกับ Opus 4.8 (และแตะ 33.2% หากใช้ร่วมกับ RTK)
- Worst: ในการตรวจสอบ ReposVul ประหยัดได้เพียง 6.4% ถึง 9.3% และค่า Pass@1 ลดลง 1.0 จุดบน Opus 4.8
ทำไม coding agent ถึงเสีย token ไปโดยเปล่าประโยชน์?
ทุกรอบการทำงานของ agent (turn) จะมีการเรียกเก็บเงินซ้ำซ้อนจาก system prompt, tool schema ทุกตัวที่โหลด และประวัติการทำงาน (history) ทั้งหมด ทีมวิจัยวิเคราะห์งาน SWE-Bench 60 งานจาก 6 repositories โดยใช้ Claude Code ร่วมกับ Opus 4.8 และพบต้นเหตุความสูญเสีย 3 ประการ:
- Repeated discovery: ในกรณีที่มี 5 งานทำไปก่อนหน้า พบว่า 30% ของการเรียกใช้ tool เป็นการทำซ้ำการกระทำเดิม
- Unused tools: มี tool schema 23 ตัวที่โหลดทุกรอบ แต่ 16 ตัวไม่เคยถูกเรียกใช้ และมีเพียง 3 ตัวเท่านั้นที่ครอบคลุมการใช้งานถึง 98%
- Failure loops: การรันที่ล้มเหลว 10 ครั้งคิดเป็น 17% ของงานทั้งหมด แต่กลับกินงบประมาณไปถึง 32% ของค่าใช้จ่ายรวม
จากการทดสอบกลยุทธ์โอเพนซอร์สแบบคงที่ 3 แบบ ได้แก่ RTK, Serena และ RepoMap ของ Aider พบว่าไม่มีแบบใดประหยัดได้ครอบคลุมทุกสถานการณ์ โดยทั้ง 3 แบบช่วยลดต้นทุนใน Django แต่กลับทำให้ต้นทุนใน SymPy สูงขึ้น
TokenEconomizer ทำงานอย่างไร?
TokenEconomizer เป็นตัวควบคุมภายนอกที่มอง agent เป็น black box โดยจะเก็บสถานะแยกตาม repository จากร่องรอยการทำงาน (traces) ที่สำเร็จ และกำหนดนโยบาย 3 ประการผ่าน prompt, การตั้งค่า tool และ event stream ดังนี้:
-
Micro-skills LLM proposer จะเปลี่ยนบทสรุปการทำงานเป็นข้อเท็จจริงบรรทัดเดียว เช่น คำสั่งทดสอบที่ใช้งานได้ โดยมี regex detector คอยตรวจสอบร่องรอยงานในภายหลัง ข้อเท็จจริงจะถูกใส่ใน prompt เมื่อได้รับการยืนยัน 3 ครั้งในงานที่แก้ไขไฟล์ไม่ซ้ำกัน และหากข้อมูลผิดพลาดจะถูกคัดออกอย่างรวดเร็ว
-
Tool pruning เครื่องมือพื้นฐานอย่าง Shell, read, write และ edit จะถูกเก็บไว้เสมอ ส่วนเครื่องมืออื่นจะถูกปิดบัง (masked) หากไม่ถูกใช้งาน 3 งานติดต่อกัน หรือ LLM judge ตัดสินว่าไม่เกี่ยวข้อง โดยจะมีการเรียกคืนรายการเครื่องมือทั้งหมดทุกๆ 5 งานเพื่อตรวจสอบใหม่
-
Failure-loop intervention ตัวควบคุมจะเรียนรู้งบประมาณรอบการทำงาน (turn budget) โดยตั้งไว้ที่ 1.25 เท่าของเปอร์เซ็นไทล์ที่ 90 ของงานที่สำเร็จ หากพบความล้มเหลวซ้ำๆ LLM judge จะตัดสินว่า agent ติดหล่ม (stuck) หรือไม่ หากใช่จะทำการเปลี่ยนทิศทาง (redirect) 1 ครั้ง และสั่งหยุดหากยังเกิดลูปซ้ำ
ผลลัพธ์ของ SWE-Bench แสดงอะไรบ้าง?
| Setting | Cost vs default | Pass@1 default | Pass@1 TokenEconomizer |
|---|---|---|---|
| Claude Code + Sonnet 5 | -23.6% | 74.7 | 76.0 |
| Claude Code + Opus 4.8 | -30.9% | 74.0 | 73.0 |
| Codex + GPT-5.6 Terra | -24.7% | 73.8 | 74.7 |
| Codex + GPT-5.6 Sol | -26.1% | 80.1 | 81.7 |
| Copilot CLI + Sonnet 5 | -18.4% | 75.0 | 77.6 |
ที่มา: arXiv 2610.22732, Table 1. ต้นทุนรวมการเรียกใช้ controller ทั้งหมดแล้ว ใช้ 3 seeds ต่อการตั้งค่า
ค่า Pass@1 ดีขึ้นใน 4 จาก 5 การตั้งค่า โดยการประหยัดจะเพิ่มขึ้นตามเวลา เมื่อเข้าสู่งานที่หกทุก repository จะมีค่าใช้จ่ายถูกลงอย่างเห็นได้ชัด ผลการทดสอบเฉพาะบน Claude Code พบว่า tool pruning ประหยัดได้ 13.2%-17.7%, micro-skills 11.8%-14.3% และ loop guard 5.4%-7.1%
เปรียบเทียบกับเครื่องมือประหยัด token อื่นๆ อย่างไร?
| Feature | TokenEconomizer | RTK | Serena | Aider RepoMap |
|---|---|---|---|---|
| Approach | เรียนรู้นโยบายแยกตาม repository จากอดีต | บีบอัด output ของ shell command | MCP server พร้อมเครื่องมือโค้ดระดับ symbol | แผนที่จัดอันดับ symbols ใน prompt |
| Learns from earlier tasks | ใช่ | ไม่ | ไม่ | ไม่ |
| License | Apache 2.0 | Apache 2.0 CLI; BUSL-1.1 engine | GPL-3.0-or-later | Apache 2.0 |
| Agents | Claude Code, Codex, Copilot CLI, Pi | 18 AI coding tools | MCP client ใดๆ | Aider |
| Mean SWE-Bench cost change | -18.4% ถึง -30.9% | -8.9% ถึง +4.5% | ไม่ได้อยู่ในการรันหลัก | -6.1% ถึง +6.5% |
วิธีการติดตั้ง TokenEconomizer?
ปลั๊กอินนี้ต้องการ Python 3.10 ขึ้นไป สำหรับผู้ใช้ Claude Code ให้ทำการ clone repo และเพิ่มเป็น marketplace จากนั้นรันคำสั่ง:
claude plugin install tokeneconomizer@tokeneconomizerข้อมูลที่เรียนรู้จะถูกเก็บไว้ที่ ~/.tokeneconomizer โดยระบบจะเปิดใช้งาน tool pruning และ loop guard เป็นค่าเริ่มต้น ส่วน micro-skills จะปิดไว้เนื่องจากมีการเรียกใช้ model เพิ่มเติมในขั้นตอนเสนอไอเดีย
สรุปสาระสำคัญ
- TokenEconomizer ลดต้นทุน SWE-Bench ได้ 18.4% ถึง 30.9% โดยไม่ต้องปรับเปลี่ยนโครงสร้าง agent
- สามารถประหยัดค่าใช้จ่ายได้ในทุกการตั้งค่า repository ซึ่งเหนือกว่าเครื่องมืออย่าง RTK และ RepoMap
- กลไก Tool pruning เป็นส่วนที่ช่วยประหยัดได้มากที่สุดถึง 17.7%
- รองรับสัญญาอนุญาตแบบ Apache 2.0 ติดตั้งง่ายบนแพลตฟอร์มยอดนิยมอย่าง Claude Code และ GitHub Copilot CLI
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
