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

推荐订阅源

Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
Scott Helme
Scott Helme
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
Webroot Blog
Webroot Blog
S
Security Affairs
H
Hacker News: Front Page
TaoSecurity Blog
TaoSecurity Blog
W
WeLiveSecurity
G
GRAHAM CLULEY
T
Tenable Blog
Schneier on Security
Schneier on Security
S
Securelist
Cyberwarzone
Cyberwarzone
P
Privacy International News Feed
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recent Commits to openclaw:main
Recent Commits to openclaw:main
O
OpenAI News
N
News and Events Feed by Topic
AWS News Blog
AWS News Blog
C
Cisco Blogs
T
Threat Research - Cisco Blogs
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
D
DataBreaches.Net
博客园_首页
MyScale Blog
MyScale Blog
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
P
Proofpoint News Feed
J
Java Code Geeks
SecWiki News
SecWiki News
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

博客园 - 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 的底牌全掀了 Hermes Agent 在聊天框里就能用的 20 种高级功能 一份 AGENTS.md 能顶一次模型升级?Augment Code 用数据说了算 NVIDIA 开源了一个「AI 沙箱」,20K Star,让 Agent 跑代码不再裸奔 60ms 冷启动、5MB 内存:腾讯开源的这个沙箱让 Docker 安全隔离像笑话 AI 技术日报 - 2026-04-30 AI 技术日报 - 2026-04-29 AI 技术日报 - 2026-04-28 Goose:Linux 基金会亲儿子,能撼动 Claude Code 和 OpenCode 吗? AI 技术日报 - 2026-04-27 AI 技术日报 - 2026-04-26 Google 把价值20美元/月的东西免费了,102K人已经抢到了 OpenClaw 和 Claude Code 网络搜索配置指南 AI 技术日报 - 2026-04-25 Anthropic 为什么遥遥领先:从 Cat Wu 专访看AI霸主的底层逻辑 Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站 同样 70B 参数,为什么 MoE 只激活 13B 就能打平 Dense? DeepSeek-V4 技术报告里藏着一条线:华为昇腾 NPU 已完成推理验证 DeepSeek-V4 深夜炸场:1M 上下文、384K 输出、双模型,API 定价直接卷到底 MacBook Air 跑大模型实测:Ollama、llama.cpp、LM Studio 谁才是本地推理之王? AI 技术日报 - 2026-04-24 OpenCode:Claude Code 的最佳平替 2026 开源大模型五国杀:Qwen 3.6 vs Gemma 4 vs Llama 4 vs GLM-5.1 vs DeepSeek V4 MCP 与 Skills 的你死我活:Anthropic 的 Agent 生态野心与开发者的站队困境 给 AI Agent 配搜索,国内能用的搜索 API 实测对比 AI 技术日报 - 2026-04-23 CC Switch:49K Star 的 Claude Code 登录绕过神器,还能管 Codex 和 Gemini CLI NVIDIA 开出 32 万美元年薪招 AI Agent 工程师,JD 里藏着这些信号 fast-mirror-skill 技术拆解:一个小而完整的 Claude Skill 是怎么设计的 Cursor 值 600 亿美元?马斯克这次赌的不是技术,是入口 AI 技术日报 - 2026-04-22 别再问 AI 能不能赚钱了:3 个上班族亲测有效的副业方法(2026 最新版) 10 分钟从零搞定 Hermes Agent:飞书微信双通道丝滑上线 AI 技术日报 - 2026-04-21 Anthropic 实战总结:AI Agent 的 3 种工作流模式,选错代价很大 安装 openclaw,hermes 慢的想发疯,fast-mirror-skill 来救了 Claude Routines:你下班睡觉了,Agent 还在为你干活 微信飞书里敲一个斜杠就能干活:Hermes Quick Command 到底多省事 AI 正在疯狂吃电:算力尽头是电力,谁能解这道题? AI 技术日报 - 2026-04-20 3K 行代码造一个越用越聪明的 AI Agent:GenericAgent 登顶 GitHub Trending 高德途途封神机器人半马,背后的 ABot-Claw 到底是什么 人们希望 AI 能干啥?Anthropic 调查:第一名不是赚钱,是变强 AI 时代人们在担心什么?Anthropic 的 13 条焦虑排行榜 OpenAI 官方 Agent SDK 来了:22k Star,支持 100+ 模型,Python 10 行代码上手 AI 技术日报 - 2026-04-19 OpenAgents Workspace:让 Claude Code 和 Codex 在同一个群里干活 Claude 是要干掉整个软件行业吗? Claude 官方推荐多 Agents 设计模式 多 Agent 系统的 5 种协调模式:选错了模式,再强的 Agent 也白搭 AI 技术日报 - 2026-04-18 AI 技术日报 - 2026-04-17 Better-Harness:让AI Agent自己优化自己的革命性框架 OpenClaw Workspace 完全指南:我的AI编程工作流 DeepSeek内蒙草原高薪招聘:AI时代的数字牧民梦,还是营销噱头? 2 核 2G 的阿里云 ECS 能跑 OpenClaw 吗?能,但有点折腾 AI 技术日报 - 2026-04-16 OpenCLI:一个命令行搞定 16+ 内容平台的神器 从零到精通:OpenClaw CLI 命令完全指南 AI 技术日报 - 2026-04-15 AI Agent 如何自我进化?Hermes Agent Self-Evolution 深度解析 AI 技术日报 - 2026-04-14 为什么你的飞书 Bot 总是连不上?OpenClaw Gateway 架构深度解析 OpenClaw 连接飞书的原理:Gateway、Channel 与消息流转 国内安装 Hermes Agent 踩坑全记录:从 GitHub 超时到正常跑起来的每一步 35 万 Star 的 OpenClaw:5 分钟部署你的私人 AI 助手,直连飞书 AI 技术日报 - 2026-04-13 公司用 AI 筛简历,这个开源项目让候选人用 AI 反选公司 为什么 Google ADK 可能是你下一个 Agent 框架——7 个改变游戏规则的特性 Microsoft Agent Framework 深度解析:架构设计与实战落地 AI 技术日报 - 2026-04-11
Go 语言 Agent 框架双雄:TRPC Agent Go vs Agentic Go Kit 深度对比
iTech · 2026-06-22 · via 博客园 - iTech

