你在 2025 年聊的“Agent”,几个月后就变成了“Harness”,再过几个月又变成了“Claw”。看似命名文字游戏的背后,是用户需求驱动下的自然进化:一个工具越有用,用户就越希望它随时可用;任务运行时间越长,用户就越希望它能够在后台和云端持续工作;系统掌握的上下文越多,用户就越希望它主动发现问题并采取行动。最终,它会从一个等待命令的开发工具,变成一个长期存在于用户工作和生活中的 Agent。
不过,这种演化也带来一个限制:用户能够容纳的 Claw 数量非常有限。用户不会愿意让几十个 Agent 同时订阅邮件、发送通知、在 Slack 中 @自己。就像地图、打车和外卖软件一样,每个类别最终可能只会留下少数一两个产品。
Sam Bhagwat 曾经参与构建过庞大的前端框架 Gatsby,如今他的新公司 Mastra 正在为 AI 开发者打造 Agent 框架。他声称,自己已看清了这股新原语浪潮的流向。日前,Sam 在技术分享中,拆解了从 LLM 到 Agent、再到 Harness 和 Claw 的进化路径。他观察到:任何足够有用的 Agent,最终都会被用户逼着运行得更久、响应的渠道更多、甚至在你睡觉时自己变强。随之提出了施泰因伯格定律——所有 Harness 都会“膨胀”,向 Claw 演化,同时,真正的竞争重点也会发生变化,大家争夺的不只是任务执行能力,还包括用户的注意力、信任和长期使用习惯。基于该演讲视频,InfoQ 对内容进行了整理。
核心观点如下:
LLM 与 Agent 的界限在于“循环”,一旦模型开始拥有工具调用、重试机制和状态持久化,它就告别了单次文本转换的原始阶段。
Harness 时代的核心竞争力是规划模式、并行子 Agent 和“非回合制”的操控感。
云端 Harness 通过沙箱和并行计算,让 Agent“全勤在线”,你可以关掉笔记本去睡觉,代码仍在生成。
Claw 要求 Agent 拥有心跳:定时任务、通知订阅、多通道网关,以及最重要的自发创建并微调新 Skill 的持续学习能力。
用户只有精力接纳极少数的 Claw,就像手机里只有一两个地图应用一样,未来的 AI 应用应该去抢占用户的心智空间。
“Harness 时代”降临
自从 Claude Code 几个月前开始流行以来,我们进入了所谓的“Harness 时代”,大量代码和其他工作都在这种长时间运行的 Agent 循环中完成。而且有各种不同的形态:云端、本地、框架版本。一年前我在 AI Engineer 大会上演讲时,主题是“Agent 还是工作流——为什么不能两者兼得?”而现在我们在讨论 Harness。那么这些东西之间有什么关系呢?
我认为这可以看作是一个 Agentic 光谱。从仅仅使用模型开始,一直到 Claw,比如 OpenClaw、Hermes Agent,中间有几个不同的阶段。随着你为应用添加越来越多的功能,这些应用会逐渐积累一些特性。这也很大程度上塑造了我们推出的原语(Primitives),用于帮助用户构建这些 Agent、Harness 和 Claw。

很多人现在张口闭口就是 Agent,但 LLM 和 Agent 之间那道最根本的分界线是什么?我们都知道 Agent Loop,知道工具调用,知道记忆和重试失败的任务。大概在 2025 年的七八月份,业内开始流行上下文工程的玩法,让 Agent 能够存储状态。
但这一切都意味着什么呢?意味着你手里的这个东西开始在一个循环里运转了。它不再只是做单次文本转换,或者做某种分类。它变成了一个你可以聊天的对话助理,可以嵌入到 SaaS 应用里,或者在本地电脑上跑。这比单纯调一个 Anthropic 或 OpenAI 的 API 要复杂得多了。到了这一步,它才真正算是 Agent ,而不仅仅是 LLM。

那么下一步呢?我们怎么从这种基础 Agent,跨越到像 Claude Code 这样的 Harness 型态?这里面可加了不少猛料。

如果你用过 Claude Code,或者用过 Codex,你琢磨一下,是什么让体验变得这么爽?首先,规划模式。它会直接告诉你:“嘿,我打算干这五步活。”接着,你就能看见它在菜单上把第一步打勾,然后第二步打勾。还有并行子 Agent:用这个子 Agent 去研究 A 主题,用那个子 Agent 去研究 B 主题,每个都有自己干净的上下文窗口,研究完把发现喂回主线程就完事了。
我们还有了更牛的驱动方式,比如那种 TUI 界面、斜杠指令、 Skill 系统。还有动态生成的子 Agent,你甚至不用提前定义它们,它自己跑着跑着就现场捏一个出来。它还能在后台启动 Bash 任务。当上下文窗口快撑爆时,它还能自动压缩。线程可以持久化,这样你能随时恢复,或有时候它直接把状态存磁盘里。
这就不是简单的聊天了。你在普通 Agent 里,常常是 LLM 动一回合,你动一回合,像下棋。但 Claude Code 不同,你可以插队,可以掌舵,可以中途打断它,这完全是一种新的交互启示。权限控制也更细腻了,比如我可以批准这类指令在整个会话中都放行,或者只批准这一次。
升上云端
那你再想想,Claude Code 和 Devin 这类东西又有什么不一样?Devin 是活在 Slack 里的,这本质上就是多人游戏,一堆人可以同时跟它唠嗑。它还有 Web UI,你可以在那让对话线程分叉。很多云端优先的 Harness 还支持移动端,我甚至看到越来越多的功能是:这些移动应用直接打隧道穿透到你本机。

