trpc-agent-go
腾讯开源的生产级 Go Agent 框架,集成 Graph 工作流、多 Agent 协作、A2A/M
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
腾讯开源的生产级 Go Agent 框架,集成 Graph 工作流、多 Agent 协作、A2A/M
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你的团队正在用 Go 构建一套客服 AI 系统,需要让 Agent 能够记住用户的上下文、调用内部工具查数据库、在对话中动态调整策略,并且能够与其他 Agent 协作处理复杂任务。传统的做法是将 LangChain Python 应用包装成微服务,但这样就失去了 Go 的并发优势和类型安全保证。
tRPC-Agent-Go 正是为解决这个痛点而生——它是腾讯开源的纯 Go 语言 Agent 框架,将 LLM Agent、图工作流、工具系统、记忆管理、知识检索、评测体系全部整合到一套 Go-native 技术栈中,让 Go 开发者无需引入 Python 依赖,就能构建生产级的 AI Agent 应用。
tRPC-Agent-Go 由腾讯 tRPC 团队主导开发,2025 年正式开源,隶属于腾讯 RPC 框架生态。腾讯的 tRPC 框架是内部微服务通信的核心基础设施,在公司内部有数十万服务实例在运行。将 Agent 能力接入已有的 tRPC 生态,可以让 AI Agent 直接利用现有的服务治理、监控和部署体系,大幅降低生产落地的门槛。
项目仓库可见其企业级定位:Apache-2.0 许可、OpenTelemetry 全链路追踪、完整的 CI/CD 流程(Codecov 覆盖率监测)、多语言文档(英文+中文)。虽然开源时间不长,但已经获得了 1350+ GitHub Stars,164 个 Forks,说明 Go 生态对这类框架确实存在强烈需求。
tRPC-Agent-Go 的架构分层非常清晰,从上到下可以分为五层:
第一层:Agent 层。核心是 LLMAgent,它封装了与 LLM 的交互逻辑。Agent 通过 Run 方法接收用户消息,返回一个事件流(event.Event channel),支持流式输出。LLMAgent 内部维护一套完整的消息历史、会话状态和工具注册机制,所有状态操作都有 sync.RWMutex 并发保护。
第二层:Runner 层。Runner 是应用的入口和管理者,负责管理 Agent 生命周期、Session 会话和 Memory 服务。Runner 通过 WithMemoryService 注入不同的记忆后端(InMemory、Redis、PostgreSQL、MySQL、SQLite 等),实现了会话级别和进程级别的状态持久化分离。
第三层:Graph 层(对标 LangGraph 的 Go 实现)。GraphAgent 是框架最复杂的子系统,支持 DAG(有向无环图)和循环图两种工作流模式。核心文件包括 state_graph.go(状态机定义)、execution_engine.go(执行引擎)、executor_dag.go(DAG 执行器)和 checkpoint.go(快照管理)。Graph 支持多条件路由、外部中断、时间旅行(Time Travel)等高级特性,功能完整度相当高。
第四层:Tool 层。工具系统采用插件化设计,核心接口只定义了 Execute 和 Schema 两个方法。内置工具包括:Function Tool(将任意 Go 函数注册为工具)、MCP Tool(接入 Model Context Protocol 工具生态)、Code Execution(沙箱代码执行)、Web Search 等。
第五层:Protocol 层。框架内置了三个协议的实现:
trpc-a2a-go v0.2.5),支持多 Agent 之间的互操作trpc-mcp-go v0.0.10)框架通过 model 包对接主流 LLM API,核心依赖 openai/openai-go 库。除了原生 OpenAI 格式,还支持 DeepSeek(通过 VariantDeepSeek)、Claude(通过 MCP 协议)、Gemini 等。GenerationConfig 控制流式输出、温度、top_p 等生成参数,所有配置通过选项模式(Functional Options)注入,避免了复杂的构造函数参数表。
GraphAgent 的实现非常扎实,不是简单的脚本编排。state_graph.go 中定义了完整的状态转换逻辑,包括节点定义、边路由条件(支持函数式条件判断)、子图嵌套(SubGraph)和外部中断处理。execution_engine.go 负责图执行调度,checkpoint.go 实现了运行快照保存和恢复,这在长任务场景(如复杂的多步骤数据分析)下非常有用——任务中断后可以从上次快照恢复,而无需从头开始。
Memory 子系统支持 InMemory、Redis、MySQL + 向量插件(mysqlvec)、PostgreSQL + pgvector、SQLite + sqlitevec、腾讯云向量数据库等多种后端。这使得框架可以从小型的单机 demo 扩展到生产级的分布式部署,记忆数据(包含向量嵌入)可以持久化到专用向量数据库中。
框架集成了 OpenTelemetry 全链路追踪,覆盖 Agent 运行、工具调用和图执行各个阶段。还内置了 Langfuse 集成,可以对接 Langfuse 平台进行 Prompt 版本管理和质量分析。评测系统(evaluation 包)支持定义评测集(EvalSet)和评测指标(Metric),通过 evaluator.Evaluate 方法对 Agent 能力进行自动化回归测试。
部署非常简洁。基于 Docker 的体验只需三步:克隆仓库、配置 LLM API Key、运行示例。框架自带 docker-compose.yml,可以一键拉起带 Web 界面的 Agent 服务。AG-UI 协议的集成使得前端可以直接通过 Server-Sent Events 接收 Agent 的流式事件,实现实时对话界面。
硬件要求极低——不需要 GPU,512MB 内存即可运行。这对于纯 CPU 环境的部署非常友好。
当然,框架也有一些需要注意的地方。首先,作为新兴项目(2025 年开源),生态还不够成熟,第三方工具集成数量远不及 LangChain,社群规模和文档深度还有提升空间。其次,图工作流的设计理念与 LangGraph 基本一致,但部分高级特性(如人类反馈介入循环 Human-in-the-loop Loop)的实现细节需要进一步阅读源码才能理解。第三,框架深度依赖腾讯内部 tRPC 生态的部分能力(如 trpc.group/trpc-go 核心库),虽然主体开源,但如果 tRPC 核心库有 breaking change,可能会影响到 Agent 的稳定性。
Go 语言在微服务和高并发领域的主导地位毋庸置疑,但在 AI Agent 领域一直缺乏生产级的框架。Python 生态的 LangChain、AutoGen 等框架虽然功能丰富,但对于已经在使用 Go 构建核心系统的团队来说,引入 Python 依赖意味着额外的运维复杂度和性能损耗。
tRPC-Agent-Go 的出现填补了这个空白。它不仅提供了完整的 Agent 运行时,还通过 Graph 工作流实现了复杂任务的可视化和可维护性,通过 A2A/MCP/AG-UI 三大协议打通了 Agent 与外部生态的连接。可以预见,随着 Go 生态在 AI 基础设施领域的持续渗透,这类框架会变得越来越重要。

图1:AG-UI 协议下的 Agent 实时流式交互演示
该演示展示了 Agent 通过 AG-UI 协议向前端实时推送计划、工具调用和报告生成等事件,实现了一个典型的企业报告生成 Agent 工作流。