Agent Apps:Agent 时代,大家都在造工具箱,但真正缺的是“工作台”
这两年,几乎所有人都在聊 Agent。 有人卷模型。 看上去大家都很忙,也都很有道理。 但我越来越觉得,这个方向里有一个特别关键的东西,一直没人真正讲明白: 我们缺的不是更多工具。 不是给人用的 AI App。 而是一层一直存在、但始终没被单独命名的东西: Agent App。 如果这一层不被单独拎出来,接下来很长一段时间,大家都会重复掉进同一个坑: Demo 做得飞起,系统一落地就开始散。 一句话: 它有手,但没有工位。 今天大多数 Agent 系统,底层都是同一个套路: 给模型接一堆 tools, 这套东西在小任务上当然能跑。 但只要任务一变复杂,问题立刻就来了。 为什么? 因为真实世界里的工作,从来都不是“连续调用几个函数”这么简单。 程序员不是靠 分析师不是靠 运营也不是靠 说白了: 人类不是直接使用能力完成工作的。 Agent 现在最缺的,就是这个环境。 我更愿意用一句人话来解释: Agent App,不是给 Agent 一个按钮。 注意,这里的“界面”不是视觉上的 GUI。 一个真正的 Agent App,至少得有这几样东西: 它有状态。 它有上下文。 它有结构。 它有视图。 它有动作,而且动作和当前上下文是绑在一起的。 所以最简单的理解是: Tool 给 Agent 的,是“能做什么”。 前者是能力。 这就是两者最大的区别。 因为传统 App 从第一天开始,就不是给 Agent 设计的。 传统 App 默认谁在操作? 所以它天然假设: 这些东西,人类当然没问题。 但 Agent 不行。 对 Agent 来说,一个界面如果只是“长得合理”,那是没用的。 也就是说,传统 App 优先服务的是“人类感知”。 而 Agent App 优先服务的是“机器操作”。 这两者看起来像一家人,底层假设其实完全不是一回事。 很多人一听这个概念,第一反应就是: “哦,不就是把 tools 包装得更好一点吗?” 不是。差远了。 tool collection 本质上是什么? 比如: 这当然重要。 Agent 能做什么。 它没有解决另外几件更关键的事: 工具集合像什么? 像把一大箱扳手、螺丝刀、电钻丢在地上,然后告诉 Agent: 但 App 像什么? 像你把施工图、当前进度、材料区、操作台、危险边界、可执行步骤,全都整理好了,然后再让它开工。 一个是“你手里有什么”。 这根本不是一层东西。 所以我一直觉得,很多团队不是 Tool 不够多,而是太迷信 Tool 了。 好像工具越多,Agent 就越强。 skills 比 tools 更高级一点,但还是不够。 因为 skill 解决的是“怎么做一类事情”,不是“你在什么环境里做这件事”。 比如: 一个 skill 可以教 Agent 怎么 review PR。 没问题。 但 skill 大多数时候解决的是流程经验,是套路,是方法论。 它像一个熟练工人的经验包。 可问题是,经验再丰富,也得有工位。 你不能把一个技能包扔进真空里,然后指望它稳定发挥。 没有应用层,skill 最后会变成什么? 会变成一锅越来越稠的提示词汤。 今天补一句 instruction。 所以这几层最好分清楚: tools 是手脚 少了工位,手脚再多,大脑再强,最后都容易原地打转。 因为一个东西只要没被命名,它最后就一定会被“糊”在别的层里。 然后整个系统开始畸形发育。 现在行业里最常见的两种畸形,我觉得特别典型。 遇到问题怎么办? 加 tool。 结果就是: 工具一箩筐, 不是不会调用, 既然 tools 不够,那就增强 agent。 Prompt 写长一点。 结果就是: 看起来越来越高级, 为什么? 因为本来该由“应用环境”承担的职责,被你硬塞进了 Agent 本身。 该由环境提供状态。 该由环境约束动作。 该由环境组织视图。 最后当然会越来越脆。 所以“Agent App”这个名字的价值,不只是为了造新词。 这里本来就该有一层。 这层不属于 tool。 首先,Agent 会更稳。 因为它不再面对“一大坨文本 + 一大串工具说明”。 这两种系统,稳定性根本不是一个级别。 其次,架构会变清楚。 你会自然地把系统拆成几层: 这时候系统是能长大的。 再往后,生态也会变。 因为一旦“App”这层成立了,你构建的就不再是“给 Agent 配工具链”。 你是在构建一套Agent 原生的软件生态。 给 Agent 用的 IDE。 很多人现在还在争:“Agent 会不会吃掉 App?” 我觉得更可能的答案是: Agent 不会吃掉 App。 只是这些 App,不再以人类操作为第一前提。 现在很多人一聊 multi-agent,马上开始聊分工、通信、协作、投票、博弈。 这些都没错。 因为多个 Agent 要协作,前提不是“会不会互发消息”。 如果没有共享状态, 那你所谓的协作,最后大概率就是几个人在一个黑屋子里喊话。 喊得很热闹,事没怎么推进。 Agent App 恰恰提供的,就是这个“工作表面”。 它让协作不再只是 message passing, 这才像真的在工作。 如果一定要把这几层说得再直白一点,那就是: Tools 是工具箱。 过去大家太迷恋“给 Agent 多装点能力”。 但能力从来不是全部。 一个人再有本事, Agent 也是一样。 所以我越来越相信: 下一代 Agent stack 里,真正值得被单独拎出来讨论的,不只是模型,不只是工具,不只是工作流。 而是这一层—— Agent Apps。 因为它补上的,不是某个功能。 说到底,Agent 不是只需要一双手。Agent Apps:Agent 时代,大家都在造工具箱,但真正缺的是“工作台”
有人卷 Prompt。
有人卷 Workflow。
有人卷 Tools、Skills、Memory、Planning。
我们缺的是 Agent 的 App。
不是一堆工具打包起来换个壳。
也不是那种“一个 Agent 包打天下”的大一统幻觉。现在的 Agent,最大的问题是什么?