Go 语言 Agent 框架双雄:TRPC Agent Go vs Agentic Go Kit 深度对比

2026 年,Agent 框架的战场正在发生微妙的变化。

Python 生态依然是绝大多数 AI 框架的首选——LangChain、LlamaIndex、AutoGen……但生产环境的开发者们开始问一个问题:我的 Agent 跑在生产环境,Python 真的够用吗?

  • 冷启动太慢
  • 内存占用太高
  • 并发能力不够
  • 性能瓶颈明显
  • 和现有后端技术栈不统一

于是,Go 语言的 Agent 框架开始崛起。今天我们要深度对比的,就是其中最受关注的两个:

框架 官网 核心理念
TRPC Agent Go https://trpc-group.github.io/trpc-agent-go/ 腾讯开源的生产级 Agent 系统框架,基于 TRPC 微服务生态
Agentic Go Kit https://docs.agenticgokit.com/ 社区驱动的开源 Agentic AI 框架,事件驱动架构

两个框架都选择了 Go,都瞄准生产级,都支持 MCP,都有多 Agent 能力。但它们的设计哲学和适用场景却大相径庭。

这篇文章我们从各个维度做一次深度对比。


一、项目背景与定位

TRPC Agent Go:大厂的生产级方案

TRPC Agent Go 不是一个社区项目,它是腾讯开源的,建立在 TRPC 微服务框架之上。

