// the find
trpc-group/trpc-agent-go
A Go framework for building production agent systems with graph workflows, tools, memory, A2A, AG-UI, MCP, evaluation, and observability.
tRPC-Agent-Go is Tencent's Go framework for building multi-agent systems with graph workflows, session memory, RAG, code execution, and protocol support for A2A, AG-UI, and MCP. It's the closest thing to LangGraph that exists for Go, targeting teams running Go services who don't want to drop into Python just to build an agent pipeline. Tencent's own products (Yuanbao, QQ Music) reportedly run on it.
The Runner/Agent/Tool separation is clean Go — context cancellation propagates correctly through streaming runs, and the advice to keep draining the event channel after cancel is the kind of thing most frameworks get wrong and don't document. GraphAgent with multi-conditional fan-out routing is genuinely hard to implement correctly and the type-safe state graph API is usable. OpenTelemetry tracing is baked into every layer (model, tool, runner) rather than added as an afterthought — you get span attributes from the first run. The Agent Self-Evolution feature (async session review → extract SKILL.md → quality gate → publish) is a real differentiator; most frameworks stop at tool calling and leave workflow reuse as your problem.
The module layout is a mess — dify, n8n, weknora, container, s3, e2b, jupyter each carry their own go.mod, so managing transitive dependencies across a real project will require a workspace file and careful pinning. Anthropic/Claude support isn't visible as a first-class model provider despite MCP being a core feature; everything in the quick-start assumes OpenAI or DeepSeek, which is a gap given the protocol alignment. The self-evolution and skills features read well in the README but the quality gate behavior and what happens when the reviewer model produces a bad SKILL.md are not documented — you'd have to read the source before trusting this in production. The in-memory implementations for session, memory, and artifacts are presented alongside production backends without clearly marking them as dev-only, which is an easy footgun.