一个 Agent 拥有 100 个 Skill,它真的会比只有 5 个 Skill 更强吗?
Agent 正在获得越来越多能力。
搜索、浏览器、代码执行、数据库、邮件、日历、文档、图片、PDF、CRM、企业内部系统……
过去的问题是:
AI 不会做。
于是我们不断给 AI 增加工具。
但当 Skill 越来越多以后,一个新的问题开始出现:
AI 什么都会了,但它到底该用什么?
这可能是 Agent 从 Demo 走向真实系统以后必须面对的一次复杂度迁移。
Skill 本身没有问题。
模块化能力甚至是 Agent 真正进入生产环境的必要条件。
真正的问题在于:
Skill 到底是在把一种能力磨成“倚天剑”,还是在把所有工具绑在一起,最终做成一个“要你命3000”?
好的 Skill 应该像一把倚天剑
什么才算一个好的 Skill?
并不是功能越多越好。
更重要的是:
它能不能把一类明确的问题稳定地解决。
一个 Skill 最理想的状态应该是:
明确输入 → 明确能力 → 可预期输出
例如:
- 读取财务报表并按照固定框架分析;
- 检查一类代码问题;
- 根据企业模板生成报告;
- 调用某个业务系统完成固定流程;
- 对一种标准文档进行结构化处理。
这些 Skill 的共同特征不是“万能”。
而是:
边界清晰。
遇到这个问题,就知道应该调用它。
不属于这个问题,就不需要调用。
这更像一把专业武器。
它不需要同时具备锤子、扳手、菜刀和电钻的功能。
它只需要把一件事情做到足够锋利。
所以好的 Skill 更像:
倚天剑。
能力集中。
用途明确。
关键时刻解决问题。
Skill 越多,Agent 面临的第一个问题可能变成“选哪个”
假设一个 Agent 只有三个工具:
搜索。
计算。
邮件。
用户说:
查一下某家公司最近的融资情况,然后整理给我。
工具选择非常简单。
但如果这个 Agent 同时拥有:
- Web Search
- News Search
- Company Research
- Market Research
- Investment Research
- Funding Database
- Deep Research
- Competitive Intelligence
- Business Intelligence
问题马上改变了。
Agent 在解决用户问题以前,首先需要解决:
我到底该调用哪一个?
这时候系统的瓶颈已经不再只是能力不足。
而开始变成:
能力选择。
Skill 越多,可能的调用路径越多。
调用路径越多,调度复杂度越高。
于是 Agent 的复杂度开始从:
模型不会做
迁移到:
模型不知道应该怎么做
这可能是 Agent 系统下一阶段非常重要的问题。
Agent 的理论能力,不等于有效能力
一个 Agent 接入 100 个 Skill,我们可以说它理论上拥有 100 种能力。
但真实任务里真正重要的是:
这些能力能够被正确调用多少次。
因此需要区分两个概念。
第一个是:
理论能力。
也就是这个 Agent 可以调用什么。
第二个是:
有效能力。
也就是面对一个真实任务时,它能不能:
选对 Skill。
按照正确顺序调用。
传递正确上下文。
处理异常。
在适当的时候停止。
所以 Agent 的有效能力并不能简单理解为:
Skill1 + Skill2 + Skill3 + ...
更接近:
有效能力 ≈ Skill专业能力 × 调度准确率 - 协调成本 - 选择错误 - 上下文成本 - 执行失败
这当然不是一个严格的工程公式。
但它说明一个非常重要的问题:
增加 Skill 的同时,增加的不只有能力,也增加了选择空间。
如果一个拥有 50 个 Skill 的 Agent 经常:
选错工具。
重复调用。
绕远路。
把简单问题复杂化。
那么它体现出来的真实能力,完全可能不如一个只有 5 个 Skill、但边界非常清晰的 Agent。
Agent 可能开始出现“工具选择熵”
这里可以定义一个概念:
工具选择熵(Tool Selection Entropy)。
它描述的是:
当 Agent 可调用能力不断增加以后,判断“这个任务应该调用什么能力,以及按照什么顺序调用”的不确定性。
只有一把锤子的时候,没有什么选择问题。
有:
锤子。
扳手。
螺丝刀。
电钻。
选择开始增加。
如果工具箱里有 300 种功能部分重叠的工具,那么:
选工具本身就开始成为工作。
Agent 也是一样。
特别是当不同 Skill 之间出现大量能力重叠:
Search
Research
Deep Research
Company Research
Market Research
它们可能都能够处理一部分相同任务。
这时候 Agent 不仅需要理解用户的问题。
它还必须理解:
自己的工具体系。
于是 Skill 越来越多以后,系统自然开始需要新的基础设施:
- Skill 分类;
- Skill Registry;
- Router;
- 权限系统;
- 优先级;
- 上下文管理;
- 调用策略;
- 失败回退;
- 成本控制;
- 执行监控。
到这里,Agent 已经越来越像一个操作系统。
“要你命3000”的问题,不是每件工具没用
为什么“要你命3000”是一个很好的 Agent 隐喻?
因为它的问题从来不是:
每一种武器都没用。
恰恰相反。
每一种东西单独看都可能有用。
真正荒诞的地方在于:
为什么要把这些东西全部绑在一起?
Agent 也很容易走到这个方向。
一个 AI 产品开始不断增加:
搜索。
浏览器。
数据库。
邮件。
日历。
代码。
Excel。
PPT。
图片生成。
CRM。
知识库。
部署。
客服。
数据分析。
每增加一个能力,都可以录一个新的 Demo。
产品介绍页也越来越漂亮:
我们的 Agent 什么都能干。
但这时候真正应该问的是:
为什么这些能力必须属于同一个 Agent?
如果没有回答这个问题,所谓能力扩张很可能只是:
工具堆砌。
很多 Skill 膨胀,本质上是问题定义失败
假设一个团队说:
我们要做一个 AI 工作助手。
这个定义几乎没有边界。
于是接下来所有需求都会显得合理。
用户可能需要搜索。
加 Search。
用户可能需要发邮件。
加 Email。
用户可能要处理 Excel。
加 Spreadsheet。
用户还可能写文档。
加 Documents。
用户需要管理会议。
再加 Calendar。
最后必然走向:
什么都需要。
但问题也许从第一天就已经出现了:
这个 Agent 究竟负责解决什么问题?
如果把问题改成:
帮助销售人员在客户会议前完成客户研究。
能力范围马上会收缩。
它真正需要的可能只是:
CRM。
客户历史邮件。
公司研究。
会议记录。
竞争信息。
摘要生成。
这时候 Skill 不再是一个功能商城。
而是围绕某项具体工作形成:
能力结构。
所以很多 Agent 的技术复杂度,未必真的来自业务复杂。
也可能来自:
问题定义太宽。
需求越模糊,工具箱越容易无限膨胀。
不应该先有一堆 Skill,再寻找 Agent 的用途
这其实是 AI 产品非常容易出现的一种倒置。
正常顺序应该是:
发现问题
→ 定义任务
→ 拆解流程
→ 识别需要的能力
→ 设计 Skill
但现实里很容易变成:
发现一个新能力
→ 做成 Skill
→ 再发现一个新能力
→ 继续接入
→ 最后想办法解释这个 Agent 有什么用
这是一种典型的:
Capability First。
而真正成熟的 Agent 应该更加接近:
Problem First。
不是:
我有 100 个 Skill,看看可以拿它们做什么。
而是:
我有一个明确问题,到底最少需要哪些能力才能把它解决?
两种思路最终产生的系统完全不同。
Skill 应该按需加载,而不是全家桶常驻
模块化真正重要的意义,不只是能够拆开。
而是:
不需要的时候可以不出现。
一个成熟 Agent 更合理的工作方式应该是:
收到任务
→ 识别任务类型
→ 确定需要的能力
→ 加载相关 Skill
→ 执行
→ 结束
而不是:
收到任务
→ 把全部 Skill 都摆在模型面前
→ 让模型自己挑
前者像一个拥有仓库和调度系统的专业组织。
后者更像:
把整个五金店倒在桌子上,然后问 AI 该用什么。
所以未来 Skill 体系真正竞争的可能并不是:
谁拥有最多 Skill。
而是:
谁能够让正确的 Skill,在正确的时候,以正确的上下文出现。
当 Skill 生产过剩,调度可能成为新的瓶颈
这个问题继续往前推,会出现一个很有意思的结构。
今天 Skill 还需要人工设计。
但 AI 本身已经能够帮助:
写代码。
写说明。
生成脚本。
定义接口。
测试工具。
所以 Skill 的生产成本一定还会继续下降。
那么接下来很可能发生:
Skill生产成本下降
→ Skill数量快速增长
→ 可调用能力越来越多
→ 选择难度增加
→ 调度成为瓶颈
这和内容产业正在发生的事情非常相似。
AI让内容越来越容易生产以后:
分发成为瓶颈。
AI让 Skill 越来越容易生产以后:
调度可能成为瓶颈。
这意味着未来 Agent 系统的重要基础设施,可能越来越不是单个 Skill。
而是:
- Skill Registry;
- Skill Router;
- Skill Evaluation;
- Capability Graph;
- Context Loader;
- Permission Layer;
- Cost Controller。
Agent 首先需要知道:
这是什么问题?
需要哪些能力?
哪个 Skill 最适合?
哪些工具拥有权限?
调用成本是多少?
是否需要多个 Skill 配合?
什么时候应该停止?
到了这个阶段,Agent 真正核心的东西可能已经不再是:
工具箱。
而是:
调度器。
Agent 可能最终重新走向专业化
Agent 的发展还有一个很有意思的悖论。
一开始我们追求:
一个模型什么都能做。
模型不够以后,我们开始给它增加工具。
工具越来越多以后,我们似乎正在走向:
万能 Agent。
但真实工程系统很可能再次出现专业化。
销售 Agent。
财务 Agent。
Research Agent。
编程 Agent。
客服 Agent。
它们可以共享同一种基础模型。
甚至共享大量基础 Skill。
但它们的:
任务目标。
能力组合。
权限。
评价指标。
调用顺序。
停止条件。
都完全不同。
这说明:
Agent 真正专业的地方,可能从来不是模型,而是围绕某类问题形成的能力结构。
同样一块钢,可以做很多工具。
但倚天剑之所以是倚天剑,不是因为里面同时装着:
锤子。
菜刀。
螺丝刀。
扳手。
而是因为:
它被设计成了一把剑。
Skill 多并不是问题,没有结构才是问题
这并不是在反对多 Skill。
真实企业系统本来就很复杂。
一个大型 Agent 完全可能需要访问:
邮件。
文档。
CRM。
数据库。
财务系统。
代码库。
审批。
客服系统。
几十甚至几百项能力都有可能是真实需求。
所以问题不是:
Skill 必须少。
而是:
复杂性有没有结构。
100 个 Skill 如果:
边界明确。
分类清晰。
动态加载。
权限清楚。
路由准确。
能够测试。
能够监控。
一样可以构成非常优秀的 Agent 系统。
真正危险的是:
没有明确问题,却不断增加能力。
通用 Agent 也不等于“要你命3000”
同样,也不能因此否定通用 Agent。
用户当然希望:
只有一个入口。
而不是完成一个任务以前还需要先判断:
我现在应该找哪个 Agent?
所以前台完全可以是一个通用 Agent。
但:
统一入口,不代表内部必须是一个巨大的全家桶。
用户看到:
一个Agent
后台完全可以是:
Router
→ 专业Agent
→ 动态Skill
→ 权限系统
→ 任务图
→ 上下文管理
所以真正应该区分的是:
产品入口是否统一
和:
内部能力是否需要全部耦合
这是两回事。
前台可以通用。
后台仍然需要结构。
真正强大的 Agent,应该知道什么时候不用 Skill
Agent Skill 解决的是一个非常重要的问题:
如何把专业能力模块化地提供给 AI。
但任何能力扩张最终都会产生新的复杂度。
复杂度不会消失。
只会迁移。
模型能力不足的时候,我们研究:
怎么让 AI 会做更多事情?
当 Agent 拥有几十、几百个 Skill 以后,下一个问题就会变成:
怎么让 AI 知道这次到底应该做什么?
于是 Agent 的竞争可能逐渐从:
Capability
转向:
Orchestration
从:
拥有多少Skill
转向:
如何组织Skill
真正成熟的 Agent 不一定会对用户说:
我什么都会。
而更可能表现为:
我知道解决这个问题需要什么,也知道哪些东西根本不需要。
结语
Agent Skill 是倚天剑,还是要你命3000?
区别并不在 Skill 本身。
Skill 可以非常强大。
大量 Skill 也完全可能组成复杂而可靠的系统。
真正的区别在于:
有没有一个清晰的问题,对这些能力进行约束。
好的 Skill,是把一种能力磨得足够锋利。
好的 Agent,是知道什么时候应该拔哪把剑。
而坏的 Agent 往往是:
搜索绑上去。
浏览器绑上去。
数据库绑上去。
邮件绑上去。
日历绑上去。
代码绑上去。
PPT绑上去。
Excel绑上去。
图片生成也绑上去。
最后宣布:
什么都能干。
但真正应该回答的问题仍然没有回答:
到底为什么要把这些东西绑在一起?
所以 Agent Skill 真正值得追求的,可能不是更多。
而是三个词:
专业。
可组合。
可调度。
Skill 是倚天剑,还是要你命3000?
最后决定它的,不是工具数量。
而是:
你到底有没有先想清楚,要解决什么问题。