Go Micro - Go 언어로 에이전트를 구축하는 새로운 하네스
Go 생태계에서 LLM 기반 에이전트를 만들 때 매번 도구 등록, 메모리 관리, 가드레일, 외부 프로토콜 통합을 처음부터 짜야 했던 번거로움을 한 번에 해소해 주는 프레임워크가 등장했습니다. 바로 Go Micro v6 입니다. 이 글에서는 Go Micro가 에이전트 하네스로서 어떤 문제를 풀고, 어떤 구조로 동작하는지 핵심만 짚어 드립니다.

Go Micro란 무엇인가
Go Micro는 원래 Go용 마이크로서비스 프레임워크로 출발했지만, v6에 들어서 에이전트/서비스/워크플로우를 하나의 런타임 위에서 통합하는 방향으로 진화했습니다. 핵심 아이디어는 단순합니다.
- 에이전트에 필요한 도구(tool), 메모리, 가드레일, 워크플로우 트리거, 의존 서비스, 외부 노출 프로토콜을 하나의 하네스로 묶음
- 일반 마이크로서비스의 모든 엔드포인트를 AI가 호출 가능한 도구로 자동 변환
- 변환된 도구는 MCP(Model Context Protocol)와 A2A(Agent-to-Agent) 두 표준 프로토콜로 외부에서 그대로 접근 가능
덕분에 기존 Go 서비스를 그대로 두면서, 그 위에 AI 에이전트 인터페이스를 얹는 구조를 코드 한 줄 변경 없이 만들 수 있습니다.
핵심 기능 살펴보기
프롬프트 기반 서비스 생성
가장 인상적인 기능입니다. 시스템에서 원하는 동작을 자연어로 입력하면 AI가 아키텍처를 설계하고 핸들러 코드를 생성·컴파일·실행까지 해 줍니다.
// "shipping 추적이 필요한 에이전트 만들어줘" 라고 프롬프트를 주면
// 아래와 같은 핸들러가 자동 생성됨
package shipping
import "go-micro.dev/v6"
type Service struct{}
func (s *Service) Track(ctx *micro.Context, req *TrackingRequest) (*TrackingResponse, error) {
// 생성된 로직 — 필요하면 직접 수정해도 재실행 시 보존됨
return micro.Reply(&TrackingResponse{Status: "in_transit"})
}
대화 중간에 "shipping 추적이 필요해"라고 던지면 즉석에서 shipping 서비스가 생성되어 붙고, 개발자가 코드를 다듬어도 다음 재실행 때 변경사항이 그대로 유지됩니다.
모든 에이전트에 내장된 `plan`/`delegate`
멀티스텝 작업을 직접 코드로 풀어 쓰는 대신, Go Micro는 두 가지 기본 도구를 모든 에이전트에 제공합니다.
plan: 작업을 순서가 있는 계획으로 기록해 순차·병렬 실행delegate: 서브태스크를 다른 에이전트에 위임. 이미 등록된 에이전트가 있으면 RPC로 넘기고, 없으면 격리된 서브에이전트를 새로 생성
이 조합만으로도 단순한 ReAct 루프부터 복잡한 멀티 에이전트 오케스트레이션까지 같은 API로 다룰 수 있습니다.
내구성 워크플로우와 지속 메모리

운영 환경에서 에이전트가 죽으면 곤란한데, Go Micro는 이를 두 겹으로 대비합니다.
- 체크포인트된 워크플로우: 알려진 경로는 flow로, 동적 경로는 에이전트 디스패치로 처리. 크래시 후에도 멈춘 지점부터 자동 재개
- store 기반 지속 메모리: File/Postgres/NATS KV 중 선택 가능.
AgentCompactMemory로 오래된 대화는 요약 압축, 최근 대화는 원문 유지, 필요 시 보관 대화를 회수해 컨텍스트 길이 문제를 완화
가드레일이 실행 지점에 위치
에이전트가 무한 루프를 돌거나 비용이 폭주하는 걸 막기 위해 가드레일을 런타임에 직접 박아 둡니다.
MaxSteps: 최대 호출 횟수 제한LoopLimit: 진전이 없는 반복 중단ApproveTool: 특정 도구는 사람 승인 후에만 실행
개발·배포 워크플로우
운영 관점에서 특히 매력적인 부분입니다. CLI 한 줄로 개발-빌드-배포를 모두 처리합니다.
# 핫 리로드 개발
micro run
# 프로덕션 바이너리 빌드
micro build
# Docker 없이 SSH + systemd 배포
micro deploy user@server
7개 LLM 프로바이더(Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud)를 지원하고, registry(mDNS → Consul → etcd), 브로커(NATS / RabbitMQ), store는 모두 Go 인터페이스로 추상화되어 있어 코드 변경 없이 교체할 수 있습니다.
전망과 요약
Go Micro v6는 "에이전트를 짜기 위한 코드보다 에이전트가 사용할 서비스를 짜는 코드"에 집중하게 해 주는 프레임워크입니다. 프롬프트 기반 생성, plan/delegate, 내구성 워크플로우, 가드레일, 7개 LLM 프로바이더, MCP/A2A 노출까지 한 묶음으로 제공하기 때문에 Go 기반 팀이 에이전트 제품을 빠르게 검증하고 운영하기에 좋은 선택지입니다.
핵심 정리:
- 한 런타임에서 에이전트·서비스·워크플로우 통합
- 모든 서비스 엔드포인트가 MCP/A2A로 자동 노출
- 프롬프트로 서비스 생성, plan/delegate 기본 내장
- 체크포인트 워크플로우 + store 메모리로 내구성 확보
- Apache 2.0 오픈소스
> 원문: go-micro.dev · 긱뉴스 토픽
'AI 뉴스' 카테고리의 다른 글
| Memora: 장기 작업을 위한 확장형 메모리 시스템 — AI 에이전트 메모리의 새로운 설계 (0) | 2026.07.01 |
|---|---|
| HackerRank 오픈소스 ATS, 같은 이력서 점수가 90점·74점·88점으로 흔들리는 문제 (0) | 2026.07.01 |
| Brown 대학의 AI 부정행위 스캔들 — 엘리트 대학 평가 체계의 붕괴 신호 (0) | 2026.07.01 |
| Qwen 3.6 27B — 로컬 개발의 새로운 스윗 스폿 (0) | 2026.07.01 |
| LibrePods: 해방된 AirPods — 리눅스와 안드로이드에서 Apple 독점 기능 구현하기 (0) | 2026.06.30 |