套壳不丢人!我用Go+AI搓了一个Agent统一编排框架,ClaudeCode-Codex-Pi全被我包了

去年我还在折腾 langchain/langgraph 开发智能体,弄了个 langgraphgo 项目,把 langgraph 往 Go 生态圈里搬。那会儿网上做智能体的,十个有八个用 langchain/Crew AI。

一个阶段有一个阶段的玩法。

现在我看到了另一种路子:大家直接用 Claude Code、Codex、OpenCode、Pi 这些 coding agent "套壳"来实现智能体。

先说两个很多人搞混的点。

别觉得这些工具只能写代码。Claude Code、Codex 的架构走的是通用智能体模式,早就不止 coding 了。

也别把"套壳"当贬义词。Manus 刚火那阵,就有同事撇嘴说"这不就是 Claude 的套壳"。但你看,Claude、Codex、Antigravity 一个个都在推 SDK,巴不得你基于它们二次开发。牛顿怎么说的,站在巨人肩膀上不丢人。

百度厂内突然蹿红了一个叫 dodo 的应用比龙虾都火。就是靠"套壳"快速出产品原型,再慢慢长成大家离不开的工具。百度公众号和前几天的百度大会上也推了。

OpenClaw 是在 Pi coding agent 上搭起来的智能体产品,上半年火得不成样子。

这些东西免费(CC),有的还开源(Codex CLI、OpenCode、Pi),甚至设计了 harness engineering 这套东西。等于送你一个结实的产品基座,剩下的精力全押在产品和创意上。

一行命令就能跑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 流式输出(文本→stdout,元数据→stderr)
agent-wrapper run --provider claude-code "解释这段代码"

# JSON 聚合输出(CI/脚本友好)
agent-wrapper run --provider codex "fix the bug" --json

# 带审批+预算
agent-wrapper run --provider claude-code "重构本项目" --approve-all --budget-tokens 50000

# NDJSON 管道输出
agent-wrapper run --provider claude-code "hello" --json --stream | jq .

# 恢复会话
agent-wrapper run --provider claude-code --session-id abc123 "继续"

但更核心的用法是当 Go 库用。go get 一下,import 进去,调 orch.Run。零额外进程,零协议开销。Claude Code、Codex、Pi、OpenCode,五个 provider,一套接口。

套壳的真正价值

套壳不丢人。

丢人的是换一次工具重写一遍胶水代码。丢人的是用着 AI Agent 还得手工管子进程生命周期。丢人的是一晚上 API 烧了几十美刀第二天看账单才后悔。

agent-wrapper 就是个壳。但解决的不是"怎么调一次 Agent",是"怎么让 Agent 安全地、长期地、按预算地、跨 provider 为你工作"。把"玩一下"变成"能上线"。

项目地址:https://github.com/smallnest/agent-wrapper

最后说几句

大多数人用 Agent 还停留在"命令行输一个 prompt"。这没什么不对,但不够。

十年前我们从手写 SQL 走到满世界 ORM,从手动部署走到 k8s 编排。每一轮变化里,有人站在第一层骂套壳,有人站在第二层埋头套壳,还有人站在第三层——让所有想套壳的人套得更快。

Agent 时代,把壳套好,就是最好的手艺。