Microsoft FastContext ช่วยลดจำนวน Token ของ Coding Agent ลงถึง 60%
Coding agent เสียเวลามากเกินไปกับการค้นหาโค้ด
เมื่อ agent ค้นหาใน repository มักจะดึงไฟล์ทุกไฟล์เข้ามาไว้ใน context window ของตัวเอง สิ่งนี้ทำให้ "โต๊ะทำงาน" เต็มไปด้วยข้อมูลดิบ ก่อนที่ agent จะเริ่มเขียนโค้ดเสียด้วยซ้ำ
นักวิจัยของ Microsoft ได้ศึกษาข้อมูลการทำงาน (traces) ของ GPT-5.4 และพบปัญหาใหญ่หลวง:
- การค้นหาและอ่านโค้ดใช้เวลาไปถึง 56.2% ของการใช้เครื่องมือทั้งหมด
- มันใช้ token ไปถึง 46.5% ของ token ทั้งหมดของ main agent
ข้อมูลส่วนใหญ่เป็นข้อมูลที่มีสัญญาณต่ำ (low signal) agent ต้องการเพียงไม่กี่บรรทัด แต่กลับต้องแบกไฟล์ทั้งไฟล์ไปด้วย
Microsoft จึงได้ปล่อย FastContext ออกมาเพื่อแก้ปัญหานี้
แทนที่ main agent จะเป็นคนค้นหาเอง มันจะใช้ subagent ที่ทำหน้าที่เป็น explorer โดยเฉพาะ ให้ลองนึกภาพว่าเหมือนกับบรรณารักษ์ คุณนั่งอยู่ที่โต๊ะทำงาน แล้วส่งบรรณารักษ์เข้าไปในชั้นวางหนังสือเพื่อหาข้อมูลแทน
วิธีการทำงาน:
- main agent ส่งคำสั่งภาษาธรรมชาติ (natural language query) ไปยัง explorer
- explorer ใช้เครื่องมือแบบ read-only เช่น Read, Glob และ Grep
- explorer ค้นหาโค้ดใน context แยกต่างหากของมันเอง
- แทนที่จะส่งไฟล์ทั้งไฟล์กลับมา มันจะส่ง "การอ้างอิงตำแหน่งบรรทัดในไฟล์" (file-line citation) กลับมาแทน
- การอ้างอิงจะมีลักษณะดังนี้: path/to/file.ts:88-104
main agent จะได้รับตำแหน่งที่แน่นอนโดยไม่ต้องรับข้อความจำนวนมหาศาล
ผลลัพธ์ที่ได้นั้นน่าทึ่ง:
- ลดการใช้ token ได้สูงสุดถึง 60%
- เพิ่มอัตราการทำงานสำเร็จ (task resolution rates) ได้สูงสุดถึง 5.5%
โมเดล explorer (4B-30B) ผ่านขั้นตอนการฝึกฝนสองระยะ ระยะแรกคือ supervised fine-tuning เพื่อสอนวิธีการสำรวจ และระยะที่สองคือ task-grounded reinforcement learning เพื่อให้มั่นใจว่ามันจะค้นหาหลักฐานที่ช่วยให้ main agent แก้ปัญหาได้จริง ๆ
ด้วยการโยนภาระการค้นหาข้อมูลมหาศาล (haystack) ไปให้ subagent ทำให้ main agent สามารถรักษา context window ให้สะอาด เพื่อใช้สำหรับการใช้เหตุผล (reasoning) และการเขียนโค้ดจริง ๆ
ชุมชนแห่งการเรียนรู้เพิ่มเติม: https://t.me/GyaanSetuAi