Agent 领域每隔几个月就炸出一批新名词------MCP、A2A、Context Engineering、Skills、Hooks、Harness......
你可能熟悉其中几个,但很难说清它们之间的关系:谁先谁后?谁替代了谁?它们解决的是同一个问题还是不同问题?
今天用一条线串起来。这条线不是技术细节,而是一个更本质的问题:你怎么管 Agent?
管一句话 → 管一堆信息 → 管整个系统
从 2022 年到现在发生的一切,都可以用这条线解释。

一、全景图:八维度 × 发展历程
先上全景矩阵,让你对 Agent 领域的全貌有个直觉。后面的正文只沿"管理范式"这条主线展开,其他维度在第三节速查。

| 维度 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|
| ① 推理范式 | CoT · ReAct | Plan-and-Execute · Reflection | Reasoning Model (o1) | Extended Thinking | --- |
| ② 行动方式 | --- | Function Calling | CodeAct · Parallel Tool Use · Computer Use · Browser Use | --- | --- |
| ③ 扩展与协议 | --- | ChatGPT Plugins · GPTs | Assistants API · Tool Use · Structured Outputs · MCP | A2A | MCP 进入 Linux Foundation |
| ④ 指令与技能 | --- | System Prompt | .cursorrules · copilot-instructions.md | CLAUDE.md · AGENTS.md · Skills · Hooks | Skills 生态爆发 |
| ⑤ 记忆与上下文 | --- | RAG 产品化 | ChatGPT Memory · Claude Projects · Prompt Caching | 上下文压缩 | --- |
| ⑥ 多智能体 | --- | 角色制协作 · AutoGen | Swarm · Agentic Workflow (DAG) | Orchestrator-Worker · Sub-agent · HITL | Background Agents |
| ⑦ 管理范式 | Prompt Engineering | Guardrails | Permission System · 沙箱隔离 · Prompt Injection 防御 | Context Engineering | Harness Engineering |
| ⑧ 评测与可观测 | --- | --- | SWE-bench · LLM-as-Judge · 可观测性平台 | 端到端评测体系 | --- |
年度关键词:
| 年份 | 一句话 |
|---|---|
| 2022 | 会思考 --- CoT + ReAct 给了 Agent 大脑 |
| 2023 | 会自主 --- AutoGPT 引爆想象,Function Calling 给了工程可行性 |
| 2024 | 会干活 --- CodeAct + Computer Use 扩展行动空间,MCP 统一工具接入 |
| 2025 | 会协作 --- 多智能体 + 指令系统 + Context Engineering 走向成熟 |
| 2026 | 会治理 --- Harness Engineering 体系化,MCP 成行业标准,Skills 生态爆发 |
二、一条主线看演进
这段历程中最容易被忽略的一条暗线是:我们管 Agent 的方式在不断升级。不是因为我们想升级,而是旧的管法不够用了。
| 阶段 | 时间 | 管什么 | 粒度 |
|---|---|---|---|
| Prompt Engineering | 2022-2023 | 一段提示词的措辞、格式、示例 | 单次调用 |
| Context Engineering | 2024-2025 | 上下文从哪来、怎么组装、怎么压缩、怎么持久化 | 一个会话/任务 |
| Harness Engineering | 2026 | 工具 + 权限 + 记忆 + 编排 + 评测 + 安全 + 生命周期 | 整个 Agent 系统 |
Prompt Engineering 时代(2022-2023)
管什么: 一段提示词的措辞、格式、示例。
这个时代的核心矛盾很简单:模型有能力,但你不知道怎么说它才听得懂。
2022 年两篇论文改变了一切:
- Chain-of-Thought(CoT) :让模型"先想再答"。在此之前,模型是一步到位给答案,复杂推理一塌糊涂。CoT 证明了一件事------你只要在提示词里加一句"let's think step by step",模型的推理能力就能大幅提升。问题是它只会想,不会做。
- ReAct:让模型"想一步做一步"。把推理和行动交替进行------想一下该做什么,去做,看到结果,再想下一步。这是 Agent 的雏形。
2023 年,工程侧开始跟上:
- Function Calling(OpenAI,2023.6):在此之前,让模型调用外部工具只能靠"在提示词里告诉它输出 JSON,然后你自己解析"------脆弱、不可靠。Function Calling 把工具调用变成了 API 级别的一等公民:模型直接输出结构化的函数调用,不再需要你写正则去抠。这是从"能演示"到"能工程化"的分水岭。
- ChatGPT Plugins(2023.3):第一次尝试让模型连接外部服务。想解决的问题是模型的知识有截止日期、没法访问实时数据。但插件发现/安装/权限机制不成熟,最终在 2024 年下线。
- AutoGPT(2023.3):一个开源项目让模型自己给自己定任务、自己执行、自己验证。它在技术上很粗糙,但引爆了公众想象------原来 AI 可以自主完成复杂任务,不是只能一问一答。
- RAG 产品化:检索增强生成。模型的知识有截止日期,RAG 的思路是"先从外部知识库检索相关内容,塞进提示词,再让模型回答"。2023 年 RAG 从论文走向了产品,几乎所有企业级 AI 应用都用了这个模式。
代表产物:ChatGPT、LangChain、各种 Prompt 模板库。
为什么不够用了?
任务一复杂,光靠一段提示词管不住。你让 Agent 做一个多步骤任务------它不记得之前做了什么、不知道当前有哪些工具可用、分不清哪些信息该看哪些该忽略。提示词能约束一次调用,但约束不了一个持续运行的过程。
→ 管理对象必须从"一句话"升级为"一堆信息"。
Context Engineering 时代(2024-2025)
管什么: 上下文从哪来、怎么组装、怎么压缩、怎么持久化。
这个时代的核心矛盾变了:不是模型听不懂你说什么,而是模型的"工作台"太小------上下文窗口有限,你得设计一套系统来决定什么信息上桌、什么时候下桌、怎么存档。
行动空间大爆发(2024):
上一代 Agent 只能调 API,这一代开始能做任意事:
- CodeAct:让模型通过写代码来执行任务,而不是只调预定义函数。为什么?因为预定义函数永远覆盖不了所有场景,但代码可以。
- Computer Use(Anthropic,2024.10):让模型直接操控电脑桌面------看屏幕截图、移鼠标、点按钮。解决的问题是:很多软件没有 API,唯一的交互方式就是 GUI。
- Parallel Tool Use:让模型一次调用多个工具并行执行。之前是串行的------调一个等结果、再调下一个,慢。
工具协议统一(2024-2025):
行动空间越大,工具接入越乱。每个模型厂商一套 API、每个 Agent 框架一套接口。
- MCP(Model Context Protocol) (Anthropic,2024.11):一个开放协议,统一了"Agent 怎么发现和调用外部工具"。类比 USB:在此之前每个设备一种接口,MCP 让所有工具用同一种接口接入。它解决的不是"能不能调工具",而是"不同 Agent 能不能共享同一套工具生态"。
- A2A(Agent-to-Agent Protocol) (Google,2025.4):如果 MCP 解决了"Agent 怎么连工具",A2A 解决的是"Agent 怎么连 Agent"。当系统里有多个 Agent 各管一摊事,它们需要一套标准协议来互相发现、交接任务、汇报进度。
指令系统成熟(2024-2025):
Agent 越来越能干,但你发现每次打开新会话都要从头教它项目背景、代码规范、团队约定。
- CLAUDE.md / AGENTS.md / .cursorrules:各家 AI 编程工具推出了自己的指令文件格式。核心思路一样------把项目级的规则写成文件放在仓库里,Agent 启动时自动读取。这样每次对话不用重复交代背景。
- Skills:可复用的技能模块。指令文件是"告诉 Agent 这个项目的规则",Skills 是"给 Agent 装一个技能包"------比如一个 TDD 技能、一个代码审查技能。解决的问题是:好的工作流程不应该每次都重新写进提示词。
- Hooks:生命周期回调。在 Agent 执行前/后自动触发用户定义的脚本,比如工具调用前检查敏感文件、会话结束后自动记日志。
记忆和上下文管理(2024-2025):
- ChatGPT Memory / Claude Projects:跨会话记忆。解决的问题是:Agent 不该每次见面都像第一次认识你。
- Prompt Caching:缓存重复的上下文,省钱省时间。当你的系统提示词很长且大量请求复用时,不需要每次都重新算。
- 上下文压缩:长对话越来越长,迟早撑爆窗口。Claude Code 实现了五级压缩策略------从轻量裁剪到紧急摘要,按需触发。
多智能体走向实用(2023-2025):
- AutoGen(2023)/ Swarm(2024) :早期探索,让多个 Agent 角色分工、对话协作。AutoGen 偏学术,Swarm 偏轻量交接。
- Orchestrator-Worker(2025) :一个 Agent 负责规划拆分任务,多个 Worker Agent 并行执行。从"大家坐一起聊"升级为"有人管有人干"。
代表产物:Claude Code、Cursor、Devin、OpenAI Agents SDK。
为什么又不够用了?
上下文管好了,但新的问题浮出水面:
- 工具权限谁来控? Agent 能删文件、能推代码、能发消息------谁来决定它能不能做?
- 执行出错谁来查? Agent 跑了 50 步,中间哪步错了?没有 trace,你只能看最终结果猜。
- 模型升级后效果漂移谁来测? 换个模型版本,同样的任务可能产出完全不同的结果,没有评测体系你根本不知道。
→ 管理对象必须从"一堆信息"升级为"整个系统"。
Harness Engineering 时代(2026)
管什么: 工具 + 权限 + 记忆 + 编排 + 评测 + 安全 + 生命周期。
Harness Engineering 这个术语源自 Anthropic 社区对 Claude Code 架构的分析文章,尚未成为行业统一术语。但它描述的问题是真实的:当 Agent 从"聊天助手"变成"持续运行的执行系统",你需要一套完整的工程体系来管理它。