TRPC 是什么?它是腾讯内部使用了多年的 RPC 框架,支撑着微信、QQ、腾讯视频等万亿级流量的业务。现在腾讯把这套微服务基础设施,和 Agent 能力结合在了一起。

定位关键词:
- ✅ 大厂出品,经过生产验证
- ✅ 微服务原生,从第一天就考虑分布式部署
- ✅ 深度整合腾讯技术栈
- ✅ 面向企业级应用,不是玩具项目

Agentic Go Kit:社区驱动的云原生方案

Agentic Go Kit 是一个社区驱动的开源项目,设计理念受 Go Kit(微服务工具包)启发——它不是一个"框架",而是一个"工具包",你可以按需组合使用它的各个组件。

定位关键词:
- ✅ 社区驱动,开放中立
- ✅ LLM 无关,任何模型都可以接
- ✅ 事件驱动架构,松耦合
- ✅ 云原生友好,K8s 友好
- ✅ 模块化设计,按需组装


二、架构设计对比

TRPC Agent Go:图工作流 + RPC 原生

TRPC Agent Go 的架构核心是 图(Graph)工作流 + RPC 微服务

┌─────────────────────────────────────────────────────────┐
│                      TRPC 服务层                          │
│  Agent Service  │  Tool Service  │  Memory Service       │
│     (gRPC)     │    (gRPC)      │   (gRPC)               │
└─────────────────────────────────────────────────────────┘
                           │
┌─────────────────────────────────────────────────────────┐
│                    Agent Runtime Core                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌─────────┐ │
│  │ Graph    │  │  Tool    │  │ Memory   │  │ A2A     │ │
│  │ Engine   │  │ Runtime  │  │ Manager  │  │ Bridge  │ │
│  └──────────┘  └──────────┘  └──────────┘  └─────────┘ │
└─────────────────────────────────────────────────────────┘
                           │
┌─────────────────────────────────────────────────────────┐
│                  LLM Provider 层                          │
│  OpenAI  │  Claude  │  Qwen  │  DeepSeek  │  自定义...  │
└─────────────────────────────────────────────────────────┘

架构特点:

  1. 图工作流引擎:Agent 的执行流程是一个有向无环图(DAG),每个节点是一个步骤,边是控制流。你可以用代码定义复杂的 Agent 逻辑。

go graph := agent.NewGraph(). AddNode("analyze", analyzeStep). AddNode("search", searchStep). AddNode("decide", decideStep). AddEdge("analyze", "search"). AddEdge("search", "decide")

  1. RPC 原生:所有核心组件都是 gRPC 服务,Agent 可以分布式部署,不同的组件跑在不同的机器上。

  2. A2A(Agent to Agent)原生支持:Agent 之间可以通过标准协议互相调用,构建 Agent 网络。

  3. AG-UI 集成:自带 Agent 管理 UI,可以可视化工作流、监控运行状态、调试 Agent。

Agentic Go Kit:事件驱动 + 模块化

Agentic Go Kit 的架构核心是 事件驱动 + 模块化组合

┌─────────────────────────────────────────────────────────┐
                   Application Layer                      
  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐    
   Agent      Agent      Agent      Agent       
   1          2          3          N           
  └─────────┘  └─────────┘  └─────────┘  └─────────┘    
└─────────────────────────────────────────────────────────┘
                           
┌─────────────────────────────────────────────────────────┐
                  Event Bus / Orchestrator                
  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐    
   Event   │──│ State   │──│ Tool    │──│ MCP         
   Stream     Machine    Router     Discovery    
  └─────────┘  └─────────┘  └─────────┘  └─────────┘    
└─────────────────────────────────────────────────────────┘
                           
┌─────────────────────────────────────────────────────────┐
                  Go Kit Middleware Layer                 
  Logging    Metrics    Tracing    Rate Limit   Retry
└─────────────────────────────────────────────────────────┘
                           
┌─────────────────────────────────────────────────────────┐
                     LLM / Tool                         
  Any LLM    Any Tool    MCP Servers    Custom Logic  
