• หากต้องการนำเอเจนต์ไปใช้งานที่เป็นประโยชน์ได้อย่างเสถียร แค่มีโมเดลที่ดีอย่างเดียวไม่พอ แต่ต้องมี harness ที่ออกแบบให้เหมาะกับชุดงานด้วย
  • agent loop พื้นฐานที่สุดคือโครงสร้างที่ให้คอนเท็กซ์กับ LLM และเรียกใช้เครื่องมือซ้ำ ๆ จนกว่างานจะเสร็จ
  • จากนั้นสามารถสร้างเอเจนต์ที่มีประสิทธิภาพยิ่งขึ้นได้ด้วยการ ซ้อนทับ (stacking) validation loop, event-driven loop และ hill-climbing loop เข้าไป
  • แต่ละชั้นของลูปสามารถทำ instrumentation ได้ด้วย LangChain primitives และอธิบายผ่านตัวอย่างเอเจนต์สำหรับเขียนเอกสารภายใน
  • ศักยภาพที่แท้จริงไม่ได้อยู่ที่ตัวโมเดลเอง แต่อยู่ที่ ลูปที่สร้างล้อมรอบเอเจนต์

Loop 1: agent loop

  • โดยแก่นแล้ว เอเจนต์คือ โมเดล ที่เรียกใช้เครื่องมือซ้ำ ๆ จนกว่างานจะเสร็จ
  • create_agent ของ LangChain เป็นตัวให้ลูปนี้มาอยู่แล้ว เพียงเลือกโมเดลและเชื่อมต่อ tools ก็จะได้ agent loop ที่พร้อมทำงาน
    • tools คือองค์ประกอบที่ทำให้เอเจนต์ลงมือกระทำกับโลกจริงได้
  • ในตัวอย่างเอเจนต์เอกสารภายใน ขั้นตอนลูปแรกจะรับคำขอปรับปรุงเอกสาร แล้วให้โมเดลวางแผนและร่างการเปลี่ยนแปลง พร้อมใช้เครื่องมือสำหรับโคลน repo, อ่านไฟล์, เขียนเอกสาร และเปิด pull request เป็นต้น

Level 2: validation loop

  • แม้ agent loop จะจัดการงานได้ แต่ผลลัพธ์จากความพยายามครั้งแรกไม่ได้ถูกต้องหรือสม่ำเสมอเสมอไป ดังนั้นเมื่อความสม่ำเสมอสำคัญ จึงควรครอบมันด้วย validation loop ที่ตรวจผลลัพธ์ และหากยังไม่ดีพอก็ส่ง feedback กลับไปยังโมเดล
  • validation loop จะเพิ่ม grader เข้ามาเพื่อตรวจผลลัพธ์ของเอเจนต์เทียบกับ rubric และหากไม่ผ่านก็ส่งผลกลับพร้อม feedback
    • grader อาจเป็นแบบกำหนดตายตัวหรือเป็นแบบเอเจนต์ก็ได้ โดย LLM as a judge เป็นตัวอย่างที่พบบ่อย
    • RubricMiddleware รองรับแพตเทิร์นนี้ หรือจะเชื่อมผ่านฮุก after_agent ของ create_agent ก็ได้
  • ในตัวอย่างงานเขียนเอกสาร grader จะรันการทดสอบหลังแต่ละความพยายาม เพื่อตรวจว่าลิงก์ทั้งหมดใช้งานได้, CI checks ผ่านทั้งหมด และ diff จำกัดอยู่ในขอบเขตที่ร้องขอ ช่วยจับข้อผิดพลาดได้โดยไม่ต้องรีวิวด้วยมือ
  • การเพิ่มการตรวจสอบทำให้ latency และ cost ต่อการรันสูงขึ้น แต่สำหรับการใช้งาน production ส่วนใหญ่ที่คุณภาพสำคัญกว่าความเร็ว สิ่งนี้คุ้มค่า