因为它们长在云上,往往直接给你配了云端沙箱。而且,因为它们在云上,并行处理能力直接拉满。你在自己的机器上,想做太多并行进程是不可能的,或者说你根本不想它把你的机子跑冒烟。但在云端,你可以放开手脚,这是分布式计算的永恒真理,以前我在搞 Gatsby 时就深有体会。你在本地跑个构建跟你在云端跑个构建完全是两个概念,云上你能并行的活儿多太多了,跑 Agent 也是一样。
与其让你本机去开个分支或者搞个工作树,这种云 Harness 往往直接创建个 PR 推到 GitHub 就完事了。我把这类特性归结为“全勤(Always-on)”,你不需要一直开着笔记本保持它呼吸。你出去遛个弯,甚至睡一觉,它都在那自己转。把活丢给它,让它自己跑就好了。
所以在 Harness 时代内部,也存在着本地和云端两种形态的分野。就像 Next.js 的开发服务器跑在你电脑上,跟 Render 或 Vercel 上的预览构建本质上是一回事,只是存在形态的区别。
所有 Harness 都会膨胀为 Claw
我们看看下一个终极形态:Claw。从 Harness 到 Claw,又多了几样决定性配置。
一个是心跳,也就是常说的定时触发、调度任务、Cron。你可以安排它每三十分钟醒来一次,帮你检查各种事情。这直接引出了下一个特征:订阅。如果你用过什么个人助手类的 Agent,会发现它会订阅你的邮件,给你发短信:“瞅见一封急活邮件,你要不要我帮你回?”
它的记忆通常也存在云端,还有网关,有了各种通道:你可以在 Slack 上找它,在 Telegram 上发号施令,WhatsApp 吼一嗓子,或者用 iMessage。然后,我们终于看到了一个心心念念很久的东西:持续学习。它们会自己捏造新 Skill,或者基于你给它的 Skill,观察你的操作习惯,然后去微调那个 Skill。长此以往,它在特定任务上会越做越溜。这是我们对 Claw 的终极期待,现在总算开始起量了。
我把这套逻辑叫做施泰因伯格(Steinberger)定律:任何一副 Harness,只要它不被干掉,它就会不断吸收功能,直到最终膨胀成一只 Claw。
它膨胀是因为我们这些用户逼着它膨胀,如果某个东西有用,我们就是受不了还得专门去打开它,我们想发条短信就可以搞定,想让它在夜里自己替我跑活。
我们想要的,是一个私人的多巴胺赌场:我们在入口塞进一堆 Token,然后使劲摇,看它能给我们吐出什么产出,不管是代码,还是任何我们需要的东西。
如果你是正在构建 Agent、 Harness 或 Claw 的开发者,你去看看用户发给你的需求。你大概也会发现,他们简直是在推着你往这个进化方向上走:“能不能多干点?能不能干快点?能不能多开几个研究任务?能不能别只跑三个任务,一次给我跑二十个?”
当你听到这路需求时,你需要在脑子里给它们归好类,立刻反应过来:原来这帮用户是想让我的 Agent 进化成 Harness。
作为框架商,我承认我肯定是有私心的。我觉得与其让你自己去手搓这些复杂特性,不如找个已经把底层活干好的框架要省力得多。
我们见了太多团队,天天在纠结:“我到底是该搞这个新功能,还是该去做那些真正面向用户的东西?”这种时候,如果你手里有个框架能帮你把这些基础设施扛起来,那感觉其实是挺美好的。
抢夺用户的心智空间
但在这收尾时刻,我想泼一点点冷水。当我们的 Agent 膨胀成 Harness,当 Harness 又膨胀成 Claw,我们必须正视一个冰冷的现实:现实世界里的普通人,脑子里能留出来的位置,只够塞下屈指可数的几只 Claw,毕竟真正能时时刻刻唤醒着、订阅着通知、短信轰炸你、消息闪个没完的通道是有限的。
这跟我们手机里的应用生态其实非常像。我们有各种不同品类的应用,但每个品类里,真正活下来的也就那一两个。你数数,共享出行应用最后活下来几个?地图应用几个?外卖应用几个?这里面当然夹杂了各种因素,但有一个就是:用户大脑里的“货架”是极其有限的。

所以你得清楚,将来你是在抢夺大家的心智空间。如果你能构建出某种对用户来说极具粘性的东西,那你就必须做好准备,去跟其他同样也想抢占用户粘性的东西贴身肉搏。
一旦上了这条道,你就得一路走到底。