再给它一个 loop,
让它自己规划、自己调用、自己执行。
查个资料,改段代码,写个总结,都没问题。read_file + write_file + grep 工作的。
程序员是在 IDE 里工作的。query_data + calculate + export 工作的。
分析师是在表格、看板、报表里工作的。search + send + update_status 工作的。
运营是在工单、队列、后台、工作区里工作的。
人类是通过“应用”这个中间层,把能力组织成可操作的环境。什么叫 Agent App?
而是给 Agent 一个能干活的界面。
重点不是长得像桌面。
重点是:它是不是一个可操作、可理解、可持续工作的环境。
不是调完一个函数就什么都不剩了。
知道“我现在在哪”,而不是永远从零开始。
不是一坨文本喂给模型自己猜。
不同阶段,该看到什么,不该看到什么,是有组织的。
不是任何时候都把一整个工具列表甩给模型。
Agent App 给 Agent 的,是“现在该在哪做、照着什么做”。
后者是工作现场。为什么说它不是传统 App?
人。
它需要的是另一种东西:为什么它不是 tool collection?

就是一张能力清单。
但它只解决了一件事:
“来,开始修房子吧。”
一个是“你现在到底在干什么”。
其实很多时候,工具越多,Agent 越容易迷路。为什么它也不是 skills?

一个 skill 可以教 Agent 怎么写研究总结。
一个 skill 可以教 Agent 怎么排查一次线上故障。
它告诉你这活一般怎么干,先看什么,后看什么,出了问题怎么办。
明天加一段 tool doc。
后天再塞一个 heuristic。
再后天多来一层 router。
最后整个系统看起来像能跑,实际上维护的人每天都在赌命。
skills 是经验
agents 是大脑
Agent Apps 是工位为什么一定要把这一层单独命名出来?

第一种:工具大爆炸
再加 tool。
继续加 tool。
再把 tool description 写长一点。
再加一点 metadata。
再做一层 wrapper。
系统还是没脑子。
是根本搞不清自己现在身处什么状态。第二种:把一切都塞进 Agent
Context 喂多一点。
Planning 做复杂一点。
Memory 挂多一点。
Router 再智能一点。
其实越来越像一团屎山。
你让 Prompt 去背。
你让模型自己悟。
你让上下文自己拼。
而是为了逼着大家承认:
不属于 skill。
也不该塞进 agent loop。
它就该是一个独立层。一旦承认 Agent App 是一层,很多事情会瞬间变清楚
而是在一个有边界、有状态、有合法动作集合的环境里工作。
不然最后一定长成 framework spaghetti。
给 Agent 用的 spreadsheet。
给 Agent 用的 research workspace。
给 Agent 用的 ops console。
给 Agent 用的 support desk。
给 Agent 用的 planning board。
Agent 会催生出一批新 App。多 Agent 为什么一直做得别扭?问题可能也在这里
但很多讨论都太着急了。
前提是:它们有没有一个清晰的工作表面。
没有明确边界,
没有可追踪的状态变化,
没有对齐好的上下文视图,
而是建立在一个明确环境之上的状态协同。最后,用一句最土但最准的话总结
Skills 是老师傅的手艺。
Agents 是会动脑子的操作员。
Agent Apps 是它真正上班的工位。
你把他扔进一个没有桌子、没有流程、没有面板、没有上下文的空房间里,
他也干不好活。
而是 Agent 真正开始“上班”所需要的环境。
它需要一个工位。