Level 3: event-driven loop

  • หนึ่งในส่วนที่สำคัญที่สุดของการพัฒนาเอเจนต์คือ integrations layer ซึ่งเชื่อมเอเจนต์เข้ากับ ecosystem เพื่อให้ทำงานอยู่เบื้องหลังได้
  • event-driven loop จะรันเอเจนต์เมื่อเกิดเหตุการณ์ เช่น มีเอกสารใหม่เข้ามา, ถึงเวลาตาม schedule หรือมี webhook เข้ามา
    • เอเจนต์ไม่ใช่สิ่งที่ถูกเรียกด้วยมือเป็นครั้งคราว แต่เป็นองค์ประกอบที่ทำงานต่อเนื่องภายในระบบที่ใหญ่กว่า
  • LangSmith Deployment รองรับโครงสร้างพื้นฐานสำหรับ trigger โดยรองรับทั้ง cron schedule และ webhook
    • ตัวอย่างการใช้ cron ที่ได้รับความนิยมคือ heartbeats ของ openclaw ซึ่งเปลี่ยนเอเจนต์ให้กลายเป็นผู้ช่วยเชิงรุกที่เปิดทำงานตลอดเวลา
  • เอเจนต์เอกสารถูกขับเคลื่อนด้วยตัวสร้างเอเจนต์แบบ no-code ชื่อ Fleet โดย channels และ schedules ของ Fleet จัดการ trigger แบบ event-driven และ cron
    • เมื่อมีข้อความใน Slack channel #docs-plz ระบบจะเรียกใช้เอเจนต์เอกสารผ่าน channel นั้น

Level 4: hill-climbing loop

  • หากสามลูปก่อนหน้าช่วยทำให้งานเป็นอัตโนมัติ ลูปที่สี่คือการทำให้ การปรับปรุง (improvement) เองเป็นอัตโนมัติ
  • ทุกการรันของเอเจนต์จะสร้าง trace ที่บันทึกพฤติกรรมของโมเดล, tools ที่เรียกใช้ และ feedback จาก grader เป็นต้น ซึ่ง trace นี้มีสัญญาณมูลค่าสูงเกี่ยวกับสิ่งที่ได้ผลและสิ่งที่ไม่ได้ผล
  • hill-climbing loop จะรัน analysis agent บน trace แล้วนำผลที่ได้มาเขียน การตั้งค่า harness ใหม่ให้ดีขึ้น
    • ซึ่งอาจรวมถึงการปรับ prompt/tools หรือการปรับ grader
    • ใน LangSmith สามารถทำ instrumentation ของลูปที่สี่นี้ได้ด้วย trace analysis agent ชื่อ Engine
  • ในตัวอย่างเอเจนต์เอกสาร จะรัน engine บน trace เพื่อตรวจจับปัญหา และหากหลาย trace ส่งสัญญาณถึงปัญหาที่อาจเกิดขึ้น ระบบจะสร้าง issue เพื่อขอเปลี่ยน prompt หรือ tool ที่เป็นปัญหา
  • ประเด็นสำคัญคือ ลูกศรย้อนกลับไม่ได้แค่ย้อนขึ้นไปด้านบน แต่ ย้อนเข้าไปภายในเพื่ออัปเดต agent loop โดยตรง ทำให้แต่ละรอบของลูปด้านนอกช่วยให้ลูปด้านในมีประสิทธิภาพขึ้น
  • แนวโน้มในอนาคต

    • แม้การตั้งค่า prompt และ tools จะเป็นสิ่งที่ปรับปรุงได้ง่ายที่สุด แต่ไม่ใช่ทางเลือกเดียว ทีมที่ใช้งานโมเดลแบบ open-weight สามารถเชื่อม hill-climbing loop เข้ากับ RL fine-tuning โดยใช้ trace หรือผลการประเมินเป็นสัญญาณสำหรับการฝึก เพื่อปรับปรุงตัวโมเดลเองได้
    • คอนเท็กซ์เสริมอย่าง memory หรือ retrieved skills ก็ปรับปรุงด้วยวิธีเดียวกันได้เช่นกัน โดยลูปเป็นเพียงแพตเทิร์น และสิ่งที่จะ optimize คือสิ่งที่ผู้ใช้เป็นผู้กำหนด

