Skill、Agent、MCP、CLI 到底是什么关系?
<callout emoji="bullettrain front" background color="light orange" border color="light orange" CLI、API、MCP 更偏底层连接与调用机制;Tool 和 Skill 更偏能力封装;A
CLI、API、MCP 更偏底层连接与调用机制;Tool 和 Skill 更偏能力封装;Agent 和 Multi-Agent 更偏任务理解、决策与协同。
一、概念分层图
- CLI / API:更像底层的调用入口;
- MCP:更像连接模型与外部能力的协议层;
- Tool:更像一个可以被调用的具体工具;
- Skill:更像把工具、规则、经验、边界封装成“可复用能力模块”;
- Agent:更像围绕目标组织与调用能力的执行者;
- Multi-Agent:更像多个有分工的执行者组成的协作系统。
二、CLI和API是啥
1. CLI 是什么
CLI 全称是 Command Line Interface,也就是命令行界面。
它本质上是一种调用入口,不是一种智能架构,也不是一种协议。它的作用是:
- 让人或程序通过命令行去执行某个能力;
- 触发脚本、程序、服务或系统动作;
- 以参数形式把输入传给底层程序。
比如:
python run_report.py --date 2026-04-22feishu-doc-cli create --title 周报mcp-server start
这些都属于 CLI 形式。
所以,CLI 更准确的理解应该是:
CLI 不是能力本身,更像能力的调用入口或操作界面。
2. API 是什么
API 全称是 Application Programming Interface,也就是应用程序接口。
它和 CLI 一样,也属于“调用入口”,只是形式不同:
- CLI 更面向命令行调用;
- API 更面向程序间调用。
比如一个飞书文档系统,可能同时提供:
- 一个 CLI:让你在终端里执行创建文档;
- 一组 API:让程序通过 HTTP 请求创建文档。
所以 CLI 和 API 并不是互相替代的概念,它们往往只是同一能力的两种不同调用形态。
3. CLI 和 API 的边界
最容易误解的一点是:
- 有人把 CLI 当成“工具本身”;
- 有人把 API 当成“能力本身”。
其实很多时候:
- 真正的能力在程序或服务里;
- CLI 和 API 只是访问这个能力的入口。
所以从抽象层级上,CLI 和 API 通常比 Tool、Skill、Agent 更底层,也更“机械”。
三、MCP 是什么:它更像“模型和工具之间的通用连接协议”
1. MCP 到底是什么
MCP 通常可以理解为一种模型与外部能力之间的标准连接协议。
它最核心的价值,不是提供某个具体业务能力,而是回答一个问题:
模型应该用什么统一方式去发现、理解、调用外部工具?
如果没有这层协议,不同工具、不同系统、不同客户端可能都要用各自的接入方式,模型侧会非常碎片化。
而有了 MCP,这件事就更像“插标准接口”:
- 工具方按协议暴露能力;
- 模型方按协议理解能力描述和参数结构;
- 双方通过统一方式交换调用请求与结果。
2. MCP 是协议层还是能力层
这是很多人最容易搞混的一点。
更准确的答案是:
MCP 更偏协议层,不是业务能力层。
也就是说:
- MCP 自己通常不等于“读文档”“查报表”“发消息”这些能力;
- 它更像是让这些能力能够被模型标准化接入与调用的一套协议机制。
打个比方:
- 电器本身是能力;
- 插座标准是协议;
- MCP 更像这个“插座标准”。
所以不要把 MCP 和 Skill、Tool 混成一类。它们不是同一个层级:
- Tool/Skill 更像“插上去的电器”;
- MCP 更像“让这些电器能被统一接上的插座标准”。
3. 为什么 MCP 经常和 Tool 混在一起
因为在实际产品中,用户经常看到的是:
- “这个 MCP 可以读文档”;
- “那个 MCP 可以操作 Figma”;
- “某个 MCP 可以访问数据库”。
于是很容易误以为“MCP 就是能力本身”。
但更准确地说,很多时候其实是:
- 某个 MCP server 通过 MCP 协议暴露了一组工具;
- 用户感知到的是这些工具的能力;
- 于是把协议层、服务层、工具层揉到了一起。
所以在理解上,最好分开:
- MCP:连接规则;
- MCP server / 集成服务:按这个规则暴露工具的一端;
- Tool:被暴露出来的具体能力。
四、Tool 是什么:它是“可以被模型直接调用的具体工具”
1. Tool 的定义
Tool 可以理解为一个可调用的具体工具单元。
它通常有:
- 明确的名称;
- 明确的输入参数;
- 明确的输出结果;
- 相对清晰的功能边界。
比如下面这些都更像 Tool:
read_doc(url):读取文档;search_knowledge(query):搜索知识库;create_sheet(title):创建表格;run_sql(sql):执行查询;send_message(user, content):发送消息。
2. Tool 和 API、CLI 的关系
这里也很容易混淆。
一个 Tool 背后,底层实现可能是:
- 调某个 API;
- 执行某个 CLI;
- 调某段本地代码;
- 访问某个数据库;
- 操作某个浏览器实例。
所以 Tool 更像是被上层模型感知和调用的能力接口,而不是底层具体怎么执行。
换句话说:
CLI 和 API 是底层入口,Tool 是模型视角下的可调用能力。
同一个 Tool,底层完全可能是 CLI;也可能是 API;也可能两者都不是。
3. Tool 的边界
Tool 更像“一个动作”或“一个明确能力点”。
它通常不负责:
- 理解用户最终目标;
- 决定是否应该调用自己;
- 决定调用顺序;
- 处理复杂跨步骤任务。
这些通常是更上层的 Agent 或 Skill 在负责。
五、Skill 是什么:它比 Tool 更像“带规则的能力模块”
1. Skill 的定义
Skill 可以理解为 AI 系统中的“技能包”或“专用能力模块”。
它通常具备几个典型特征:
- 聚焦某一类明确任务;
- 输入输出相对稳定;
- 不仅包含能力,还包含调用规则与边界;
- 适合被重复触发与复用;
- 强调稳定性、一致性和专业深度。
比如下面这些,通常都更接近 Skill:
- 读取飞书文档并按要求编辑;
- 查询会议纪要并提炼行动项;
- 搜索企业知识并生成摘要;
- 解析 PDF 并抽取关键表格;
- 在 Figma 中执行一类固定设计操作。
2. Skill 和 Tool 的差别
很多人会问:Skill 和 Tool 不都是“能做事”吗?
是的,但两者仍然有明显差别。
可以简单记成:
Tool 更像一把螺丝刀;Skill 更像“装配螺丝这项工序”。
3. 一个更真实的 skill.md 长什么样
很多人第一次接触 Skill,会以为它只是“一个脚本”或者“一个接口”。但在实际工程里,Skill 往往还包含触发规则、边界说明、调用约束、失败处理和输出规范。
下面是一个更贴近真实工作场景的 skill.md 片段示例:
---
name: merchant-data-analyzer
description: |
用于电商商家经营分析。当用户提到“店铺诊断”“GMV下滑原因”“流量结构分析”
“活动复盘”“转化率异常”时触发。擅长读取经营报表、归因问题、输出结构化建议。
---
# 适用场景
- 店铺经营周报分析
- 大促活动复盘
- 流量、转化、客单价拆解
- 找出异常指标并给出优化建议
# 不适用场景
- 用户只想查单个数字,不需要分析
- 没有任何报表、指标或上下文
- 需要直接修改投放系统配置
# 工作原则
1. 先判断用户要的是“查数”还是“诊断问题”
2. 如需诊断,优先按“流量 -> 点击 -> 转化 -> 客单价”结构分析
3. 若信息不足,优先追问缺失指标,而不是直接下结论
4. 输出建议时,必须区分“现象、原因判断、建议动作”三层
# 默认调用工具
- sales_report_reader
- campaign_data_fetcher
- merchant_knowledge_search
- feishu_doc_writer
# 输出格式
1. 核心结论
2. 关键指标变化
3. 原因拆解
4. 优先级最高的3条建议
5. 需要补充的数据
# 风险控制
- 不得编造经营数据
- 不得把相关性直接写成因果结论
- 当样本不足时必须明确标注“待进一步验证”
从这个例子里,你会发现 Skill 不是“只能做一个按钮动作”的东西。它更像是把某类任务的经验、边界和调用规范封装起来,变成一个长期稳定可复用的能力模块。
六、Agent 是什么:它更像一个围绕目标工作的智能执行者
1. Agent 的定义
Agent 可以理解为一个“面向目标工作的智能执行者”。
它的核心不在于自己会某一个动作,而在于它能够:
- 理解用户意图;
- 把目标拆成步骤;
- 判断需要哪些 Skill 或 Tool;
- 在执行过程中根据结果调整策略;
- 最终把多个阶段结果汇总成用户真正需要的成果。
所以如果说 Tool 是“可调用动作”,Skill 是“可复用能力模块”,那么:
Agent 更像一个围绕目标调度这些能力的人。
2. Agent 的实现思路
一个常见的 Agent,通常至少包含这些部分:
- 目标理解:用户到底要什么;
- 任务规划:把大目标拆分成步骤;
- 能力选择:决定调用哪个 Skill、Tool 或系统;
- 上下文与状态管理:记住当前进度和中间结果;
- 动态调整:遇到失败、信息不足或结果不佳时切换策略;
- 结果整合:把不同步骤的结果组合成最终交付物。
所以 Agent 的关键能力,不是“执行某个动作”,而是围绕目标组织能力、编排流程、推动结果落地。
七、把这些概念摆在一起:它们最容易混淆的边界到底在哪
1. CLI 和 Tool 容易混淆
误区:
- “我有个 CLI,所以我有个 Tool。”
更准确地说:
- CLI 只是调用方式;
- Tool 是模型可调用的能力接口;
- 一个 Tool 底层可以是 CLI,但 CLI 不天然等于 Tool。
2. API 和 Tool 容易混淆
误区:
- “这个系统有 API,所以模型就能直接用。”
更准确地说:
- API 是程序接口;
- Tool 是给模型调用时封装好的能力入口;
- API 往往需要再包装成 Tool,模型才更容易稳定使用。
3. MCP 和 Tool 容易混淆
误区:
- “MCP 就是工具。”
更准确地说:
- MCP 更像工具连接协议;
- Tool 是通过这个协议暴露给模型的具体能力;
- 用户感知到能力时,经常把二者混为一谈。
4. Tool 和 Skill 容易混淆
误区:
- “Skill 不就是很多 Tool 吗?”
更准确地说:
- Tool 是更小、更具体的调用点;
- Skill 是对一类任务的能力封装,常常会附带经验、规则、边界、输出格式与默认工具组合;
- 一个 Skill 可能调用一个 Tool,也可能组织多个 Tool。
5. Skill 和 Agent 容易混淆
误区:
- “Skill 也会做复杂任务,那它和 Agent 还有什么差别?”
更准确地说:
- Skill 更像“把一类任务封装成标准能力”;
- Agent 更像“面对开放目标时的执行者”;
- Skill 强调某类任务的稳定完成,Agent 强调整体任务的自主推进。
6. 主 Agent 和 Sub-Agent 容易混淆
误区:
- “只要有多个 Skill 就算 Multi-Agent。”
更准确地说:
- 如果只有一个中心做所有理解、规划、调度,那通常还是单 Agent;
- 只有当多个执行体都拥有一定独立判断和局部闭环能力时,才更接近 Multi-Agent。
八、放到业务任务里看:什么时候是 Tool,什么时候是 Skill,什么时候是 Agent
为了更容易理解,我们还是用一个更具体的业务场景:电商商家经营。
1. Tool 层
例如:
- 拉取店铺日报数据;
- 查询某场活动明细;
- 搜索知识库中的经营策略;
- 写入飞书文档;
- 发送通知消息。
这些都是很具体、边界清晰的动作。
2. Skill 层
例如:
- 店铺经营分析 Skill;
- 大促复盘 Skill;
- 商品评价归因 Skill;
- 周报生成 Skill。
这些已经不只是单个动作,而是一类任务的稳定能力封装。
3. Agent 层
例如用户说:
“帮我分析一下为什么这周店铺 GMV 下滑,并给出下周优化建议。”
这时一个 Agent 需要:
- 先理解这是“经营诊断”任务;
- 判断重点应该看流量、转化还是客单价;
- 再调用相应 Skill 或 Tool;
- 最后汇总成完整判断和建议。
这里 Agent 的价值,就在于它能把底层零散能力组织起来,变成一个完整结果。
九、单 Agent 多 Skill:这是最常见、也最实用的一种架构
在很多真实产品里,最常见的不是一上来就做 Multi-Agent,而是先做单 Agent 多 Skill。
1. 什么是单 Agent 多 Skill
它的结构很简单:
- 上层有一个主 Agent;
- 下层挂很多 Skill;
- Skill 里再去调用具体 Tool;
- Tool 底层再通过 MCP、API、CLI 等方式连接执行系统。
可以把它理解为:
一个“大脑”,调度很多“专业工种”,而这些工种再去调用具体工具和底层系统。
2. 单 Agent 多 Skill 架构图
这张图的重点在于:决策中心只有一个。Skill 和 Tool 再多,也仍然是单 Agent 架构。
十、Multi-Agent 是什么:当一个“大脑”不够时,就会出现多个“角色化大脑”
1. 什么是 Multi-Agent
Multi-Agent 指的是:系统中不只有一个 Agent,而是有多个具有不同职责的 Agent 协同工作。
这些 Agent 可能在角色上有所分工,例如:
- 有的负责总控和任务编排;
- 有的负责检索和资料收集;
- 有的负责数据分析;
- 有的负责写作与结构化表达;
- 有的负责执行系统操作。
可以把它理解为:
不再是一个人调用很多工具,而是一支分工明确的 AI 团队一起完成任务。
2. 主 Agent 和 Sub-Agent 一般如何配合
最直观的理解是:
- 主 Agent 更像总负责人、任务经理、总控中枢;
- Sub-Agent 更像某个专业方向的执行负责人。
主 Agent 通常负责:
- 理解用户目标;
- 判断任务是否需要拆分;
- 决定拆成哪些子任务;
- 把任务分发给合适的 Sub-Agent;
- 处理冲突、做最终汇总与交付。
Sub-Agent 通常负责:
- 在某个领域内完成局部闭环;
- 调用自己需要的 Skill 与 Tool;
- 返回阶段性高质量结果。
3. Multi-Agent 主从协同架构图
这张图想表达的重点是:决策不再只有一个层级。主 Agent 管总控,Sub-Agent 管局部闭环,而 Skill、Tool、MCP、CLI 继续往下分层存在。
十一、一个完整例子:用户请求是怎么一路传到最底层执行的
这一部分最有助于把所有概念真正串起来。
假设一个用户提出请求:
“帮我分析一下为什么这周店铺成交下滑,并生成一个给老板汇报的复盘文档。”
我们从上往下看,这个请求可能是怎么被执行的。
第一步:用户把“目标”交给 Agent
用户给的不是步骤,而是结果期待:
- 找原因;
- 形成判断;
- 输出复盘文档。
所以首先接住任务的,通常是 Agent,而不是 Tool、CLI 或 MCP。
第二步:Agent 理解目标并做任务拆解
Agent 可能会判断:
- 先做经营诊断;
- 再做问题归因;
- 最后生成一份给老板看的文档。
如果是单 Agent 架构,这个 Agent 自己继续往下调 Skill。
如果是 Multi-Agent 架构,它可能会拆给:
- 数据分析 Sub-Agent;
- 资料检索 Sub-Agent;
- 报告写作 Sub-Agent。
第三步:Agent 或 Sub-Agent 选择合适的 Skill
比如:
- 调用“经营分析 Skill”;
- 调用“知识检索 Skill”;
- 调用“文档生成 Skill”。
这一步意味着:系统已经从“开放目标”进入“某类任务能力模块”。
第四步:Skill 再调用具体 Tool
例如经营分析 Skill 内部,可能会调用:
- 报表读取 Tool;
- 活动明细查询 Tool;
- 指标计算 Tool;
- 图表生成 Tool。
而文档生成 Skill 内部,可能会调用:
- 文档创建 Tool;
- 文档写入 Tool;
- 标题格式化 Tool。
这里 Tool 已经非常接近具体执行动作。
第五步:Tool 通过 MCP、API 或 CLI 触发底层系统
接下来才进入更底层:
- 某个 Tool 可能通过 MCP 调用一个文档系统能力;
- 某个 Tool 可能直接请求一个 API;
- 某个 Tool 也可能执行一个 CLI 命令来触发脚本。
例如:
read_reportTool 底层调用经营数据 API;write_docTool 底层通过 MCP 访问文档编辑能力;generate_chartTool 底层执行一个 CLI 脚本生成图表文件。
第六步:底层结果逐层返回
执行完成后,结果会逐层往回返回:
- CLI / API / MCP 返回原始结果;
- Tool 把结果封装成可理解输出;
- Skill 把多个 Tool 结果整合成阶段结果;
- Agent 再把多个阶段结果汇总成最终交付物。
最终用户看到的是:
- 一份完整的经营诊断;
- 一份老板能直接看的复盘文档;
- 也许还附带 3 条优先优化建议。
这个例子里每一层分别做了什么
所以一次真实任务,通常不是“某一个概念单独完成”,而是多层概念共同完成。
十二、哪种更好?不要只盯着 Agent,更要看分层是否清楚
很多团队一听到 Multi-Agent,就会下意识觉得它更先进;一听到底层有 MCP、CLI,又会觉得系统更“工程化”。
但真正决定系统质量的,不是你堆了多少名词,而是:
这些概念有没有放在正确的层级,用在正确的位置。
1. 大多数时候,先做清楚单 Agent 多 Skill 就已经很好
对于很多产品来说,更现实的优先级往往是:
- 先把底层 Tool 接通;
- 再把高频能力封装成 Skill;
- 再让一个 Agent 把它们组织起来;
- 当复杂度足够高时,再升级到 Multi-Agent。
2. 常见错误不是能力不够,而是层级混乱
最常见的问题通常不是“没有 MCP”或者“没有 Multi-Agent”,而是:
- 把 CLI 当能力本身;
- 把 MCP 当业务能力;
- 把 Tool 和 Skill 混成一层;
- 把单 Agent 包装成伪 Multi-Agent;
- 让主 Agent、Sub-Agent、Skill 重复承担相同职责。
一旦分层混乱,系统就会出现:
- 责任边界不清;
- 复用性差;
- 成本和时延上升;
- 问题难排查;
- 后续难扩展。
所以真正成熟的系统,不是概念越多越好,而是:
- 底层连接层足够标准;
- 中层能力层足够稳定;
- 上层智能层足够清晰。
十三、最后总结:把所有概念放回一句话里
如果你只想记住最核心的内容,可以记住下面这段:
CLI 和 API 更像调用入口,MCP 更像工具连接协议。
Tool 是模型可调用的具体工具,Skill 是带规则和边界的能力封装。
Agent 是面向目标组织这些能力的执行者,Multi-Agent 是多个有分工的执行者协同系统。
再进一步说:
- 越往下,越偏执行与连接;
- 越往上,越偏理解、决策与协同。
所以,真正成熟的 AI 系统,从来不是只谈 Agent,也不是只堆 Tool,更不是把 MCP、CLI 当成“更高级的能力”。
更准确的理解应该是:
CLI / API / MCP 负责“接得上、调得动”;Tool / Skill 负责“能力能用、稳定复用”;Agent / Multi-Agent 负责“围绕目标把事情做成”。
这才是把这些概念真正放回同一张地图里之后,最值得记住的一件事。
十四、如果真的要开发:开发一个 Skill 和开发一个 Agent,分别需要做什么
讲到这里,很多人会自然追问一个更落地的问题:
如果我不是只是理解这些概念,而是真的要开始做,一个 Skill 和一个 Agent 分别应该怎么开发?两者到底差在哪?
如果先用一句话概括:
开发 Skill,更像是在做一个稳定、可复用、边界清晰的能力模块;开发 Agent,更像是在做一个能够围绕目标组织能力、推进任务、处理不确定性的执行系统。
所以两者都需要设计、接入、测试和治理,但关注重点并不一样。
1. 开发一个 Skill,通常需要做哪些事情
Skill 更像一项“专门工种”或一类“标准工序”,所以开发 Skill 时,重点不是让它什么都会,而是让它在一个明确边界内稳定可用。
一个比较典型的 Skill 开发清单,可以这样理解:
- 定义这个 Skill 的目标与适用场景
- 它到底负责什么;
- 它不负责什么;
- 什么样的请求应该触发它;
- 什么样的请求不应该触发它。
- 定义输入输出
- 它需要哪些输入参数;
- 输出应该长什么样;
- 输出是原始结果、结构化结果,还是面向用户的结果。
- 设计调用规则与触发描述
- 什么关键词、什么场景触发;
- 是自动触发还是显式调用;
- 与相邻 Skill 怎么避免互相抢触发。
- 接入底层能力
- 它底层需要调用哪些 Tool;
- 这些 Tool 背后走 API、MCP、CLI 还是本地代码;
- 是否依赖数据库、知识库、文档系统等。
- 设计执行流程
- 先做什么,后做什么;
- 信息不足时怎么办;
- 工具失败时怎么处理;
- 输出前要不要做格式化或校验。
- 定义边界与风险控制
- 不能编造什么;
- 哪些输入要拒绝;
- 哪些操作不能自动执行;
- 哪些结果要显式标注不确定性。
- 设计评估方式
- 触发准不准;
- 成功率高不高;
- 输出是否稳定;
- 是否容易被复用。
你会发现,开发 Skill 的核心目标是:
把某一类任务做成一个可靠、清晰、可复用的能力模块。
2. 开发一个 Agent,通常需要做哪些事情
Agent 的重点和 Skill 不一样。它面对的不是一个固定动作,而是一个更开放的目标。
所以开发 Agent 时,通常要考虑的不只是“它能不能做”,而是“它能不能把事情真正做成”。
一个比较典型的 Agent 开发清单,可以这样理解:
- 定义 Agent 的目标、角色与责任范围
- 它服务谁;
- 它解决什么问题;
- 它可以做到哪一步;
- 它什么时候应该停下来交给人。
- 梳理高频用户场景
- 用户最常见会给它什么目标;
- 输入是问题、文档、表格、链接还是数据;
- 用户期待的是结论、报告、动作还是自动执行结果。
- 设计能力分层
- 哪些事情由 Agent 自己判断;
- 哪些能力下沉成 Skill;
- 哪些进一步下沉成 Tool;
- 底层如何通过 API、MCP、CLI 接入。
- 设计任务拆解与执行逻辑
- Agent 如何理解目标;
- 如何拆成多个步骤;
- 什么时候调用什么 Skill;
- 失败时如何重试、降级、追问或中止。
- 设计状态与上下文管理
- 要不要记住当前任务进度;
- 是否需要记录阶段结果;
- 是否要记住用户偏好、历史选择、长期背景。
- 设计结果整合与交互方式
- 如何把多步结果整理成最终交付;
- 什么时候直接执行,什么时候先确认;
- 什么时候追问,什么时候给建议;
- 怎样表达不确定性和风险。
- 设计安全、权限与治理机制
- 哪些动作能自动做;
- 哪些动作必须人工确认;
- 哪些数据不能访问;
- 如何保留日志、支持审计、避免误操作。
- 建立评估与迭代机制
- 任务成功率;
- 用户满意度;
- 工具调用成功率;
- 时延、成本、安全性;
- 哪些问题来自 Prompt,哪些来自 Tool,哪些来自架构。
你会发现,开发 Agent 的核心目标是:
让系统能围绕用户目标,稳定地组织能力、推进任务、交付结果。
3. 两者最大的差别,不在“复杂度”,而在“职责层级”
很多人会觉得:Skill 简单一点,Agent 复杂一点。这么理解不算错,但还不够准确。
更本质的说法是:
Skill 和 Agent 的真正差别,不只是复杂度高低,而是职责层级不同。
- Skill 更像“能力模块”;
- Agent 更像“执行主体”。
一个 Skill 可以很复杂,比如一个经营分析 Skill 可能内部也会调用多个 Tool;一个 Agent 也可能很轻,比如一个只负责任务分发和结果汇总的主 Agent。
所以不要简单把它们理解成“小能力”和“大能力”的关系,而要看:
- 它是在封装一类任务能力;
- 还是在围绕目标组织多个能力。
4. 放在一张表里看:开发 Skill 和开发 Agent 的差别
5. 一个很实用的判断方法
如果你在做系统设计时拿不准某个东西应该做成 Skill 还是 Agent,可以先问自己三个问题:
- 它主要是在做一个明确动作,还是在完成一个开放目标?
- 明确动作:更像 Skill;
- 开放目标:更像 Agent。
- 它的核心价值来自“稳定执行”,还是来自“判断与编排”?
- 稳定执行:更像 Skill;
- 判断与编排:更像 Agent。
- 它是被上层调度的能力模块,还是在调度别的能力模块?
- 被调度:更像 Skill;
- 负责调度:更像 Agent。
6. 最后一句总结
如果把这部分内容压缩成最值得记住的一句话,可以记成:
开发 Skill,重点是把一类任务做深、做稳、做清楚;开发 Agent,重点是把一类目标接住、拆开、推进并最终做成。
所以在真实系统里,很多时候并不是“先选 Skill 还是 Agent”,而是:
- 先把高频能力做成 Skill;
- 再让 Agent 去组织这些 Skill;
- 当任务复杂度继续上升时,再决定是否演进到 Multi-Agent。
这也是为什么一个成熟的 AI 系统,往往不是只靠一个 Agent 就能解决问题,而是要同时把 Skill、Tool、MCP、CLI、Agent 这些层都放在正确的位置上。