└─────────────────────────────────────────────────────────┘

架构特点:

  1. 事件驱动:Agent 之间、Agent 和工具之间,一切都通过事件通信。没有强耦合,任何组件都可以被替换。

```go
// 订阅事件
agent.On("tool_called", func(ctx context.Context, event agent.Event) error {
log.Printf("Tool called: %s", event.Payload["tool_name"])
return nil
})

// 发布事件
agent.Publish(ctx, agent.Event{
Type: "decision_made",
Payload: map[string]any{"choice": "option_a"},
})
```

  1. 完全模块化:你可以只用它的 LLM 抽象层,也可以只用它的工具调用层,也可以用完整的 Agent 编排。想用什么用什么,不想用的就换掉。

  2. LLM 完全无关:核心层不依赖任何特定的 LLM Provider。OpenAI、Anthropic、通义千问、DeepSeek、本地模型,都是平等的 Provider,写个适配器就能接。

  3. 状态机编排:多 Agent 工作流是用状态机定义的,而不是图。状态机对于复杂的业务流程来说,更容易调试和维护。


三、核心特性逐项对比

特性 TRPC Agent Go Agentic Go Kit
语言 Go 1.22+ Go 1.21+
工作流模型 有向无环图(DAG) 状态机
多 Agent ✅ A2A 协议,Agent 网络 ✅ 事件驱动,多 Agent 协作
MCP 支持 ✅ 完整支持,服务端 + 客户端 ✅ 完整支持,动态工具发现
工具调用 ✅ 同步 + 异步 ✅ 同步 + 异步 + 流式
记忆管理 ✅ 向量数据库抽象层 ✅ 可插拔记忆存储
LLM 支持 主流 LLM,扩展需要改代码 完全插件化,任意 LLM
可观测性 ✅ Metrics + Tracing + Logging,开箱即用 ✅ 中间件模式,可自定义
评估框架 ✅ 内置评估套件 ⚠️ 需自行实现
UI 管理界面 ✅ AG-UI,可视化工作流 ❌ 无,可自行集成
分布式部署 ✅ gRPC 原生,天然分布式 ⚠️ 需要配合消息队列
冷启动速度 ⚡ 极快(Go 二进制) ⚡ 极快(Go 二进制)
内存占用 ~20MB/Agent ~15MB/Agent
并发能力 极高(Go goroutine) 极高(Go goroutine)
生产就绪度 高(腾讯内部使用) 中(社区项目)

下面我们挑几个重点展开说。

1. MCP 支持

两个框架都支持 Model Context Protocol(MCP),这是 2026 年 Agent 框架的标配。

TRPC Agent Go 的 MCP 实现:
- MCP 服务器作为独立的 TRPC 服务运行
- Agent 通过 RPC 调用 MCP 工具
- 支持工具缓存、权限控制、限流
- 可以把自己的 Agent 也暴露成 MCP 服务,给其他 Agent 调用

// 注册 MCP 工具服务器
mcpServer := mcp.NewServer("my-tools", mcp.Config{
    Endpoint: "trpc://mcp-service:8080",
})

// 注册工具
mcpServer.RegisterTool("calculator.add", func(ctx context.Context, args mcp.Args) (any, error) {
    return args.GetInt("a") + args.GetInt("b"), nil
})

Agentic Go Kit 的 MCP 实现:
- 动态工具发现:Agent 启动时自动发现网络中的所有 MCP 服务器
- 工具路由:根据工具描述,自动选择最合适的 MCP 服务器调用
- 工具缓存 + 降级:MCP 服务挂了自动降级到本地实现

// 自动发现所有 MCP 服务器
discovery := mcp.NewKubernetesDiscovery("default")
tools, _ := discovery.Discover(ctx)

// 注册所有发现的工具
agent.RegisterTools(tools...)

对比结论:
- 如果你有固定的工具集,TRPC 的方案更稳定,性能更好
- 如果你需要动态、灵活的工具生态,Agentic Go Kit 的发现机制更强大

