Go Micro는 Go 기반 서비스 프레임워크에서 출발해, 에이전트 하네스(agent harness)와 서비스 런타임을 결합한 프로젝트다. 에이전트를 단순한 채팅 루프가 아니라 도구, 메모리, guardrail, workflow, service discovery, MCP/A2A 프로토콜을 가진 분산 시스템으로 본다.
핵심 아이디어
Go Micro의 관점에서 에이전트는 서비스다. 서비스 endpoint는 AI가 호출할 수 있는 도구가 되고, deterministic한 부분은 durable flow로 오케스트레이션하며, 에이전트는 MCP와 A2A를 통해 외부 에이전트나 클라이언트가 접근할 수 있다.
이 구조는 “LLM이 코드를 생성해 서비스를 만들고, 만들어진 서비스가 다시 에이전트 도구가 되는” 흐름을 Go 런타임 안에서 다루려는 시도다.
빠른 시작
curl -fsSL https://go-micro.dev/install.sh | sh
micro new helloworld
cd helloworld
micro runLLM 키가 있으면 프롬프트로 서비스 구조를 생성할 수 있다.
export ANTHROPIC_API_KEY=sk-ant-...
micro run --prompt "a task management system with categories" --provider anthropic에이전트는 필요한 capability가 없을 때 대화 중 새 서비스를 생성하고, 컴파일 후 해당 endpoint를 호출하는 흐름을 지원한다.
어디에 맞나
- Go 백엔드 팀: 기존 Go 서비스 개발 관성 안에서 에이전트 도구와 workflow를 붙이고 싶을 때
- 에이전트 플랫폼 팀: MCP, A2A, service discovery, durable flow를 한 런타임에서 실험할 때
- 프로토타입 개발자: 프롬프트로 서비스 골격을 만들고, 이후 Go 코드로 직접 수정하며 발전시키고 싶을 때
관련 문서
- agent-harness — 에이전트 성능을 결정하는 하네스 설계
- mcp — 모델 컨텍스트 프로토콜
- a2a — AI 에이전트 간 작업 위임과 협업 프로토콜
- agentic-loops — 피드백 기반 에이전트 루프 설계
참고 자료
- micro/go-micro — GitHub 공식 저장소