不用 Python 也能搞 AI Agent —— 一个纯 Go 实现的 SDK 和 Agent 平台

Ifade 2026-06-26 21:58 1

之前看到不少人说搞 AI Agent 绑定 Python ,想试试用 Go 能做到什么程度。


起因是 OpenAI 开源了 openai-agents-python,觉得设计挺好的,就拿当时刚出的 Claude Fable 5 一把梭把核心逻辑移植成了 Go 版本(后来 Fable 5 下线了,后续用 Claude Code 断断续续补完的)。


SDK 在这里:github.com/zzir/agents-go


移植完 SDK 之后顺手写了个完整的 Web Demo ,算是验证 SDK 能不能真正跑起来:agents-server


单二进制部署,内嵌前端,SQLite ,开箱即用。


目前实现的东西:



  • 多 Agent 协作,自动 Handoff 切换

  • MCP Server 接入( Stdio / Streamable HTTP )

  • 代码沙箱(本地 / Docker / SSH )

  • 输入输出 Guardrails (正则 / 长度限制,支持自定义)

  • Human-in-the-loop ,工具调用前人工审批

  • 会话分叉 & 置顶

  • 流式输出( WebSocket )

  • 全链路 Tracing

  • 请求重试 / 模型降级 / 多 Provider 路由

  • Skills 扩展( SKILL.md 格式)

  • ChatGPT 订阅登录(用订阅额度跑 Agent )

  • Primer 风格 UI ,支持暗色模式


整个过程最大的感受是 Go 做这种事情并不吃亏,并发模型天然适合多工具并行调用,类型系统也让 Agent 的状态流转比较清晰。唯一麻烦的是 JSON Schema 那块,Go 的反射写起来没 Python 的 Pydantic 舒服。


另外前端实现比较野路子——没有构建步骤,裸 JSX 通过 go:embed 打进二进制,浏览器端 ESM 直接跑,React.createElement 手搓 UI ,不要学这个写法哈,纯粹是为了保持单二进制部署才这么搞的 /手动狗头


欢迎拍砖试用 :)


aa

最新回复 (4)
  • Ifade 楼主 06-26 22:17
    1
    自己给自己回复给个
  • dishonest 06-27 00:47
    2
    今天刚好也在找资料计划造个 agent 轮子,给你点个赞先
  • EscYezi 06-28 05:30
    3
    纯二进制部署也可以加构建步骤,把构建产物 embed 就可以了
  • Ifade 楼主 06-28 13:04
    4
    @EscYezi 确实👍 当前这种 esm 方式实现,交互逻辑稍微复杂点,Review 和调试成本很费时间,准备将 UI 改成 Vite + React 的实现,go:embed 嵌入保持部署还是单二进制,且离线更友好
* 帖子来源V2EX
返回