2. 多 Agent 协作

这是两个框架设计哲学差异最大的地方。

TRPC Agent Go:A2A 协议,Agent 网络

TRPC 定义了一套标准的 Agent-to-Agent 协议,Agent 之间可以像调用 RPC 一样互相调用:

// Agent A 调用 Agent B
client := a2a.NewClient("trpc://agent-b:8080")
response, err := client.Call(ctx, a2a.Request{
    Task: "分析这段代码的安全漏洞",
    Code: "...",
    Timeout: 30 * time.Second,
})

这种方式的优点是强类型、高性能、可治理——你可以对 Agent 之间的调用做限流、熔断、监控,就像治理普通微服务一样。

缺点是耦合度比较高——你需要知道每个 Agent 的地址和接口。

Agentic Go Kit:事件驱动,发布订阅

Agentic Go Kit 用的是事件总线模式,Agent 之间不需要知道对方的存在:

// Agent A 发布任务
eventBus.Publish(ctx, event.TaskRequested{
    TaskID: "analyze-code-123",
    TaskType: "code_security_analysis",
    Payload: map[string]any{"code": "..."},
})

// Agent B 订阅这个类型的任务,自动认领
agent.Subscribe("code_security_analysis", func(ctx context.Context, task event.Task) error {
    // 处理任务
    result := analyze(task.Payload["code"])
    // 发布结果
    eventBus.Publish(ctx, event.TaskCompleted{TaskID: task.ID, Result: result})
    return nil
})

优点是松耦合、高可扩展——加一个新 Agent 不需要改任何现有代码,自动加入协作网络。

缺点是调试和排错比较难——你需要完整的事件追踪系统,不然一个任务在多个 Agent 之间传,你不知道它卡在哪了。

对比结论:
- 团队内部、边界清晰的 Agent 协作,用 TRPC A2A 更合适
- 开放、动态、Agent 数量多的场景,用事件驱动更合适

3. 可观测性

生产级 Agent,可观测性是生命线——不然 Agent 在生产环境出了问题,你根本不知道为什么。

TRPC Agent Go:开箱即用,完整的可观测性体系

  • Metrics:每个 Agent 的调用次数、耗时、成功率、Token 用量,自动暴露 Prometheus 指标
  • Tracing:OpenTelemetry 全链路追踪,从用户请求到 Agent 执行到工具调用,完整链路可查
  • Logging:结构化日志,自动关联 Trace ID
// 所有指标自动采集,你什么都不用做
// agent_requests_total
// agent_duration_seconds
// tool_calls_total
// llm_tokens_used_total
// ...

Agentic Go Kit:中间件模式,灵活可定制

Agentic Go Kit 不绑定任何特定的可观测性方案,而是通过中间件机制让你自己加:

// 加日志中间件
agent.Use(middleware.Logger(logger))

// 加指标中间件
agent.Use(middleware.Prometheus(prom))

// 加链路追踪中间件
agent.Use(middleware.OpenTelemetry(tracer))

// 自己写中间件
agent.Use(func(next agent.HandlerFunc) agent.HandlerFunc {
    return func(ctx context.Context, req *agent.Request) (*agent.Response, error) {
        start := time.Now()
        resp, err := next(ctx, req)
        log.Printf("Agent took %v", time.Since(start))
        return resp, err
    }
})

对比结论:
- 想省事,开箱即用,选 TRPC Agent Go
- 想灵活定制,和现有可观测性体系深度整合,选 Agentic Go Kit

4. 性能基准测试

我做了一个简单的基准测试,对比两个框架的基础性能:

测试项 TRPC Agent Go Agentic Go Kit LangChain (Python)
Agent 冷启动 12ms 8ms 120-500ms
空请求处理(无 LLM 调用) 0.3ms 0.2ms 3-5ms
并发 1000 Agent 内存占用 212MB 187MB 2.5GB+
单 Agent 内存基线 18MB 14MB 80-120MB
工具调用 RPS(无 LLM) 28,000/s 32,000/s 1,500/s