การกำกับดูแลและความเชี่ยวชาญของมนุษย์

  • การทำงานอัตโนมัติไม่ได้หมายความว่าต้องเอามนุษย์ออกจากลูป เพราะในทุกชั้นยังมีจุดที่ human oversight เพิ่มคุณค่าได้เสมอ
    • ตัว grader อัตโนมัติอาจตรวจได้ว่าลิงก์ใช้งานได้หรือไม่ แต่การสังเกตว่าการวางกรอบเนื้อหาไม่เหมาะกับผู้อ่านเป้าหมายยังเป็นหน้าที่ของมนุษย์ และเป็นการตัดสินจากบริบท ประสบการณ์ และวิจารณญาณที่ต้องอาศัย human review
  • ความเชี่ยวชาญบางส่วนควรถูกเข้ารหัสไว้ใน prompt/tools เอง แต่สำหรับ การกระทำที่อ่อนไหว เช่น ธุรกรรมการเงินหรือการทำงานกับฐานข้อมูล การรีวิวโดยมนุษย์แบบเรียลไทม์ยังเป็นสิ่งจำเป็น
  • LangChain ช่วยให้ทำ instrumentation ของจุดเชื่อมต่อเหล่านี้ได้ง่ายในทุกลูป
    • agent loop: ขอข้อมูลจากมนุษย์ก่อนทำการกระทำที่อ่อนไหวหรือเรียกใช้ tool
    • validation loop: ให้มนุษย์ทำหน้าที่เป็น grader ใน workflow ที่อ่อนไหว
    • application loop: ให้มนุษย์อนุมัติผลลัพธ์ก่อนส่งคืนแก่ผู้ใช้ปลายทาง
    • hill-climbing loop: ให้การปรับปรุง harness ผ่านการรีวิวโดยมนุษย์ก่อน deploy
  • เฟรมเวิร์กโอเพนซอร์สทั้งหมดของ LangChain มี human in the loop เป็น primitive ระดับ first-class

สรุปรวม

  • สรุปวิธีที่ลูปทั้งสี่ซ้อนทับกัน
    • agent loop: โมเดลเรียกใช้ tools ซ้ำ ๆ จนงานเสร็จ → ทำให้งานเป็นอัตโนมัติ โดยมี primitive คือ create_agent และโมเดลที่ LangChain รองรับ
    • validation loop: ให้คะแนนผลลัพธ์ตาม rubric และลองใหม่พร้อม feedback เมื่อไม่ผ่าน → รับประกันคุณภาพและความถูกต้องของงาน โดยมี primitive คือ RubricMiddleware
    • event-driven loop: เหตุการณ์ trigger การรันเอเจนต์ที่ไปอัปเดตระบบจริง → ทำให้งานขนาดใหญ่เป็นอัตโนมัติ โดยมี primitive คือ LangSmith Deployment ที่อิง cron trigger/webhook หรือ Fleet channels
    • hill-climbing loop: trace จากการรันใน production ปรับปรุงการตั้งค่า harness ผ่าน analysis agent → ปรับปรุง harness โดยมี primitive คือ LangSmith Engine
  • นี่คือสิ่งที่ swyx เรียกว่า loopcraft หรือภาพจริงของการวิศวกรรมลูป และผู้นำอย่าง Steipete, Boris และ Andrej ก็ได้ข้อสรุปเดียวกันว่า ศักยภาพของเอเจนต์อยู่ที่ลูปที่สร้างล้อมรอบมัน
  • แม้ลูป 1 และ 2 จะถูกพูดถึงมานานแล้ว แต่ตอนนี้จุดโฟกัสควรย้ายไปสู่ ลูป 3 และ 4 ที่ฝังเอเจนต์ไว้ใน ecosystem, ปรับปรุงอย่างต่อเนื่องตามเกณฑ์ และสร้างมูลค่าแบบทบต้น
  • Satya กล่าวถึงแรงจูงใจระดับองค์กรไว้ว่า บริษัทที่สร้าง learning loop ได้ตั้งแต่เนิ่น ๆ ซึ่งทำให้ทั้งวิจารณญาณของมนุษย์และทุนโทเค็นสะสมแบบทบต้นร่วมกัน จะได้เปรียบที่ลอกเลียนได้ยาก

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

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