เนื้อหากล่าวถึงว่า นิสัยจากวิศวกรรมซอฟต์แวร์แบบดั้งเดิม (เชิงกำหนดแน่นอน, ควบคุมอย่างเข้มงวด) กลับกลายเป็นอุปสรรคในการพัฒนา AI Agent (เชิงความน่าจะเป็น, เน้นความยืดหยุ่น)

  • ตามที่ Philipp Schmid แห่ง Hugging Face ชี้ให้เห็น ยิ่งเป็นนักพัฒนาระดับซีเนียร์มากเท่าไร ก็ยิ่งพยายาม “กำจัด” ความไม่แน่นอนของ LLM ด้วยโค้ด จนทำงานช้ากว่านักพัฒนาจูเนียร์
  • อุปมา: ต้องเปลี่ยนบทบาทจากผู้ควบคุมการจราจรทางอากาศ (แบบดั้งเดิม) → ผู้ประสานงานส่งงาน (Agent)
  1. ข้อความคือสถานะ (State) แบบใหม่
    • กับดัก: หากบังคับให้อินพุตภาษาธรรมชาติกลายเป็นข้อมูลแบบมีโครงสร้าง (เช่น true/false) จะทำให้บริบทสูญหาย
    • ทางแก้: เก็บฟีดแบ็ก (เช่น “อนุมัติ, โฟกัสตลาดสหรัฐฯ”) ไว้เป็นข้อความ เพื่อให้ปรับเปลี่ยนแบบไดนามิกได้

  2. ส่งมอบอำนาจการควบคุม
    • กับดัก: หากฮาร์ดโค้ดลำดับการทำงาน (เช่น เส้นทางยกเลิกการสมัครสมาชิก) จะรับมือกับปฏิสัมพันธ์ที่ไม่เป็นเส้นตรงไม่ได้
    • ทางแก้: เชื่อถือให้ Agent (LLM) ตัดสินเจตนาจากบริบท

  3. ข้อผิดพลาดก็เป็นเพียงอินพุตอย่างหนึ่ง
    • กับดัก: เมื่อเกิดข้อผิดพลาดแล้วหยุดโปรแกรมทันที (วิธีดั้งเดิม) ทำให้สิ้นเปลืองการรันที่มีต้นทุนสูง
    • ทางแก้: ป้อนข้อผิดพลาดกลับเป็นฟีดแบ็ก เพื่อให้ Agent พยายามกู้คืนได้ด้วยตนเอง

  4. จาก Unit Test ไปสู่ Eval
    • กับดัก: การใช้การทดสอบแบบไบนารี (TDD) กับระบบเชิงความน่าจะเป็นนั้นแทบไม่มีความหมาย (เพราะมีคำตอบที่ถูกต้องได้ไม่สิ้นสุด)
    • ทางแก้: จัดการความผันผวนด้วยความน่าเชื่อถือ (Pass@k), คุณภาพ (LLM Judge) และการติดตามผล (Eval)

  5. Agent วิวัฒนาการได้ แต่ API ไม่ได้
    • กับดัก: เมื่อใช้ API ที่ออกแบบเพื่อมนุษย์เป็นศูนย์กลาง (มีบริบทแฝงโดยนัย) จะทำให้ Agent เกิดอาการหลอน
    • ทางแก้: ทำให้ชัดเจนด้วย semantic typing แบบละเอียด (เช่น user_email_address) และ docstring ที่อธิบายชัดเจน โดย Agent สามารถปรับตัวเข้ากับการเปลี่ยนแปลงของเครื่องมือได้

บทสรุป

จงยอมรับความเป็นเชิงความน่าจะเป็น และจัดการมันด้วย Eval/การแก้ไขตนเอง “เชื่อใจ แต่ต้องตรวจสอบ” — แก่นสำคัญคือการสร้างระบบที่ยืดหยุ่น แทนที่จะยึดติดกับความเข้มงวด (ที่มาของต้นฉบับ: “Why (Senior) Engineers Struggle to Build AI Agents” ของ Philipp Schmid)

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น