AI Agent ล้มเหลวเพราะสถาปัตยกรรมที่ยุ่งเหยิง
AI Agent มักจะดูเหมือนแข็งแกร่ง แต่จริงๆ แล้วยังเปราะบาง
เมื่อ 12 ชั่วโมงที่แล้ว ระบบ Skill ของผมมีสภาพเป็นแบบนี้:
- Skill 34 อย่าง กระจัดกระจายอยู่ใน 3 directory ที่ต่างกัน
- Skill 28 อย่างระบุว่าเคลื่อนที่ได้ แต่มีเพียง 2 อย่างเท่านั้นที่เคลื่อนที่ได้จริง
- ระบบจัดการสองระบบไม่สามารถสื่อสารกันได้
- เครื่องมือหนึ่งลบโค้ดไป 100 บรรทัดใน Skill หนึ่งโดยที่ไม่มีใครรู้ตัว
คนส่วนใหญ่มักจะชื่นชม Large Language Model พวกเขาคิดว่าโมเดลคือขุมพลัง แต่จริงๆ แล้วโมเดลเป็นเพียงแค่สมอง Agent ที่ทำงานได้จริงต้องการ 4 สิ่งนี้:
- Memory
- Skills
- Hooks
- Extensions
หากส่วนใดส่วนหนึ่งล้มเหลว Agent ก็จะล้มเหลว ความผิดพลาดของผมไม่ใช่บั๊ก แต่มันคือความแตกแยก (fragmentation) ผมมีเส้นทางที่ขาดตอนและลิงก์ที่หายไป
อันตรายในการพัฒนา AI คือการใช้เครื่องมือทันทีโดยไม่มีแผน คุณเพิ่ม Firecrawl, Crawl4ai และ MCP server ต่างๆ เพื่อประหยัดเวลา แต่เมื่อคุณมี Skill จากบุคคลที่สาม (third-party) ถึง 115 อย่าง สิ่งที่จะเกิดขึ้นคือ:
- การตั้งชื่อซ้ำกัน (Naming conflicts): Skill สองอย่างที่มีชื่อเหมือนกันจะทำให้ระบบล่ม
- สภาพแวดล้อมปนเปื้อน (Environment pollution): Skill หนึ่งทำลายสภาพแวดล้อมของอีก Skill หนึ่ง
- การอัปเดตที่ผิดพลาด (Broken updates): การอัปเดต API ทำให้สายโซ่การทำงานของคุณขาดสะบั้นลงโดยไม่รู้ตัว
นี่คือภาวะเอนโทรปีทางสถาปัตยกรรม (architectural entropy) เมื่อระบบเติบโตขึ้น มันก็จะติดตามตรวจสอบได้ยากขึ้น
อย่ารอให้โปรเจกต์นิ่งก่อนค่อยจัดระเบียบ เพราะนั่นคือกับดัก ผมใช้เวลา 12 ชั่วโมงในการแก้ไขระบบของผม:
- ผมรวม directory ที่กระจัดกระจายให้เหลือเพียง 2 เส้นทางที่สะอาดตา
- ผมเพิ่มระบบตรวจสอบ (gate) เพื่อตรวจจับการลบโดยไม่ตั้งใจ
- ผมสร้างกฎเพื่อแจ้งเตือนผู้สร้างหลังจากมีการเปลี่ยนแปลงระบบใดๆ
- ผมลบไฟล์เก่าที่ไม่จำเป็นทิ้งไป
นี่ไม่ใช่การพัฒนาฟีเจอร์ใหม่ แต่มันคือการดูแลสุขอนามัยทางสถาปัตยกรรม (architecture hygiene) สุขอนามัยคือการลงทุนแบบทบต้น มันไม่ใช่แค่ค่าใช้จ่ายในการบำรุงรักษา
หากคุณสร้าง AI Agent ให้ทำตามกฎนี้: กำหนดกฎสำหรับ Memory และ Skills ตั้งแต่วันแรก
ถามคำถามเหล่านี้ตั้งแต่เนิ่นๆ:
- Memory จะถูกเก็บไว้ที่ไหน?
- คุณจัดการเวอร์ชันอย่างไร?
- Skill จะถูกเก็บไว้ที่ไหนเพื่อหลีกเลี่ยงการตั้งชื่อซ้ำ?
- ใครเป็นคนบันทึกความเชื่อมโยง (dependencies) ระหว่าง Extensions?
- ใครจะเป็นคนตรวจสอบ (audit) อย่างสม่ำเสมอ?
คำตอบเหล่านี้จะเป็นตัวกำหนดว่า Agent ของคุณจะเติบโตได้ใหญ่แค่ไหน คอขวดของ AI ไม่ใช่จำนวนพารามิเตอร์ แต่มันคือบ้านที่ยุ่งเหยิง
Optional learning community: https://t.me/GyaanSetuAi
