AgentFlow: ทางออกใหม่ในการทำงานร่วมกับ Coding Agent
นักพัฒนาแชร์ประสบการณ์สร้าง AgentFlow เฟรมเวิร์กขนาดเล็กเพื่อแก้ปัญหาโค้ดที่สร้างจาก AI ผิดพลาดและช่วยจัดการบริบทได้ดีกว่า Spec-Driven Development

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ทีมนักพัฒนาเขียนโค้ดด้วยมือลดลงเหลือเพียง 15% หรือน้อยกว่านั้น
- ความผิดพลาดของเอเจนต์สร้างภาระในการรีวิวโค้ดและสิ้นเปลืองโทเค็น
- AgentFlow ถูกพัฒนาขึ้นเพื่อป้องกันไม่ให้เอเจนต์ทำงานนอกลู่นอกทาง
- การถ่ายโอนบริบทและความเข้าใจงานที่ตรงกันคือความท้าทายหลัก
ในปัจจุบัน ปริมาณโค้ดที่เขียนด้วยมือลดลงอย่างมาก โดยบางทีมเขียนไม่เกิน 15% และสำหรับบางคนอาจเหลือเพียง 2% เท่านั้น การที่เอเจนต์เข้ามาเขียนโค้ดเกือบทั้งหมดทำให้บาร์ของคุณภาพโค้ดสูงขึ้นตามไปด้วย เนื่องจากทุกความผิดพลาดหมายถึงวงจรรีวิวที่เพิ่มขึ้น การเรียกใช้โมเดลซ้ำ และเวลาที่เสียไป
หลังจากใช้เวลาก่อสร้างโปรเจกต์ที่ซับซ้อนตั้งแต่ต้นพร้อมดูแลรักษาโค้ดเบสอื่น ๆ นานสิบเดือน นักพัฒนาพบว่าเคล็ดลับสำคัญไม่ใช่พรอมต์วิเศษที่ทำให้โมเดลเขียนโค้ดสมบูรณ์แบบได้ทันที แต่เป็นกระบวนการที่หยุดไม่ให้เอเจนต์เดินไปผิดทาง แนวทางนี้ถูกแพ็กเกจออกมาในชื่อ AgentFlow ซึ่งเป็นไมโครเฟรมเวิร์กที่ช่วยให้ผู้พัฒนาและเอเจนต์มีแนวทางร่วมกันในการจัดการงาน

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
ต้นกำเนิดของแนวทางนี้ไม่ใช่เรื่องใหม่ทั้งหมด โดยมีการรวบรวมชิ้นส่วนทักษะจากหลายแหล่งมาปรับใช้ และทดลองจริงกับงานพัฒนาซอฟต์แวร์ ปัญหาหลักที่ทำให้โค้ดที่สร้างโดยเอเจนต์ออกมาไม่ดีก็คล้ายคลึงกับโค้ดที่มนุษย์เขียน นั่นคือการส่ง1ต่อบริบทในโปรเจกต์ขนาดใหญ่เป็นเรื่องยาก พนักงานใหม่อาจไม่รู้ว่ามีเฮลเปอร์หรืออินเทอร์เฟซใดอยู่แล้ว แม้แต่พนักงานที่ทำงานมาแปดปีก็อาจไม่รู้ทุกการตัดสินใจในโค้ดเบส
การเปรียบเทียบเอเจนต์เหมือนพนักงานใหม่ในวันแรกทำงานช่วยให้เห็นภาพชัดเจนว่า ทำไมเอเจนต์ถึงมักเลือกโซลูชันที่ใกล้ที่สุดและเข้าใจง่ายที่สุดโดยไม่ตรวจสอบสถาปัตยกรรมเดิมอย่างละเอียด การสร้างกระบวนการร่วมกันจึงเป็นกุญแจสำคัญในการลดข้อผิดพลาดเหล่านี้
ปัญหาประการต่อมาคือความเข้าใจในตัวงาน ซึ่งมักเกิดขึ้นกับมนุษย์เช่นกัน ความเข้าใจของผู้จัดการและผู้พัฒนามักไม่ตรงกันตั้งแต่ต้น ความสมบูรณ์ของงานมักจะชัดเจนขึ้นในระหว่างลงมือสร้างจริง นอกจากนี้ยังมีปัญหาเรื่องการถ่ายโอนบริบทระหว่างเอเจนต์และแชท รวมถึงขนาดของการเปลี่ยนแปลงที่มากเกินไปจนเอเจนต์แก้ไขไฟล์นับร้อยและทำให้ดิฟฟ์ใหญ่เกินกว่าจะรีวิวได้ไหว
"Every new chat with an agent is like a developer's first day at the company."
Kachurun
เครื่องมือและเฟรมเวิร์กแบบเน้นสเปกอย่าง OpenSpec หรือ Spec Kit พยายามแก้ปัญหาเหล่านี้แต่ก็มีข้อจำกัดในตัว ทีมงานเคยใช้ OpenSpec อย่างหนักและชื่นชอบแนวทางนี้ แต่การจดจำคำสั่งและขั้นตอนทำให้ทีมงานไม่อยากใช้งาน สุดท้ายไดเรกทอรีสเปกโตจนไม่มีใครกล้ารับผิดชอบและต้องลบ1ทิ้งไปเพื่อหาวิธีที่ดีกว่า
หัวใจสำคัญของ AgentFlow ได้รับแรงบันดาลใจจากแนวทาง /grilling ของ Matt Pocock โดยบังคับให้เอเจนต์พิสูจน์ความเข้าใจในงานก่อนลงมือเขียนโค้ด ด้วยการอธิบายซ้ำ ระบุข้อสมมติ และสัมภาษณ์ผู้ใช้เกี่ยวกับประเด็นที่อาจเปลี่ยนผลลัพธ์ เพื่อป้องกันความผิดพลาดตั้งแต่ต้นทาง
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น