聊聊最近折腾 AI Agent 的一点心得:都是干活,为啥有的疯狂烧钱,有的却极其省 Token?
最近在看各个 AI 智能体(Agent)的底层架构,从早期的 Codex 类项目,到最近很火的 OpenClaw、Hermes-Agent,再到 Anthropic 官方下场的 Claude Code。
如果你自己用 API 跑过这些 Agent 就会发现一个很有意思的现象:同样是完成一个复杂的本地代码任务,有的 Agent 像个无底洞,疯狂吞噬你的 Token 额度;而有的却极其精打细算,不仅速度快,账单还便宜得离谱。
深挖了一下它们的底层逻辑,我发现这根本不是模型能力的问题,而是架构设计思路有着天壤之别。
今天简单按四种路线给大家复盘一下。
1. Hermes-Agent:自我进化的“精简主义者”
Hermes 给我的最大感觉就是:它把算力全花在“刀刃”上了。
大部分人在写 Agent 的时候,习惯于手写几千字的 System Prompt,恨不得把所有的规则、工具说明全塞进去。但 Hermes 走的是一条完全不同的路——DSPy 提示词变异与压缩。
它在后台就像一个编译器,会自己跑测试用例,利用算法不断“淘汰”冗余的词汇,最后硬生生把庞大的工具描述压缩到 500 个字符以内。最绝的是它的程序化记忆机制:如果它今天费了九牛二虎之力排查出一个环境配置的 Bug,它会把这条成功的“思维链”提取出来,固化成一个十几 KB 的微型技能文件。下次再遇到同样的问题,直接调用“肌肉记忆”,跳过昂贵的推理过程。
再加上它强制在对话中途不改变系统提示词,完美白嫖了底层大模型的 KV Cache,首字响应极快,Token 消耗被压到了极致。
2. Claude Code:大厂教科书级的“系统工程”
如果说 Hermes 是靠算法进化来省 Token,那 Claude Code 就是靠顶级的工程架构教大家做人。它完全把 Token 当成了操作系统的“内存”来管理。
在用其他 Agent 时,最崩溃的就是让它去读报错日志。几十页的 Garbage Log 一塞进去,上下文直接爆炸。Claude Code 怎么解决的?子智能体隔离(Sub-agent Isolation)。
主 Agent 遇到这种脏活累活,会直接拉起一个独立的子进程去读文件、试错。子进程在自己的上下文里摸爬滚打,最后只给主进程返回一句纯净的最终结论(比如:“XX 文件第 50 行少了个分号”)。所有的试错噪音都被完美隔离了。
而且它自带“内存垃圾回收”:当上下文占用过半,它会自动暂停,生成一个极度浓缩的历史摘要替换掉前面的长篇大论。配合原生的 Prompt Caching,既保持了长线作战的能力,又把损耗降到了最低。
3. OpenClaw 🦞:自带“全家桶”的解释器
相比之下,OpenClaw 的思路就显得非常狂野。它的设计哲学是:把完整的环境认知毫无保留地交给大模型。
这意味着极高的灵活性。但代价是什么?每次交互,它都会去本地工作区把 AGENTS.md(角色设定)、SOUL.md(性格)、TOOLS.md(工具说明)等文件全量动态拼接,然后一股脑丢给模型。
这就好比你让一个员工去复印个文件,他非要把公司的员工手册、企业文化、消防指南全背一遍才去干活。这种架构不仅基础 Token 载荷非常高,而且随着对话拉长,模型极其容易在冗长的设定中分散注意力。从安全审计的角度来看,这种大量读取本地文件作为 Prompt 的机制,也大大增加了被恶意注入的风险。
4. 传统智能体(如早期的 Codex 类):大力出奇迹
至于更早期的那些 Agent,思路就更加简单粗暴了——纯靠模型不断增长的上下文窗口硬扛。
不管是 128k 还是 200k,遇到问题就是重度 RAG(检索增强),或者直接把整个代码库的目录树、完整的 AST 塞进去。这本质上是把大模型当搜索引擎用,用 Token 换能力。不仅贵得让人肉疼,还极其容易触发长文本的“Lost in the middle(中间遗忘)”现象。
总结一下
回头看这几个项目的底层逻辑,其实可以打个很贴切的比方:
- Hermes 像个编译器:平时疯狂优化自身指令,执行时只跑最优解。
- Claude Code 像个操作系统:通过进程隔离和内存回收,优雅地控制状态。
- OpenClaw 像个解释器:每次干活都要重新加载一遍全局环境变量。
- 传统 Agent 则像个搜索引擎:全文检索,大力出奇迹。
随着大模型能力逐渐逼近天花板,接下来的 Agent 赛道,拼的绝不仅仅是底座模型有多聪明,而是谁的架构设计能把 Token 用得更优雅、更高效。毕竟,能干活是一回事,不把老板(或者我们自己的钱包)搞破产是另一回事。
更多推荐
所有评论(0)