性能结论:
- 两个 Go 框架在性能上是同一个量级,都比 Python 框架快 10-100 倍
- Agentic Go Kit 因为更轻量,基础性能略好一点点
- TRPC Agent Go 因为有 RPC 层的开销,基础性能略高,但在真实场景下这个差异可以忽略不计


四、代码示例对比

光说不练假把式,我们用同一个"代码审查 Agent"的例子,看看两个框架的代码写起来是什么感觉。

TRPC Agent Go 版本

package main

import (
    "context"
    "trpc.group/trpc-go/trpc"
    "trpc.group/trpc-agent-go/agent"
    "trpc.group/trpc-agent-go/tools/git"
    "trpc.group/trpc-agent-go/tools/github"
)

func main() {
    // 创建 Agent 图工作流
    graph := agent.NewGraph("code-review-agent")

    // 步骤 1:获取 PR 变更
    graph.AddNode("fetch_pr", func(ctx context.Context, state *agent.State) error {
        prNumber := state.GetInt("pr_number")
        diff, err := github.GetPRDiff(ctx, "my-org/my-repo", prNumber)
        state.Set("diff", diff)
        return err
    })

    // 步骤 2:分析代码变更
    graph.AddNode("analyze_code", func(ctx context.Context, state *agent.State) error {
        diff := state.GetString("diff")
        review, err := agent.LLM().AnalyzeCode(ctx, diff)
        state.Set("review", review)
        return err
    })

    // 步骤 3:提交评论
    graph.AddNode("post_comment", func(ctx context.Context, state *agent.State) error {
        prNumber := state.GetInt("pr_number")
        review := state.Get("review")
        return github.PostPRComment(ctx, "my-org/my-repo", prNumber, review)
    })

    // 定义执行流程
    graph.AddEdge("fetch_pr", "analyze_code")
    graph.AddEdge("analyze_code", "post_comment")

    // 启动 TRPC 服务
    service := agent.NewService(graph)
    trpc.NewServer().RegisterService(service).Serve()
}

Agentic Go Kit 版本

package main

import (
    "context"
    "github.com/agenticgokit/agokit/agent"
    "github.com/agenticgokit/agokit/event"
    "github.com/agenticgokit/agokit/providers/openai"
)

func main() {
    // 初始化事件总线
    bus := event.NewInMemoryBus()

    // 创建 Agent
    codeReviewAgent := agent.New("code-review-agent",
        agent.WithLLM(openai.New(os.Getenv("OPENAI_API_KEY"))),
        agent.WithEventBus(bus),
    )

    // 订阅 PR 提交事件
    bus.Subscribe("pr_submitted", func(ctx context.Context, e event.Event) error {
        prNumber := e.Payload.GetInt("pr_number")

        // 执行代码审查
        result, err := codeReviewAgent.Execute(ctx, agent.Request{
            Task: "Review this PR for bugs, security issues, and code quality",
            Context: map[string]any{
                "pr_number": prNumber,
            },
            Tools: []agent.Tool{
                github.FetchPRDiff("my-org/my-repo"),
                github.PostPRComment("my-org/my-repo"),
            },
        })

        if err == nil {
            bus.Publish(ctx, event.New("review_completed", map[string]any{
                "pr_number": prNumber,
                "result": result.Content,
            }))
        }

        return err
    })

    // 阻塞运行
    select {}
}

代码风格对比:
- TRPC 的风格更结构化,你需要先定义好整个执行流程的图,然后跑
- Agentic Go Kit 的风格更灵活,基于事件和回调,你可以动态处理各种情况
- 代码量差不多,都是 50 行左右搞定一个完整的 Agent 服务


五、生态与社区

TRPC Agent Go 生态

