AI 术语解释:Agent、MCP、Skill、AGENTS.md 及它们的协作方式
摘要
用一句话概括:Agent 是会思考会动手的 AI 员工,MCP 是给它装外接设备的 USB-C,SKILL.md 是它随身携带的工种手册,AGENTS.md 是项目门口贴的工作守则。 这四样东西不是替代关系,而是分别解决”谁干活 / 怎么连工具 / 会哪门手艺 / 守哪家规矩”四个不同问题,组合起来才能让 AI 编程助手在你的项目里既能干、又听话。
研究问题
- 这四个概念分别是什么?各自解决了什么问题?
- 它们在一次真实的”AI 帮我写代码 / 处理任务”流程中如何协作?
- 对刚接触 AI 编程工具的开发者,有哪些直观的比喻可以用?
发现
Agent = 能自己拆任务、调用工具的 AI 员工 —— Anthropic 把 Claude Code 的”subagent”定义为:拥有独立上下文窗口、独立系统提示、可被限制工具权限的专门助手。当主对话遇到匹配某个 subagent 描述的任务时,会自动委派给它,子代理在自己的小屋里干完活,只把摘要交回来——这样主对话的上下文不会被一堆日志/搜索结果淹没。可以理解为”主管把脏活外包给专业小工”。Claude Code Subagents 官方文档
MCP = AI 应用的 USB-C 接口 —— Model Context Protocol 是一个开源标准,让 AI 应用(Claude、ChatGPT、Cursor、VS Code 等)以同一套协议去连接外部数据源(本地文件、数据库)、工具(搜索、计算器)和工作流(专用提示)。官方原话:”Think of MCP like a USB-C port for AI applications.” 一次开发,处处接入;模型本身不变,但能拿到的”外设”无限扩展。Model Context Protocol 官方介绍
SKILL.md = 给 Agent 的”专业工种手册” —— Claude Skills 是 Anthropic 推出的”打包专长”的格式:一个文件夹里放一份
SKILL.md(带 YAML frontmatter 的 Markdown),再加可选的 scripts/references/assets。Claude 用渐进式披露 (progressive disclosure) 加载它——先扫一眼 ~100 token 的 metadata 知道”会不会用得上”,需要时再加载正文,必要时再调用具体脚本。Skills 设计目标是可组合、可移植、跨 Claude 应用 / Claude Code / API 通用。形象地说:Skill 是 Agent 衣柜里的”工种制服”,穿上厨师服就会做菜,穿上电工服就会接线。Anthropic Skills 公告 | SKILL.md 写作规范汇总AGENTS.md = 项目门口贴的”工作守则” —— 这是一个开放、跨工具的 Markdown 约定,专门给 AI 编码代理看。它和 README.md 分工明确:README 给人类读,AGENTS.md 给 AI 读,里面写构建/测试命令、代码风格、环境配置、PR 规范、安全注意事项等。已被 OpenAI Codex、GitHub Copilot、Google Jules / Gemini CLI、Cursor、Zed、Aider、goose、Factory 等 60,000+ 项目采用,monorepo 还能在子目录嵌套不同的 AGENTS.md。它的意义在于:以前每家工具都搞自己的
.cursorrules、CLAUDE.md、copilot-instructions.md……现在有了一个事实标准让规则一次写、各家都读。AGENTS.md 标准官网MCP 与 Skills 不是同一层的东西 —— MCP 关心的是”AI 怎么连到外面的工具/数据”,是协议层;Skills 关心的是”AI 在拿到工具之后怎么干活才专业“,是知识层。同一个 Agent 可以一边通过 MCP 连上 GitHub/Jira/数据库,一边加载”代码评审 Skill”或”PPT 制作 Skill”来决定干活的套路。两者互补,不是二选一。MCP 官方介绍 | Anthropic Skills 公告
协作方式(用”餐厅”类比)
把一次 AI 编程协作想象成一家餐厅:
| 角色 | 对应概念 | 干什么 |
|---|---|---|
| 大厨 / 主管 | 主 Agent (Claude / Codex …) | 接客人订单、拆任务、决定流程 |
| 后厨小工 | Subagent | 接专门的脏活(比如”把整个 src 目录搜一遍找 TODO”),干完只回一句话 |
| 各种厨具 / 食材柜 | MCP Servers | 标准化对接:烤箱、冰箱、Github、数据库……主厨用同一种插头都能连 |
| 工种证书 / 菜谱本 | SKILL.md | “我会做日料/法餐/烘焙”——按需调阅,不会一上来背完所有菜谱 |
| 餐厅门口的员工守则 | AGENTS.md | 这家店怎么洗手、几点开门、上菜规范——任何新来的厨师/小工都先看一眼 |
一次典型流程
1 | 用户:"帮我加一个登录功能并跑通测试" |
一句话串起来:AGENTS.md 让 Agent 知道”在这家店怎么干”,SKILL.md 让 Agent 知道”这门手艺怎么做”,MCP 让 Agent 真的能”伸手碰到外面的世界”,Subagent 让 Agent 能”分身去干杂活”。
对比与判断
- 如果你只是想让 Cursor / Claude Code 在你项目里听话 → 先写
AGENTS.md(或对应的CLAUDE.md),成本最低、收益最直接。 - 如果你想让 AI 接入企业内部系统 / 自定义工具 → 走 MCP,写或装一个 MCP server。
- 如果你有一套”特定领域的标准做法”想复用(比如公司内部的 PPT 模板、代码评审 checklist)→ 写成 Claude Skill。
- 如果主对话经常被搜索结果 / 大日志淹没 → 抽出 subagent。
- 这四者没有谁能完全替代谁:MCP 解决”连外部”,Skill 解决”会专长”,AGENTS.md 解决”守规矩”,Agent/Subagent 解决”谁来干”。
不确定性
- SKILL.md 的字段(如
allowed-tools、compatibility)目前主要来源于社区整理与 Anthropic 早期文档,规范细节仍在演进,以官方最新文档为准。 - AGENTS.md 是开放约定而非强制规范,不同工具读取的字段、嵌套行为可能略有差异。
- “Skills vs MCP vs Subagents”的边界在 2025–2026 演进过程中还在变化,未来可能进一步融合。
后续行动
- 在自己项目里实操:写一份精简的
AGENTS.md,并把现有CLAUDE.md的通用部分迁移过去。 - 试着把”研究 + 落 Obsidian 笔记”这个流程写成一个 Claude Skill,看看是否比当前
researcher.md子代理更顺手。 - 跟踪 modelcontextprotocol.io 与 claude.com/blog 的更新,关注 Skills 是否推出官方注册中心 / 市场。