Note
Agent、Skill、MCP 分别是什么?
用标准术语区分 Agent 循环、Skill 工作方法与 MCP 工具协议,并说明三者如何协作。
省流
Agent 是“模型 + 工具 + 循环”的运行时:模型根据上下文决定下一步,运行时执行工具(读文件、查服务、改代码等),把观察结果写回会话,再继续,直到结束或达到限制。常见实现思路包括 ReAct 式的推理—行动—观察循环。
Skill 指可按需加载的专项工作方法:通常包含何时使用、步骤说明、验收要点,有时还绑定专用工具。它解决的是“某类任务怎么做”,而不是再暴露一个无说明的函数。为了节省上下文,常用渐进披露:先只给名称与简介,真正需要时再加载全文。
MCP(Model Context Protocol) 是一种让宿主应用连接外部工具与数据源的开放协议。MCP Server 提供 tools/resources 等能力;宿主(MCP Client / Host)负责连接、把远端工具适配成模型可见的工具描述,并在模型发起调用时路由到 Server。模型并不直接实现 MCP,它只看到统一的工具名、说明与参数模式。
三者关系可以记为:Agent 是执行循环,Skill 是可加载的任务规程,MCP 是把外部能力接进工具层的协议。项目专栏里的具体桥接与加载实现,是这些概念在工程上的落地,而不是另一套术语。
Agent
相对一次性补全,Agent 多了:
- 可持续的会话状态(消息、工具结果)
- 可调用的工具集合与权限策略
- 多轮循环与停止条件(完成、用户取消、步数/超时上限)
用户任务
-> 模型:回答或提出 Tool Call
-> 运行时:鉴权并执行工具
-> 结果写回上下文
-> 模型:继续或结束
没有工具与循环,就只是普通对话;有工具但无约束,则容易误操作。权限、沙箱与确认流程属于 Agent 工程的一部分。
Skill
Skill 打包的是做法,常见内容包括:
- 元数据:名称、简介、适用场景
- 正文:步骤、检查项、输出要求
- 可选:该 Skill 专用工具列表
与“系统提示里写死全部规则”相比,Skill 便于按任务启用,避免无关长文长期占用上下文。加载策略(启动全量 / 按需 load_skill)是实现选择;概念上先分清“规程”和“工具”两层。
MCP
MCP 关注互操作:同一套协议下,不同 Server 可以提供文档检索、浏览器、数据库访问等能力,由 Host 统一接入。
MCP Server (提供 tools / resources ...)
^
| 协议会话
v
Host / Client(发现工具、适配、鉴权、调用)
^
| 模型可见的 Tool 描述与 Tool Call
v
Agent 循环中的模型