Go Micro - Agent harness cho Go
(go-micro.dev)- Framework Go để xây dựng agent/dịch vụ/workflow trên một runtime duy nhất
- Gộp công cụ, bộ nhớ, guardrail, workflow kích hoạt, dịch vụ phụ thuộc và cả giao thức để agent khác truy cập vào một harness duy nhất
- Mọi endpoint của dịch vụ được tự động chuyển thành công cụ có thể được AI gọi, có thể truy cập từ bên ngoài qua các giao thức MCP và A2A
- Tạo dịch vụ dựa trên prompt
- Khi nhập hệ thống mong muốn bằng prompt, AI sẽ thiết kế kiến trúc rồi tạo/biên dịch/chạy mã handler
- Cũng có thể tạo thêm ngay các dịch vụ cần thiết trong lúc trò chuyện (ví dụ: "cần theo dõi shipping" → tự động tạo dịch vụ shipping)
- Dù bạn chỉnh sửa trực tiếp mã đã tạo, các thay đổi vẫn được giữ lại khi chạy lại
- Mọi agent đều tích hợp sẵn hai công cụ
plan/delegate- Tác vụ nhiều bước được ghi lại thành một kế hoạch có thứ tự
- Subtask được ủy quyền cho agent khác: nếu đã có agent được đăng ký thì chuyển qua RPC, nếu chưa thì tạo subagent được cô lập
- Workflow bền bỉ: các bước flow đã checkpoint sẽ tiếp tục từ điểm dừng ngay cả sau khi crash; dùng flow cho các đường đi đã biết, dispatch agent cho các đường đi động
- Mặc định có bộ nhớ bền vững dựa trên store: tiếp tục công việc sau khi khởi động lại; với
AgentCompactMemory, các cuộc trò chuyện cũ được tóm tắt và nén, các cuộc trò chuyện gần đây giữ nguyên văn bản, và khi cần có thể truy hồi các cuộc trò chuyện đã lưu trữ - Guardrail nằm tại điểm thực thi:
MaxSteps(giới hạn số lần),LoopLimit(dừng vòng lặp không có tiến triển),ApproveTool(can thiệp phê duyệt của con người) - Mọi lớp trừu tượng đều là interface Go: registry (mDNS→Consul→etcd), broker (NATS/RabbitMQ), store (File/Postgres/NATS KV), v.v. có thể thay thế mà không cần đổi mã
- Hỗ trợ 7 nhà cung cấp LLM (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud), có thể thay bằng một dòng import
- Một lệnh CLI cho hot reload (
micro run), build production (micro build), triển khai qua SSH+systemd không cần Docker (micro deploy user@server) - Giấy phép Apache 2.0
1 bình luận
Tôi từng dùng thử khi còn ở v4, vậy mà giờ đã lên v6 rồi!