MCP、Skills 与 Agent 控制面¶
从
Function Calling到MCP,再到Skills / Subagents / AGENTS.md,本质上是在把 agent 工程标准化。
1. 为什么会有这条演进链¶
最早的模式是:
- 模型输出文本
- 程序员自己解析文本去调用工具
后来变成:
Function Calling / Tools
再后来变成:
MCP
再往上演进则是:
SkillsSubagentsAGENTS.md- 企业级
control plane
这条链背后的目标很明确:
- 更稳定地接工具
- 更清晰地描述能力
- 更方便治理与复用
2. 四个概念怎么区分¶
| 概念 | 本质 | 典型作用 |
|---|---|---|
| Tool / Function | 单次能力调用 | 查天气、读文件、执行命令 |
| MCP | 工具与上下文接入协议 | 标准化连接外部能力 |
| Skill | 面向任务的能力封装 | 解决某类问题的方法包 |
| Control Plane | 治理与审计层 | 权限、allowlist、日志、策略 |
可以把它理解成:
- Tool 是零件
- MCP 是接口标准
- Skill 是装好的工具包
- Control Plane 是工厂管理系统
3. AGENTS.md 和 Skills 为什么重要¶
AGENTS.md 的价值在于把仓库规则、流程、命令、限制,放进 agent 可读取的上下文。
Skills 的价值在于把一类任务沉淀成可复用方法:
- 什么时候该做什么
- 要读哪些文件
- 用哪些工具
- 产出格式是什么
这比只给一个 prompt 更稳定,因为它更接近工程流程,而不是一次性文本指令。
4. 企业为什么需要控制面¶
如果 agent 能:
- 改代码
- 跑命令
- 调数据库
- 访问外部系统
那企业一定会关心:
- 什么工具能用
- 谁能调用
- 调了什么
- 出错了怎么追责
- 怎么回滚
所以 agent control plane 不是额外花活,而是生产化必需品。
5. 你在项目里至少要做的治理动作¶
最低限度建议:
- 明确工具白名单
- 区分只读与可写工具
- 对命令执行保留日志
- 对高风险操作要求人工确认
- 对 agent 输出做 review / test gate
- 对失败任务保留回放信息
6. 面试高频问法¶
- 为什么有了 tools 还要 MCP?
- 为什么有了 MCP 还要 Skills / Subagents?
- Skill 和 RAG 的边界在哪?
- 如果 agent 能执行 shell,你怎么做权限控制?
- 你怎么避免 agent 滥用工具或误删内容?
7. 在本仓库里的对应位置¶
- 更偏工具与协议:本页
- 更偏系统与编码: 03-MCP与工具生态
- 更偏项目交付: 09-Agentic软件工程项目交付模板
如果你想冲 AI Coding / Agent 平台 / DevEx 方向,这页是必须讲明白的。