MCP / Agent / Skill / Harness
一份关于代理应用相关概念的编辑图谱
MCP、Agent、Skill 与 Harness 分别描述代理应用中的上下文交换、任务执行、可复用指令和宿主运行时。这个四分框架是 Aphrodite 的编辑模型,并非行业通用架构,也不表示每个产品都实现了四者。
最近审查:。 当前 MCP 架构(2026-07-28)。
- Claude Code
- Harness
- Skill
- Agent
- Tool
- MCP
- 外部工具/数据源
MCP - Model Context Protocol
连接层协议MCP 是 AI 应用与外部系统交换上下文的开放客户端—服务器协议。宿主协调一个或多个客户端,服务器提供经过授权的工具、资源与提示等能力。MCP 不定义模型训练、推理或 Agent 的内部推理循环。
MCP 是什么?
MCP 是一个通信协议,规定了 AI 如何:
- 请求执行某个操作
- 获取外部数据
- 与本地应用程序交互
工作原理
- MCP 客户端连接本地进程或远程服务
- 客户端与服务器通过 JSON-RPC 交换请求、响应和通知
- 服务器访问获准的工具、资源或提示
- 客户端将规范化结果提供给模型或宿主界面
配置示例
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Projects"]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "/Users/you/Projects/example"]
}
}
} Windows 可能需要通过 cmd /c 调用 npx。Claude Desktop、Claude Code、Codex 与 Cursor 的配置路径不同。已于 2026-07-29 对照 MCP 官方仓库核验。
官方参考服务器
指导委员会参考服务器(官方仓库):
- Everything
- Fetch
- Filesystem
- Git
- Memory
- Sequential Thinking
- Time
这些项目用于教学和参考,并不代表可直接用于生产环境。可在 MCP Registry 中查找第三方服务器;采用前应评估发布者身份、权限、安全性和维护状态。归档服务器以及厂商或社区服务器属于不同类别。
Agent - AI 代理
任务执行层Agent 是能够自主规划和执行复杂任务的 AI 系统。与简单的问答不同,Agent 可以:理解目标 → 制定计划 → 执行行动 → 评估结果 → 调整策略。
核心能力
- 理解复杂指令
- 分解大任务为小步骤
- 自主决策下一步做什么
- 使用工具完成具体操作
- 从执行结果中学习
使用示例
与 Claude Agent 对话示例
用户:帮我重构这个项目的错误处理
Claude Agent:
我会帮你重构错误处理。让我先分析现有的代码结构……
- 扫描项目中的错误处理代码
- 识别重复模式
- 设计统一的错误处理方案
- 逐个模块实施重构
- 运行测试确保没有破坏现有功能
[Agent 自主执行上述所有步骤]
对比 GitHub Copilot
Claude Code 与 GitHub Copilot 都提供终端或 IDE 中的代理式编程和代码审查能力,但支持范围、权限确认、沙箱、模型选择、云端异步任务及 MCP 接入会随产品、客户端和版本而变化。比较时应区分本地审查与拉取请求审查,并以当前产品文档为准。
最近审查:。来源:Claude Code 文档 · GitHub Copilot 功能文档。
Skill - 技能扩展
能力增强层Skill 是一组按需加载的指令、脚本与资源,供智能体完成某一类专门任务。SKILL.md 格式是公开的,并不依附于某一个产品,Claude Code 只是加载它的宿主之一。通过 Skill,你可以:定义常用命令、封装复杂工作流、添加领域知识。
Skill 类型
- 个人 Skill:存放在
~/.claude/skills/,供个人项目复用 - 项目 Skill:存放在
.claude/skills/,随仓库共享 - 插件 Skill:由已安装插件提供
- 内置能力:随版本变化,请用
/help查看当前命令
定义示例
--- name: component-docs description: Generate documentation for Vue components. Use when the user asks to document a component or component library. ---
Component documentation
- Inspect component props, emits, slots, and dependencies.
- Generate a usage example.
- Document accessibility and edge cases.
- Link to related components.
Path: ~/.claude/skills/component-docs/SKILL.md
使用方法
- 在
~/.claude/skills/<name>/或.claude/skills/<name>/下创建包含完整SKILL.md的文件夹 - 写入上例所示的 YAML
name和description字段 - 描述任务或直接提及 Skill 名称;不要假设存在未记录的内置命令
- 运行
/help,并查阅当前文档确认特定版本的命令
内置命令
Claude Code 的内置能力名称可能随版本变化。请运行 /help,或查阅当前命令参考。个人、项目和插件 Skill 也可能提供 /skill-name 命令。
Harness - 代理脚手架
运行时承载层本页用 Harness 指模型或 Agent 周围的宿主运行时。它可以组合系统指令、工具循环、会话状态、记忆、权限与集成,但不同产品对此边界的划分不同,也不要求具备本页展示的全部组件。
核心能力
- 装配 system prompt 与工具循环
- 维护会话上下文与长期记忆
- 加载并调度 Skill 与 MCP 服务器
- 提供权限控制、沙箱与日志
- 跨形态托管(CLI、IDE 插件、守护进程、Serverless)
Harness 结构解剖
一个最小 Harness 的结构(以 Claude Code 为例)
- system prompt → CLAUDE.md / 仓库说明
- tool loop → Read/Edit/Bash/Grep(内置工具集)
- MCP clients → 通过 mcpServers 配置连接外部服务器
- skills → ~/.claude/skills/*.md(按需加载)
- runtime → 终端 REPL / VS Code 插件 / 网关守护进程
其他 Harness 实现:
- Codex CLI (openai/codex) — Rust 写的终端 Harness
- OpenClaw — 跨平台多渠道网关 Harness
- Hermes Agent — 自带学习循环的 Harness
- Cursor Agent — 嵌入 IDE 的 Harness
四者的关系
MCP + Agent
MCP + Agent:Agent 通过 MCP 协议调用外部工具。例如:当 Agent 需要读写文件时,通过 MCP 文件系统服务器完成。
Agent + Skill
Agent + Skill:Skill 是 Agent 的“技能包”。当用户调用特定 Skill 时,Agent 会使用相应的提示模板和工作流。
Skill + MCP
Skill + MCP:Skill 可以封装复杂的 MCP 调用。例如:一个 “部署 Skill” 可能调用 MCP 的 Git + Docker + CLI 工具。
Harness + 三者
Harness + 三者:Harness 是宿主,把 MCP/Agent/Skill 装配起来。改 Harness 配置文件(如 claudedesktopconfig.json)相当于重新接线;写一个新 Skill 相当于给宿主装新工具。Claude Code、Codex CLI、Cursor Agent 都是这种“宿主 + 三件套”的实例。
MCP 是底层协议,让 Agent 能与外部世界通信
Agent 是执行主体,根据用户需求规划并执行任务
Skill 是能力扩展,让特定任务更高效专业
Harness 是运行时承载层,把三者粘合成一个真正能跑起来的代理
这些概念经常协同工作,但并非必须同时存在的技术栈,也不是严格的依赖层级;不同产品的边界与实现会有所不同。