惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
U
Unit 42
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
美团技术团队
雷峰网
雷峰网
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
罗磊的独立博客
MyScale Blog
MyScale Blog
博客园_首页
IT之家
IT之家
F
Fortinet All Blogs
博客园 - Franky

博客园 - iTech

7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了
腾讯开源 tRPC-Agent-Go:用 Go 写生产级 AI Agent 的正确姿势
iTech · 2026-06-09 · via 博客园 - iTech

腾讯开源 tRPC-Agent-Go:用 Go 写生产级 AI Agent 的正确姿势

看完你会发现,Go 写 Agent 也可以很优雅。

Go 在后端服务领域已经是统治级的存在,但 AI Agent 领域的框架几乎被 Python 独占。LangChain、CrewAI、AutoGen——清一色 Python 生态。如果你公司的后端是 Go 栈,想上 Agent 能力就得跨语言调用或者硬着头皮写 Python 中间层。

腾讯的 tRPC 团队显然不甘心于此。他们开源了 tRPC-Agent-Go——一个用 Go 写的、面向生产环境的 Agent 框架。1,285 颗星,v1.10.0,Apache 2.0 协议,已经在腾讯元宝、腾讯视频、腾讯新闻、IMA、QQ音乐等业务线跑通了。

GitHub 地址:github.com/trpc-group/trpc-agent-go

官方文档:trpc-group.github.io/trpc-agent-go

本文提纲

  1. tRPC-Agent-Go 是什么
  2. 架构设计:六大核心模块
  3. 内建 Agent 类型:像乐高一样组合
  4. GraphAgent:Go 版 LangGraph
  5. 完整的功能覆盖:不是玩具
  6. 5 分钟上手
  7. 腾讯内部的真实验证

tRPC-Agent-Go 是什么

一句话概括:用 Go 写的、面向生产的、全功能 AI Agent 框架。

它不是又一个 Python 框架的 Go 移植。从架构设计到 API 风格都是地道的 Go——强类型、组合优于继承、interface 驱动。项目源自 tRPC 生态(腾讯的多语言、高性能 RPC 框架),生来就是为生产环境服务的。

核心卖点:

  • GraphAgent:类型安全的图工作流,多条件路由,功能对标 LangGraph
  • Agent Skills:基于 SKILL.md 的可复用工作流,支持安全执行
  • 全协议支持:MCP、A2A、AG-UI 三大 Agent 通信协议全覆盖
  • 评测体系:内置 EvalSet + Metric,量化 Agent 质量
  • Prompt Caching:自动缓存优化,缓存命中节省 90% token 成本

架构设计:六大核心模块

整个框架围绕一个清晰的分层架构:

Runner(编排层)
  ├── Agent(执行单元)
  │     ├── Planner(推理规划)
  │     ├── Tools(工具调用)
  │     └── Memory(上下文记忆)
  ├── Session(会话管理)
  ├── Knowledge(RAG 知识检索)
  └── Telemetry(可观测性)

对应到代码包结构:

职责
agent 核心执行单元,处理用户输入并生成响应
runner Agent 执行器,管理执行流、串联 Session 和 Memory
model 多 LLM 支持(OpenAI、DeepSeek 等)
tool 工具能力(Function、MCP、DuckDuckGo 等)
graph 图工作流引擎,多条件路由
memory 长期记忆和个性化信息
knowledge RAG 知识检索
planner Agent 规划和推理
skill SKILL.md 驱动的可复用工作流
artifact Agent 产出文件的版本化存储
evaluation 评测集和可插拔度量
server HTTP 服务器(Gateway、AG-UI、A2A)
telemetry OpenTelemetry 追踪和指标

执行流程:Runner 编排整个管道 → Agent 处理请求 → Planner 决定策略和工具选择 → Tools 执行具体任务 → Memory 维护上下文 → Knowledge 提供 RAG 能力。

内建 Agent 类型:像乐高一样组合

框架自带四种开箱即用的 Agent,通过组合可以搭建复杂工作流:

LLMAgent — 最基础的单元,把任何 chat-completion 模型包装成 Agent。

ChainAgent — 顺序执行,上一个 Agent 的输出作为下一个的输入。适合 pipeline 场景。

ParallelAgent — 并发执行多个子 Agent,结果合并。适合并行处理场景。

CycleAgent — 循环执行 planner + executor,直到满足终止条件。适合需要迭代优化的场景。

组合起来就像拼乐高:

// 先分析、再处理、最后汇报
pipeline := chainagent.New("pipeline",
    chainagent.WithSubAgents([]agent.Agent{
        analyzer, processor, reporter,
    }))

// 或者并行跑多个任务
parallel := parallelagent.New("concurrent",
    parallelagent.WithSubAgents(tasks))

