1 คะแนน โดย GN⁺ 2025-04-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 12 Factor Agents นำเสนอหลักการสำหรับการสร้างแอปพลิเคชัน LLM ที่เชื่อถือได้
  • จากประสบการณ์การใช้งาน AI agent framework พบว่าผลิตภัณฑ์ส่วนใหญ่ไม่ใช่เอเจนต์ที่แท้จริง
  • 12 Factor Agents สำรวจวิธีทำให้ซอฟต์แวร์ที่อิงกับ LLM มีคุณภาพดีพอที่จะส่งมอบให้ลูกค้าได้
  • 12 ปัจจัย ครอบคลุมเทคนิคหลักที่ช่วยเพิ่มความน่าเชื่อถือ ความสามารถในการขยายระบบ และความสามารถในการบำรุงรักษาของซอฟต์แวร์ LLM
  • การผสาน แนวคิดแบบโมดูลาร์ เข้ากับผลิตภัณฑ์เดิมคือวิธีส่งมอบซอฟต์แวร์ AI คุณภาพสูงได้อย่างรวดเร็ว

12 Factor Agents - หลักการสร้างแอปพลิเคชัน LLM ที่เชื่อถือได้

  • จากประสบการณ์การใช้งาน AI agent framework พบว่าผลิตภัณฑ์ส่วนใหญ่ไม่ใช่เอเจนต์ที่แท้จริง
  • 12 Factor Agents สำรวจวิธีทำให้ซอฟต์แวร์ที่อิงกับ LLM มีคุณภาพดีพอที่จะส่งมอบให้ลูกค้าได้
  • 12 ปัจจัย ครอบคลุมเทคนิคหลักที่ช่วยเพิ่มความน่าเชื่อถือ ความสามารถในการขยายระบบ และความสามารถในการบำรุงรักษาของซอฟต์แวร์ LLM
  • การผสาน แนวคิดแบบโมดูลาร์ เข้ากับผลิตภัณฑ์เดิมคือวิธีส่งมอบซอฟต์แวร์ AI คุณภาพสูงได้อย่างรวดเร็ว

สรุป: 12 ปัจจัย

  • แปลงภาษาธรรมชาติเป็นการเรียกใช้เครื่องมือ: เข้าใจวิธีใช้ภาษาธรรมชาติเพื่อเรียกใช้เครื่องมือ
  • เป็นเจ้าของพรอมป์ต์: การเป็นเจ้าของและจัดการพรอมป์ต์เป็นสิ่งสำคัญ
  • เป็นเจ้าของ context window: การเป็นเจ้าของและจัดการ context window เป็นสิ่งสำคัญ
  • เครื่องมือคือผลลัพธ์แบบมีโครงสร้าง: ควรมองเครื่องมือเป็นผลลัพธ์แบบมีโครงสร้าง
  • บูรณาการสถานะการทำงานและสถานะทางธุรกิจ: จัดการโดยรวมสถานะการทำงานและสถานะทางธุรกิจเข้าด้วยกัน

คำมั่นสัญญาของเอเจนต์

  • DAG (Directed Acyclic Graph): ซอฟต์แวร์สามารถแสดงเป็นกราฟแบบมีทิศทางได้ และตัว orchestrator ของ DAG ได้รับความนิยมอย่างมาก
  • คำมั่นสัญญาของเอเจนต์: การใช้เอเจนต์ทำให้สามารถทิ้ง DAG และปล่อยให้ LLM ตัดสินใจเส้นทางแบบเรียลไทม์ได้
  • เอเจนต์ทำงานเป็นลูป: เอเจนต์ทำงานในรูปแบบลูปที่ LLM ตัดสินใจขั้นตอนถัดไป เรียกใช้เครื่องมือ และเพิ่มผลลัพธ์เข้าไปใน context window

ทำไมต้อง 12-factor agents?

  • ข้อจำกัดของเฟรมเวิร์กเดิม: แม้ผู้สร้าง SaaS จำนวนมากพยายามสร้างเอเจนต์ แต่ด้วยข้อจำกัดของเฟรมเวิร์กเดิม ทำให้ยากที่จะไปถึงคุณภาพเกิน 80%
  • ความสำคัญของแนวคิดแบบโมดูลาร์: การผสานแนวคิดแบบโมดูลาร์เข้ากับผลิตภัณฑ์เดิมคือวิธีส่งมอบซอฟต์แวร์ AI คุณภาพสูงได้อย่างรวดเร็ว

แพตเทิร์นการออกแบบสำหรับแอปพลิเคชัน LLM ที่ยอดเยี่ยม

  • องค์ประกอบหลักของเอเจนต์: มีองค์ประกอบสำคัญที่ทำให้เอเจนต์ยอดเยี่ยม และเมื่อใช้เฟรมเวิร์กก็จะได้องค์ประกอบส่วนใหญ่เหล่านั้น
  • การผสานแนวคิดแบบโมดูลาร์: การผสานแนวคิดแบบโมดูลาร์เข้ากับผลิตภัณฑ์เดิมคือวิธีส่งมอบซอฟต์แวร์ AI คุณภาพสูงได้อย่างรวดเร็ว

แหล่งข้อมูลที่เกี่ยวข้อง

  • พอดแคสต์ Tool Use: กล่าวถึงประเด็นที่เกี่ยวข้องในตอนเดือนมีนาคม 2025
  • The Outer Loop: บล็อกที่ครอบคลุมประเด็นที่เกี่ยวข้อง
  • เว็บสัมมนา: จัดเว็บสัมมนาร่วมกับ @hellovai ว่าด้วยการดึงประสิทธิภาพ LLM ให้สูงสุด
  • โอเพนซอร์สเอเจนต์: สร้าง OSS agent โดยใช้วิธีวิทยานี้