核心认知:Agent = Model + Harness。模型是大脑,Harness 是围绕大脑的一切------上下文怎么组装、工具怎么受控、权限怎么分层、执行怎么可追踪、质量怎么可验证。
这个时代回答的不再是"怎么让 Agent 干活",而是 "怎么让 Agent 可靠地、安全地、可验证地干活" 。
| 管什么 | 核心问题 |
|---|---|
| 能力边界 | 这个工具 Agent 能不能用?参数合不合法? |
| 执行环境 | 出了问题爆炸半径多大?需要沙箱隔离吗? |
| 权限策略 | allow/deny/ask 三态决策 + 人在回路 |
| 上下文状态 | 会话怎么切分、记忆怎么失效、大块内容怎么压缩 |
| 可观测性 | trace/metric/log,从"看聊天记录"升级到"看分布式追踪" |
| 评测回放 | 同一任务能稳定复现吗?升级后能做回归吗? |
| 资源调度 | 多个 Agent 怎么并发、怎么隔离、怎么回收 |
同期发生:
- Skills 生态爆发:Skills 从"Claude Code 的内置功能"扩展为可分享的技能市场,第三方开发者可以发布和安装技能包。
- MCP 进入 Linux Foundation:从 Anthropic 一家的协议走向行业标准级别的治理。
- Background Agents:Agent 不再只在你盯着的时候干活,可以后台持续运行,完成了通知你。
三、八维度详解:每个概念解决了什么问题
第一节的全景矩阵告诉你"什么时候出了什么",这一节告诉你"为什么要出这个东西"。⑦ 管理范式已在第二节展开,这里不再重复。
① 推理范式 --- 模型怎么想
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| Chain-of-Thought (CoT) | 2022.1 | Google (Jason Wei 等) | 模型一步到位给答案,复杂推理一塌糊涂。加一句"let's think step by step"就能大幅提升推理能力 |
| ReAct | 2022.10 | Princeton / Google | CoT 只会想不会做。ReAct 把推理和行动交替进行------想一步、做一步、看结果、再想,这是 Agent 的原型 |
| Plan-and-Execute | 2023 | LangChain 等框架 | ReAct 是走一步看一步,容易迷路。先整体规划再逐步执行,适合多步骤复杂任务 |
| Reflection | 2023 | Shinn 等 (Reflexion) | 做完就完了,不知道做得对不对。让模型回头审视自己的输出,发现错误后修正重来 |
| Reasoning Model (o1) | 2024.9 | OpenAI | 之前的推理靠外部循环(调工具看结果)。o1 在模型内部做更长的推理链,用"想得更久"换"想得更准" |
| Extended Thinking | 2025.2 | Anthropic (Claude) | 与 o1 类似的思路,但开放了思考过程的可见性,用户可以看到模型在想什么 |
② 行动方式 --- 模型怎么做
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| Function Calling | 2023.6 | OpenAI | 之前让模型调工具只能靠提示词"请输出 JSON",然后自己写正则解析------脆弱不可靠。Function Calling 让工具调用变成 API 级别的一等公民 |
| CodeAct | 2024.2 | NUS (王新磊等) | 预定义函数永远覆盖不了所有场景。让模型直接写代码执行任意操作,行动空间从"菜单上的菜"变成"厨房里的原料" |
| Parallel Tool Use | 2024 | OpenAI / Anthropic | 串行调工具太慢------调一个等结果、再调下一个。并行执行让多个无依赖的工具调用同时跑 |
| Computer Use | 2024.10 | Anthropic | 很多软件没有 API,唯一的交互方式是 GUI。让模型直接看屏幕截图、移鼠标、点按钮来操控桌面 |
| Browser Use | 2024 | 多家 | Computer Use 太重(整个桌面截图)。专门针对浏览器优化,能理解 DOM 结构,操作更精准 |
③ 扩展与协议 --- 模型怎么连
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| ChatGPT Plugins | 2023.3 | OpenAI | 模型知识有截止日期、没法访问实时数据。第一次尝试让模型连接外部服务,但只能给 ChatGPT 用 |
| GPTs | 2023.11 | OpenAI | Plugins 门槛太高,需要开发者部署 API。GPTs 让普通用户也能定制工具组合,但仍是封闭生态 |
| Assistants API | 2023.11 | OpenAI | 开发者想在自己的应用里用工具调用 + 文件检索 + 代码执行,但之前只能通过 ChatGPT 界面。提供了编程接口 |
| Structured Outputs | 2024.8 | OpenAI | Function Calling 的输出格式偶尔会出错(JSON 不合法)。强制模型输出符合 JSON Schema 的结构化数据 |
| MCP | 2024.11 | Anthropic | 每个 Agent 平台一套工具接口,同一个工具要写 N 遍适配。MCP 统一协议------写一次,所有 Agent 都能用。类比 USB |
| A2A | 2025.4 | MCP 解决了 Agent 连工具,但多个 Agent 之间怎么互相发现、交接任务、汇报进度?A2A 解决 Agent 连 Agent | |
| MCP 进入 Linux Foundation | 2026 | Anthropic / LF | MCP 是一家公司的协议,治理和信任度有限。进入 Linux Foundation 让它成为厂商中立的行业标准 |
④ 指令与技能 --- 怎么教模型规矩
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| System Prompt | 2023 | OpenAI 等 | 没有统一的方式给模型设定角色和规则,全靠用户在对话开头手写。System Prompt 提供了一个专门的"规则槽位" |
| .cursorrules | 2024 | Cursor | 每次打开编辑器都要重新交代项目背景和代码规范。把规则写成文件放在仓库里,Agent 启动时自动读取 |
| copilot-instructions.md | 2024 | GitHub | 同上思路,GitHub Copilot 的项目级指令文件 |
| CLAUDE.md | 2025.2 | Anthropic | Claude Code 的项目级指令文件,支持多层级(全局 / 项目 / 子目录),规则可以跟着代码仓库走 |
| AGENTS.md | 2025.5 | GitHub | GitHub Copilot Agent Mode 的指令文件,可放在任意子目录,为不同模块定义不同规则 |
| Skills | 2025 | Anthropic / 社区 | 指令文件是"这个项目的规矩",但好的工作流程(TDD、代码审查)不应该每个项目重写。Skills 是可复用的技能包 |
| Hooks | 2025 | Anthropic (Claude Code) | Skills 和指令文件管的是"怎么干",但"干之前检查什么、干之后触发什么"没有机制。Hooks 提供生命周期回调 |
| .clinerules | 2025 | Cline | Cline 的项目级指令文件,同 .cursorrules 思路 |
| .windsurfrules | 2025 | Windsurf | Windsurf 的项目级指令文件 |
⑤ 记忆与上下文 --- 模型记什么忘什么
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| RAG 产品化 | 2023 | 多家 | 模型知识有截止日期。RAG 从外部知识库检索相关内容塞进提示词,让模型能回答"训练数据里没有"的问题 |
| ChatGPT Memory | 2024.2 | OpenAI | 每次新对话都像第一次见面,记不住用户偏好和历史上下文。跨会话记忆让模型"认识你" |
| Claude Projects | 2024 | Anthropic | 单个记忆不够,项目级别的文档、代码、规范需要整体载入。项目上下文让模型"了解你的项目" |
| Prompt Caching | 2024.8 | Anthropic | 系统提示词很长且大量请求复用同一段上下文,每次都重新算太贵。缓存重复部分,省钱省时间 |
| 上下文压缩 | 2025 | Anthropic (Claude Code) | 对话越来越长,迟早撑爆窗口。五级压缩策略------从轻量裁剪到紧急摘要,按需触发 |
⑥ 多智能体 --- 多个模型怎么协作
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| 角色制协作 | 2023 | CAMEL 等 | 单个模型视角单一。给多个模型分配不同角色(程序员、测试、产品经理),让它们对话协作 |
| AutoGen | 2023.9 | Microsoft | 多 Agent 对话协作需要大量胶水代码。AutoGen 提供了框架,让多个 Agent 按规则自动对话 |
| Swarm | 2024.10 | OpenAI | AutoGen 太重。Swarm 用极轻量的"交接"机制------一个 Agent 做完自己的部分,把上下文递给下一个 |
| Agentic Workflow (DAG) | 2024 | LangGraph 等 | 对话式协作容易跑偏、难以控制流程。把任务编排成 DAG(有向无环图),每个节点是一个 Agent 或工具调用 |
| Orchestrator-Worker | 2025 | OpenAI Agents SDK 等 | DAG 需要提前画好流程图,不够灵活。一个 Orchestrator 动态拆分任务、分配给多个 Worker 并行执行 |
| Sub-agent | 2025 | Anthropic (Claude Code) | 主 Agent 处理所有事情会撑爆上下文。把独立子任务派给 Sub-agent,各自有独立上下文,完成后汇报结果 |
| HITL (Human-in-the-Loop) | 2025 | 多家 | Agent 完全自主执行风险太大。在关键节点插入人工审批------Agent 提方案,人来拍板 |
| Background Agents | 2026 | Anthropic / GitHub 等 | Agent 只在你盯着的时候干活,关掉就停了。后台持续运行,完成了通知你 |
⑧ 评测与可观测 --- 怎么知道做得好不好
| 概念 | 时间 | 提出者 | 解决什么问题 |
|---|---|---|---|
| SWE-bench | 2024.4 | Princeton | 评 Agent 基本靠 vibes------"感觉更好"。SWE-bench 用真实 GitHub issue 当考题,让不同 Agent 在同一套题上比分 |
| LLM-as-Judge | 2024 | 多家 | 非标准答案的任务(写文章、做设计)没法自动评分。用另一个模型来评判输出质量 |
| 可观测性平台 | 2024 | LangSmith / Langfuse 等 | Agent 跑了 50 步,中间哪步错了?没有 trace 只能看最终结果猜。全链路追踪让每一步可回溯 |
| 端到端评测体系 | 2025 | 多家 | 单步评测通过不代表整个任务能完成。端到端回放------录制完整任务流程,换模型后重跑对比 |
指令文件速查
| 文件 | 对应 Agent | 位置 |
|---|---|---|
| CLAUDE.md | Claude Code | 项目根目录 / ~/.claude/ / .claude/ |
| AGENTS.md | GitHub Copilot Agent Mode | 项目根目录 / 任意子目录 |
| .cursorrules | Cursor | 项目根目录 |
| .windsurfrules | Windsurf | 项目根目录 |
| .github/copilot-instructions.md | GitHub Copilot | .github/ 目录 |
| .clinerules | Cline | 项目根目录 |
四、结尾
三次跃迁:
管一句话 → 管一堆信息 → 管整个系统
Prompt Engineering → Context Engineering → Harness Engineering

每一次跃迁不是因为我们想升级,而是旧的管法扛不住新的复杂度。
下次看到一个 Agent 领域的新概念,先问两个问题:
- 它解决的是哪个维度的问题? (推理?行动?协议?记忆?管理?评测?)
- 它属于哪个管理时代? (在优化一句提示词?在设计上下文系统?还是在建治理体系?)
能回答这两个问题,你就不会被名词淹没。