GraphAgent:Go 版 LangGraph

这是 tRPC-Agent-Go 最值得关注的特性。GraphAgent 提供了类型安全的图工作流,支持多条件路由——功能上对标 Python 生态的 LangGraph。

sg := graph.NewStateGraph(schema)
sg.AddNode("router", routerFunc)
sg.AddNode("A", funcA)
sg.AddNode("B", funcB)
sg.SetEntryPoint("router")

// 多条件扇出:router 同时走向 A 和 B
sg.AddMultiConditionalEdges(
    "router",
    func(ctx context.Context, s graph.State) ([]string, error) {
        return []string{"goA", "goB"}, nil
    },
    map[string]string{"goA": "A", "goB": "B"},
)
sg.SetFinishPoint("A").SetFinishPoint("B")

AddMultiConditionalEdges 是关键 API——一个节点可以同时扇出到多个分支并行执行,而不是只能走一条路。这对复杂业务流程(比如同时触发数据分析和通知推送)非常实用。

Graph 的状态管理是类型安全的,不是 map[string]any 一把梭。这在 Go 的语境下格外重要——编译期能查出的 bug,别留到线上。

完整的功能覆盖:不是玩具

tRPC-Agent-Go 不是 MVP,是生产级框架。从它的功能清单看:

协议支持
- MCP(Model Context Protocol)— 通过 trpc-mcp-go 实现完整 MCP 规范
- A2A(Agent-to-Agent)— 跨运行时的 Agent 互通,已验证与 ADK Python A2A Server 的对接
- AG-UI(Agent-User Interaction)— 内建 SSE 服务器,对接 CopilotKit 和 TDesign Chat

记忆与知识
- In-Memory 和 Redis 两种 Memory 后端
- RAG 知识检索:加载文档、Embedding 向量存储、搜索
- 跨会话的上下文保持

Agent Skills
- 基于 SKILL.md 的可复用工作流定义
- 支持本地文件系统和远程 HTTP(S) 仓库(zip/tar.gz 自动下载缓存)
- skill_loadskill_runskill_find 等内建工具
- skill_exec 支持交互式会话(stdin/TTY)

评测体系
- EvalSet + 可插拔 Metric
- 量化 Agent 质量变化
- 支持本地文件和内存两种运行方式

可观测性
- OpenTelemetry 全链路追踪
- Langfuse 集成
- 覆盖 model、tool、runner 三层

代码执行
- 安全的代码执行沙箱
- 支持 Human-in-the-loop

产出物管理
- Artifact 版本化存储
- 支持 In-Memory、S3、COS 三种后端

5 分钟上手

# 1. 克隆
git clone https://github.com/trpc-group/trpc-agent-go.git
cd trpc-agent-go

# 2. 配置 LLM
export OPENAI_API_KEY="your-key"
export OPENAI_BASE_URL="your-base-url"  # 可选

# 3. 跑第一个 Agent
cd examples/runner
go run . -model="gpt-4o-mini" -streaming=true

试着问它:"现在几点了?然后算一下 15 × 23 + 100"——你会看到 Agent 先调用时间工具,再调用计算器工具,实时流式输出。

最小化代码只需要几步:

// 创建模型
model := openai.New("deepseek-chat",
    openai.WithVariant(openai.VariantDeepSeek))

// 创建工具
calc := function.NewFunctionTool(calculate,
    function.WithName("calculator"),
    function.WithDescription("数学运算"))

// 创建 Agent
agent := llmagent.New("assistant",
    llmagent.WithModel(model),
    llmagent.WithTools([]tool.Tool{calc}))

// 创建 Runner 并执行
runner := runner.NewRunner("app", agent)
events, _ := runner.Run(ctx, "user-1", "session-1",
    model.NewUserMessage("算一下 2+3 等于几"))

任何 Go 函数都能通过 NewFunctionTool 变成 Agent 可调用的工具——不用写 JSON Schema 描述,struct tag 自动生成。

腾讯内部的真实验证

README 里的致谢部分透露了这个框架的分量:

感谢腾讯元宝、腾讯视频、腾讯新闻、IMA 和 QQ 音乐团队提供的宝贵支持和真实场景验证。

这不是实验室项目。它在腾讯的多个核心业务线上跑过了。从内容平台到音乐流媒体到 AI 助手——覆盖了搜索推荐、内容理解、对话系统等多种 Agent 应用场景。

tRPC 组织在 GitHub 上有 14 个公开仓库,涵盖 Go、C++、Java 等多语言 RPC 实现。tRPC-Agent-Go 是这个生态在 AI Agent 方向的延伸,不是孤立的实验品。

你在用 Go 还是 Python 写 Agent?评论区聊聊你的选择和理由。觉得有用的话,点个赞让更多人看到。


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。