Go Micro - ฮาร์เนสเอเจนต์สำหรับ Go
(go-micro.dev)- เฟรมเวิร์ก Go สำหรับสร้างเอเจนต์/บริการ/เวิร์กโฟลว์บน รันไทม์เดียว
- รวมเครื่องมือ หน่วยความจำ การ์ดเรล เวิร์กโฟลว์แบบทริกเกอร์ บริการที่พึ่งพา โปรโตคอลที่เอเจนต์อื่นเข้าถึงได้ ไว้ใน ฮาร์เนสเดียว
- ทุกเอนด์พอยต์ของบริการจะถูกแปลงเป็น เครื่องมือที่ AI เรียกใช้ได้ โดยอัตโนมัติ และเข้าถึงจากภายนอกได้ผ่านโปรโตคอล MCP และ A2A
- การสร้างบริการด้วยพรอมต์
- เมื่อป้อนระบบที่ต้องการเป็นพรอมต์ AI จะออกแบบสถาปัตยกรรม จากนั้นสร้าง/คอมไพล์/รันโค้ดแฮนด์เลอร์
- ระหว่างการสนทนาสามารถสร้างบริการที่จำเป็นเพิ่มได้ทันที (เช่น: "ต้องการติดตาม shipping" → สร้างบริการ shipping อัตโนมัติ)
- แม้จะแก้ไขโค้ดที่สร้างขึ้นโดยตรง เมื่อรันใหม่ก็ยังคงเก็บการเปลี่ยนแปลงไว้
- เอเจนต์ทุกตัวมีเครื่องมือ
plan/delegateติดตั้งมาให้เป็นค่าเริ่มต้น- งานหลายขั้นตอนจะถูกบันทึกเป็นแผนแบบมีลำดับ
- ซับแทสก์สามารถมอบหมายให้เอเจนต์อื่นได้: หากมีเอเจนต์ที่ลงทะเบียนไว้แล้วจะส่งต่อผ่าน RPC และถ้าไม่มีจะสร้างซับเอเจนต์แบบแยกสภาพแวดล้อมขึ้นมา
- เวิร์กโฟลว์แบบทนทาน: ขั้นตอน flow ที่มีการทำ checkpoint สามารถกลับมาทำต่อจากจุดที่หยุดได้แม้แครชไปแล้ว โดยเส้นทางที่รู้ล่วงหน้าใช้ flow และเส้นทางแบบไดนามิกใช้ agent dispatch
- มี หน่วยความจำถาวรบนพื้นฐาน store มาให้โดยค่าเริ่มต้น: ทำงานต่อได้หลังรีสตาร์ต, ใช้
AgentCompactMemoryเพื่อสรุปบีบอัดบทสนทนาเก่า เก็บบทสนทนาล่าสุดเป็นต้นฉบับ และดึงบทสนทนาที่เก็บถาวรกลับมาได้เมื่อจำเป็น - การ์ดเรลอยู่ที่จุดรันจริง:
MaxSteps(จำกัดจำนวนครั้ง),LoopLimit(หยุดการวนซ้ำที่ไม่คืบหน้า),ApproveTool(ให้มนุษย์เข้ามาอนุมัติ) - ทุก abstraction เป็น Go interface: registry (mDNS→Consul→etcd), broker (NATS/RabbitMQ), store (File/Postgres/NATS KV) ฯลฯ สลับได้โดยไม่ต้องแก้โค้ด
- รองรับ LLM provider 7 ราย (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud) และสลับได้ด้วยการ import เพียงบรรทัดเดียว
- คำสั่ง CLI เดียวสำหรับ hot reload (
micro run), production build (micro build), และ deploy ผ่าน SSH+systemd โดยไม่ต้องใช้ Docker (micro deploy user@server) - ไลเซนส์ Apache 2.0
1 ความคิดเห็น
เคยลองใช้ตอนเป็น v4 แต่นี่ขึ้นมาเป็น v6 แล้วเหรอ!