简介:Skills的本质是提示工程与上下文工程的组合:技能描述文件解决能力如何被描述,渐进式披露解决信息如何被暴露给模型。本文在此基础上,对比Agent工具箱模式与工作台模式在状态管理、上下文组织、复杂任务稳定性、成本与运维等维度的差异,并给出场景化选型建议与迁移注意事项,帮助技术团队做出更合理的架构决策。
近两年,智能体成为技术社区的核心议题。围绕这条路线,有人投入模型能力优化,有人打磨提示词,有人设计工作流编排,也有人在工具、技能、记忆与规划等组件上持续加码。这些方向都有价值,但一个关键问题长期没有被讲清楚:为什么大量智能体系统在演示阶段表现亮眼,一旦进入真实生产环境就开始失控?
一个简明的概括是:当前多数 Agent 有“手”(工具调用能力),但没有“工位”(组织能力的工作环境)。
要理解这个问题,需要先回答标题中的原始问题——Skills 的本质是什么。从业界常见的技术方案来看,一个 Skill 通常由两个要素构成:
换言之,Skills 并不是某种神秘的模型内置能力,而是“提示工程 + 上下文工程”的组合产物,解决的是“能力如何被描述、如何被暴露给模型”的问题。但即便把每个 Skill 都打磨到位,也只是在“工具箱”层面做优化。真正决定复杂任务成败的,是这些能力被放置在什么样的环境中使用。
由此引出本文的对比对象:工具箱模式与工作台模式。
这套结构在小任务上确实能跑,但任务一复杂,问题立刻暴露——因为真实世界的工作从来不是“连续调用几个函数”这么简单。
工作台模式的核心主张是:不是给 Agent 一个按钮,而是给 Agent 一个能干活的界面。注意,这里的“界面”不是视觉上的图形界面,重点不在于长得像桌面,而在于它是否构成一个可操作、可理解、可持续工作的环境。
一个真正的工作台环境至少具备四个要素:
用一个类比说明:程序员不是靠“读文件、写文件、文本检索”这类原子能力工作的,而是在集成开发环境里工作;分析师不是靠“查数、计算、导出”工作的,而是在表格、看板、报表里工作;运营是在工单、队列、后台工作区里工作。人类是通过“应用”这个中间层,把能力组织成可操作的环境。Agent 现在最缺的,正是这层环境。
两类方案并非互相对立的两种技术,它们有大量共同基础:
工具箱模式下,调用完一个函数,状态就散落在对话历史里,完全依赖模型“记住”此前发生了什么;工作台模式则把状态显式建模并持久化到工作区,每一步操作都会更新环境,Agent 始终知道自己所处的位置。这个差异在长任务中被急剧放大。
工具箱模式的上下文随工具返回结果线性增长,长任务中很快逼近预算上限,模型只能在文本堆里检索线索;工作台模式通过结构化视图与渐进式披露控制信息密度,每个阶段只暴露与当前决策相关的信息。这也解释了为什么渐进式披露属于上下文工程——它本质上是在为模型的注意力做预算管理。
工具箱模式的规划链路随任务复杂度变长,单步错误的累积效应被放大,容易中途发散;工作台模式中,状态、结构与视图本身就是纠偏锚点——即使模型某一步走偏,也能从工作区的当前状态恢复,而不是从头再来。
工具箱模式的问题定位高度依赖调用日志回放;工作台模式的状态变更与视图切换天然形成检查点,可以逐阶段审计,工程排障成本显著降低。
工具箱模式接入门槛低,写几个工具描述就能运行,适合快速验证想法;工作台模式需要设计状态模型、视图层级与披露策略,前期投入明显更高。这是典型的“前期成本换长期稳定性”。
工具箱模式下,工具数量增长后描述互相干扰,模型选择工具的准确率会下降;工作台模式并不排斥工具——工具仍然可以挂载在环境中,扩展的是环境的组织方式,边际成本更可控。
两种模式的示意结构对比如下:
// 工具箱模式:能力平铺 + 执行循环agent = Agent(model, tools=[检索, 读文件, 写文件, 计算])while not task.finished:plan = agent.plan(task) # 上下文随历史线性增长result = agent.call(plan.tool, plan.args) # 调完即弃,无状态残留agent.context.append(result) # 文本堆叠,模型自行"猜"线索// 工作台模式:状态 + 上下文 + 结构 + 视图workspace = Workspace(state = PersistentState(), # 状态落盘,知道"我在哪"views = StageViews(), # 按阶段组织的可见信息)workspace.mount(tools) # 工具仍可复用,但不再是全部while not workspace.task.finished:view = workspace.view_for(stage) # 渐进式披露:只看该看的action = model.decide(view)workspace.apply(action) # 操作即更新环境,形成检查点
| 对比维度 | 工具箱模式 | 工作台模式 |
|---|---|---|
| 核心思路 | 工具集合 + 执行循环 | 可操作、有结构的工作环境 |
| 状态管理 | 弱状态,依赖对话记忆 | 显式状态,持久化于工作区 |
| 上下文组织 | 线性累积,易膨胀 | 结构化视图 + 渐进式披露 |
| 复杂任务稳定性 | 长链路下易发散 | 有纠偏锚点,可持续工作 |
| 调试可观测性 | 依赖日志回放 | 状态与视图形成检查点 |
| 接入成本 | 低,适合快速验证 | 较高,需设计状态与视图 |
| 扩展方式 | 追加工具,描述易互相干扰 | 扩展环境组织,工具可复用 |
| 适用场景 | 查询、摘要、小段代码修改 | 多阶段工程任务、数据分析、运营流程 |
从工具箱迁移到工作台时,需要重点评估以下几点:
回到原始问题——Skills 的本质:它由提示工程(技能描述文件)与上下文工程(渐进式披露)两部分构成,回答的是“能力如何被描述和暴露”。
而工具箱模式与工作台模式的分野在于:前者组织能力,后者组织环境。工具箱模式接入成本低、适合短链路验证,但缺乏状态与结构,复杂任务下容易发散;工作台模式前期投入更高,但通过状态、上下文、结构与视图四要素,为 Agent 提供了可持续工作的“工位”。
决策的核心可以浓缩为一句话:任务越复杂、周期越长,越需要给 Agent 一个工位,而不是更多工具。在具体选型时,应结合任务复杂度、团队能力与演进路径做条件化判断,通过真实任务实测验证,而非追求某种“大一统”的固定答案。