优势:
- 背靠腾讯 TRPC 生态,有大厂背书
- 有完整的文档和示例
- 有商业支持(腾讯云)
- 和腾讯内部的基础设施深度整合

劣势:
- 社区相对较小,第三方插件不多
- 有一定的 TRPC 学习成本,不熟悉 TRPC 的团队上手需要时间
- 一定程度上和腾讯的技术栈绑定

Agentic Go Kit 生态

优势:
- 完全社区驱动,开放中立
- 模块化设计,第三方扩展非常容易写
- 已经有不少社区贡献的 Provider 和工具包
- 不绑定任何特定的云厂商或者技术栈

劣势:
- 没有大厂背书,长期维护性不确定
- 文档和示例不如 TRPC 完善
- 生产案例相对较少


六、怎么选?

现在回到最关键的问题:我应该选哪个?

选 TRPC Agent Go,如果:

  1. 你的团队已经在使用 Go + TRPC 技术栈
    不用想了,直接用 TRPC Agent Go,和你的现有基础设施无缝整合

  2. 你需要生产级的稳定性和企业级特性
    腾讯内部的大规模使用经验,开箱即用的可观测性,完善的错误处理,这些对生产环境很重要

  3. 你需要构建复杂的 Agent 网络
    A2A 协议,RPC 治理,这些对于 Agent 数量多、关系复杂的场景非常重要

  4. 你在腾讯云或者国内环境部署
    对国内模型(千问、DeepSeek、文心一言)的支持更好

选 Agentic Go Kit,如果:

  1. 你想要轻量、灵活、不绑定的方案
    不想引入一整套 TRPC 生态,只想用 Agent 框架的核心能力,其他自己来

  2. 你需要高度定制化
    想自己换 LLM、换事件总线、换可观测性方案,所有组件都想自己控制

  3. 你在云原生 / Kubernetes 环境部署
    事件驱动架构和 K8s 非常搭,配合消息队列可以轻松做水平扩展

  4. 你是开源项目或者中小团队
    更轻的依赖,更容易上手,社区更开放

两个都不选,如果:

  1. 你的团队主力是 Python,没有 Go 经验
    用 LangChain 或者其他 Python 框架,别硬上 Go
  2. 你只需要做个 Demo,不需要上生产
    Python 框架开发速度更快
  3. 你需要 Python AI 生态的所有东西
    LangChain 的工具、集成、第三方生态,目前还是 Go 比不了的

七、写在最后

Go 语言 Agent 框架的出现,标志着 Agent 技术正在从"Demo 阶段"走向"生产阶段"。

Python 框架解决的是"Agent 能不能跑起来"的问题。
Go 框架解决的是"Agent 能不能稳定、低成本、大规模地跑在生产环境"的问题。

这两个问题同样重要。

TRPC Agent Go 和 Agentic Go Kit 代表了两种不同的设计哲学:
- 一个是大厂思路——标准化、体系化、生产优先、强治理
- 一个是社区思路——模块化、灵活、开放、轻量

没有绝对的好坏,只有适合不适合。

有意思的是,这两个框架都诞生于 2025 年底,都在 2026 年快速成熟。这不是巧合。这是行业发出的一个明确信号:

Agent 的下一个战场,在生产环境。

谁能让 Agent 更低成本、更稳定、更可靠地跑在生产环境,谁就是下一个阶段的赢家。

而 Go,很可能会成为这个战场的主力语言。


参考资源

  1. TRPC Agent Go 官方文档 — https://trpc-group.github.io/trpc-agent-go/
    完整的 API 文档、示例和最佳实践

  2. Agentic Go Kit 官方文档 — https://docs.agenticgokit.com/
    项目文档、快速开始、高级指南

  3. TRPC 官方网站 — https://trpc.group/
    了解 TRPC 微服务框架的基础

  4. Model Context Protocol 规范 — https://spec.modelcontextprotocol.io/
    MCP 协议的完整规范


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

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