ทีม Princeton SWE-bench ได้เปิดตัว coding agent ที่เรียบง่ายอย่างน่าประหลาดใจซึ่งมีประสิทธิภาพดีใน software engineering benchmarks โดยใช้โค้ดเพียง 100 บรรทัด วิธีการแบบมินิมอลนี้ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนาเกี่ยวกับว่าเครื่องมือที่เรียบง่ายอาจมีประสิทธิภาพมากกว่าทางเลือกที่ซับซ้อนและมีฟีเจอร์มากมาย
ข้อมูลจำเพาะของ Princeton Mini-SWE-Agent
- ฐานโค้ด: โค้ด Python ประมาณ 100 บรรทัด
- เครื่องมือหลัก: คำสั่ง Bash และการดำเนินการ shell พื้นฐาน
- ความเข้ากันได้กับโมเดล: ทำงานได้กับ LLM ใดๆ ไม่ว่าจะมีขนาดเท่าไหร่
- สถาปัตยกรรม: ระบบแบบ prompt-based อย่างง่ายพร้อมการรันคำสั่ง shell
- Repository: มีให้บน GitHub ในชื่อ SWE-agent/mini-swe-agent
คำสั่ง Bash ง่ายๆ มีประสิทธิภาพเหนือกว่าเครื่องมือเฉพาะทาง
mini-swe-agent ของทีม Princeton อาศัยคำสั่ง bash พื้นฐานเป็นหลักมากกว่าเครื่องมือโปรแกรมมิ่งเฉพาะทาง วิธีการนี้ขัดแย้งกับความเชื่อทั่วไปที่ว่า coding agents ต้องการเครื่องมือที่ซับซ้อนหลายตัวเพื่อจัดการกับงานต่างๆ ได้อย่างมีประสิทธิภาพ agent นี้ใช้คำสั่ง shell ที่ตรงไปตรงมาสำหรับการดำเนินการไฟล์ การค้นหาโค้ด และงานแก้ไขที่ agents อื่นๆ จัดการด้วยเครื่องมือเฉพาะทาง
การอภิปรายในชุมชนเผยให้เห็นว่าวิธีการแบบมินิมอลิสต์นี้มีข้อได้เปรียบที่ไม่คาดคิด agent สามารถทำงานกับ large language model ใดๆ ไม่ว่าจะมีขนาดเท่าไหร่ ในขณะที่ทางเลือกที่ใช้เครื่องมือมากมายมักจะมีปัญหากับโมเดลที่เล็กกว่า ความยืดหยุ่นนี้ทำให้วิธีการเรียบง่ายเข้าถึงได้ง่ายและคุ้มต้นทุนมากกว่าสำหรับนักพัฒนาที่ทำงานด้วยทรัพยากรที่จำกัด
![]() |
---|
การใช้งาน JavaScript แบบง่ายๆ ของปัญหา FizzBuzz แบบคลาสสิกที่แสดงให้เห็นความเรียบง่ายในการเขียนโค้ด |
ประสิทธิภาพ Token และความกังวลเรื่องต้นทุนเป็นตัวขับเคลื่อนการตัดสินใจออกแบบ
การถกเถียงขยายไปเกินกว่าการทำงานไปถึงการพิจารณาทางเศรษฐกิจ นักพัฒนากำลังกังวลมากขึ้นเกี่ยวกับต้นทุนของการรัน coding agents เนื่องจากการดำเนินการแต่ละครั้งใช้ API tokens ที่มีราคาแพง วิธีการของทีม Princeton แก้ไขปัญหานี้โดยการลดความซับซ้อนของการโต้ตอบระหว่าง AI model และ codebase
You just keep throwing money at the loop, and then you've got yourself an agent.
อย่างไรก็ตาม ชุมชนยังคงแบ่งแยกความคิดเห็นเกี่ยวกับว่าเครื่องมือเฉพาะทางปรับปรุงประสิทธิภาพได้ดีพอที่จะสมเหตุสมผลกับความซับซ้อนหรือไม่ นักพัฒนาบางคนโต้แย้งว่าเครื่องมือ file-listing และ code-editing เฉพาะทางให้ผลลัพธ์ที่ดีกว่าเพราะ AI models สมัยใหม่ได้รับการฝึกฝนเฉพาะกับ tool patterns เหล่านี้ คนอื่นๆ ยืนยันว่าคำสั่ง bash ให้การทำงานที่เพียงพอในขณะที่รักษาความเรียบง่าย
การเปรียบเทียบเครื่องมือ: แนวทางแบบเรียบง่ายเทียบกับแบบซับซ้อน
- แนวทางมินิมอลลิสต์: ใช้เพียงเครื่องมือ Bash เท่านั้น รองรับ LLM ได้หลากหลาย ใช้ token น้อยกว่า
- แนวทางแบบดั้งเดิม: ใช้เครื่องมือเฉพาะทางหลายตัว (การแสดงรายการไฟล์ การแก้ไขโค้ด การค้นหา) ใช้ token มากกว่า ประสิทธิภาพดีกว่าเมื่อใช้กับโมเดลขนาดใหญ่
- ปัจจัยด้านต้นทุน: การใช้ token ส่งผลโดยตรงต่อต้นทุนการดำเนินงาน ทำให้แนวทางที่เรียบง่ายประหยัดกว่า
- การแลกเปลี่ยนประสิทธิภาพ: เครื่องมือเฉพาะทางอาจให้ความแม่นยำที่ดีกว่า แต่ต้องใช้ทรัพยากรการคำนวณมากกว่า
![]() |
---|
ผลกระทบของการเลือกใช้เครื่องมือเขียนโค้ดแบบง่ายต่อประสิทธิภาพและต้นทุนในการพัฒนาซอฟต์แวร์ |
คำถามเกี่ยวกับประสิทธิภาพในโลกแห่งความจริงยังไม่ได้รับคำตอบ
แม้จะมีความสำเร็จทางเทคนิค สมาชิกในชุมชนกำลังถามคำถามสำคัญเกี่ยวกับการประยุกต์ใช้ในทางปฏิบัติ นักพัฒนาหลายคนต้องการเห็นหลักฐานของ agents เหล่านี้ที่ทำโปรเจ็กต์ในโลกแห่งความจริงขนาดใหญ่สำเร็จ ไม่ใช่แค่งาน benchmark ช่องว่างระหว่างการสาธิตและการใช้งานจริงยังคงเป็นความกงวลที่สำคัญ
การอภิปรายยังเน้นย้ำถึงความท้าทายที่ยังคงอยู่กับ AI coding agents รวมถึงแนวโน้มที่จะทำการเปลี่ยนแปลงที่ไม่จำเป็น ติดอยู่ใน error loops และมีปัญหากับ codebase ขนาดใหญ่ที่มีอยู่แล้ว ปัญหาเหล่านี้ยังคงอยู่ไม่ว่า agents จะใช้ tool sets ที่เรียบง่ายหรือซับซ้อน ซึ่งบ่งชี้ว่าวิธีการพื้นฐานสำหรับ AI-assisted coding อาจต้องการการปรับปรุงเพิ่มเติม
งานของทีม Princeton แสดงให้เห็นว่า coding agents ที่มีประสิทธิภาพไม่จำเป็นต้องใช้สถาปัตยกรรมที่ซับซ้อน ในขณะที่เทคโนโลยียังคงพัฒนาอย่างรวดเร็ว วิธีการที่เรียบง่ายนี้อาจมีอิทธิพลต่อวิธีที่นักพัฒนาสร้างและใช้งาน AI coding assistants ในเวิร์กโฟลว์ประจำวันของพวกเขา
Reference: How to build a coding agent. Free workshop