1 ความคิดเห็น

 
GN⁺ 2025-04-17
ความคิดเห็นจาก Hacker News
  • เป็นวิกิที่มีประโยชน์มาก ขอบคุณและจะนำไปใช้อย่างแน่นอน เมื่อวานนี้ฉันเพิ่งทำ "AI Agents framework" ออกมา เฟรมเวิร์กนี้อิงกับ actor model, state machine และ aspect-oriented programming โดยเฉพาะชอบข้อ 5 และ 7

    • การรวมสถานะการทำงานและสถานะทางธุรกิจเข้าด้วยกัน
    • การเป็นเจ้าของ control flow ของตัวเอง
    • SecAI ทำสิ่งนี้ได้ดีมาก และในฐานะไลบรารี graph control flow การเรียก LLM ถูกฝังอยู่ในโหนดของกราฟ การไหลถูกเสริมด้วยการเจรจา การยกเลิก และความสัมพันธ์ของสถานะ ทำให้เป็นธรรมชาติมากขึ้น
    • สิ่งที่เฟรมเวิร์กอื่นมักพลาดคือเครื่องมือสำหรับนักพัฒนาโดยเฉพาะ สามารถโปรแกรมความล้มเหลว ตรวจสอบทุกขั้นตอนอย่างละเอียด และมีการส่งออกข้อมูลอัตโนมัติกับการผสานรวมที่เรียบง่าย
    • ได้ปล่อยเดโมทางเทคนิคตัวแรกแล้ว พร้อม reference implementation ที่แสดงเครื่องมือสำหรับนักพัฒนาทั้งหมด
    • ปุ่ม Send/Stop ทำให้เริ่ม/หยุดชั่วคราว/ทำงานต่อได้ด้วย API ที่เรียบง่าย และขยายได้เพราะมี network transparency
  • ยอดเยี่ยมมาก ระหว่างทำงานนี้มาหลายปี ฉันได้ทำรายการบทเรียนของตัวเองไว้ สิ่งที่สำคัญที่สุดคือการเป็นเจ้าของ planning loop ระดับล่างสุด

    • การวางแผนแบบไดนามิกก็ไม่เป็นไร แต่ควรเป็นเจ้าของ OODA loop และมีฮิวริสติกที่ตัดสินได้ว่ามันกำลังบรรจบไปสู่คำตอบหรือไม่
    • ควรฝัง workflow engine ไว้ และให้โมเดลสร้างข้อกำหนดของเวิร์กโฟลว์ที่จะรันบนเอนจินนั้น
  • ดีใจมากที่มีเนื้อหานี้ออกมาในเวลานี้ ขอบคุณ

    • กำลังคิดภาพ sandbox ด้านโสตทัศน์แบบ vvvv โดยมีแนวคิดให้แทรกโหนด LM หรือโหนดโครงข่ายประสาทเทียมภายในเครื่องแบบง่าย ๆ เพื่อให้ทำงานเฉพาะอย่าง และจำกัดผลลัพธ์ให้มาก
    • โฟลว์จากคำถามไปสู่คำตอบน่าสนใจมาก และไปป์ไลน์หลายขั้นตอนก็น่าสนใจมากเช่นกัน
  • สงสัยว่าไลบรารีอย่าง DSPY เข้ากับ factor-2 อย่างไร

    • เห็นตัวอย่างที่ใช้ BAML เพื่อสร้างพรอมป์ต์ การเขียนพรอมป์ต์ด้วยมือเพื่อดึงข้อมูลที่มีโครงสร้างออกจากข้อมูลที่ไม่มีโครงสร้างนั้นไม่ง่าย
    • อยากรู้ว่าคิดอย่างไรกับการใช้ raw prompt ของ DSPY
  • เป็นบล็อกโพสต์เก่า แต่เรื่องแพตเทิร์นของเฟรมเวิร์กนี้ตรงกับประสบการณ์ตลอดอาชีพของฉัน LLM เหมาะจะใช้เป็นไลบรารีมากกว่าเป็นเฟรมเวิร์ก

    • เฟรมเวิร์กดูน่าดึงดูดกว่า ขายง่ายกว่า และนำไปสู่ lock-in กับบริการเสริม
  • ยอดเยี่ยมมาก 80% เป็นสิ่งที่ฉันเรียนรู้มาด้วยความยากลำบาก และอีก 20% ที่เหลือก็น่าจะเป็นสิ่งที่คุ้มค่าแก่การอ่าน

    • ประสบความสำเร็จกับ LangGraph และ pydantic schema อยากรู้ว่าคนอื่นมองว่าอะไรมีประโยชน์
  • อีกอย่างหนึ่ง: ต้องวางแผนต้นทุนเมื่อขยายระบบ

    • เมื่อต้องขยาย ระบบอาจมีต้นทุนสูงมาก ดังนั้นสิ่งใดที่จัดการได้ด้วยองค์ประกอบแบบกำหนดแน่นอนก็ควรลองก่อน จะช่วยลด hallucination และ latency และสร้างความแตกต่างอย่างมากในการลดต้นทุน
  • ถ้าจะให้ทำตามหลักการได้ง่ายขึ้น จำเป็นต้องมี narrative ที่สอดคล้องกัน การใช้ตัวอย่างจากโลกจริงจะดี

  • ดีใจมากที่ขึ้นหน้าแรกของ HN

  • เจ๋งมากที่ได้เห็น BAML อยู่ที่นี่ เห็นด้วย 100% กับการปฏิบัติต่อ LLM เหมือนฟังก์ชัน