别再混着说了:2026 AI Agent 技术栈分层(tool / Skill / MCP / A2A / Context Harness Engineering)

📅 2026/6/30 3:11:16
别再混着说了:2026 AI Agent 技术栈分层(tool / Skill / MCP / A2A / Context  Harness Engineering)
这两年聊 Agent名词越堆越多function calling、plugin、Skill、MCP、A2A、context engineering、harness……很多人——包括不少从业者——把它们放在一个层面上讨论于是经常出现MCP 和 Skill 到底啥区别有了 MCP 还要 A2A 干嘛这类问题。其实这些概念不在一个层。把它们按从底层能力到上层编排摞起来关系一下就清楚了。这篇按栈分层捋一遍顺带说几个 2026 年正热的争论。一张分层速查表层概念解决什么代表L1 原语tool use / function calling让模型能调用一个外部能力OpenAI function calling 等L2 能力封装plugin /Skill把怎么做某类活打包成可复用单元Anthropic Agent SkillsSKILL.mdL3 工具连接协议MCP标准化Agent ↔ 工具/数据的接法Model Context ProtocolL4 智能体协作协议A2A标准化Agent ↔ Agent的协作Agent2AgentL5 编排workflow / multi-agent / subagent决定谁先谁后、谁调谁planner-executor、orchestratorL6 喂养与约束Context / Harness Engineering给 Agent 喂对的信息、framed 住它的行为RAG、memory、guardrails、eval下面逐层说。L1 原语function calling —— 一切的起点最底层是tool use函数调用模型不再只吐文字而是按结构化格式输出我要调用哪个函数、参数是什么由外部执行后把结果喂回去。这是 Agent 能动手的最小单元。后面所有花活本质都是把 function calling 组织得更好用。L2 能力封装plugin 与 Skill —— 把怎么做打包光有 function calling 还不够每次都要把这类活该怎么干重新喂给模型太低效。于是有了能力封装。plugin早期形态把一组 API 包装成模型可调用的工具。SkillAgent SkillsAnthropic 的做法一个 Skill 就是一个文件夹核心是SKILL.md——用 YAML 元数据 Markdown 指令 可选脚本把做某类任务的完整流程写死。请求一旦命中Agent自动按需加载这套指令不用用户每次重新解释。关键区别plugin/Skill 解决的是把知识和流程打包不规定怎么连到外部系统——那是下一层 MCP 的事。L3 MCP给单个 Agent 一双标准化的手MCPModel Context Protocol是 Anthropic 2024 年底提出的开放协议用一套标准 client-server 接法统一Agent ↔ 外部工具/数据的连接取代过去一对一的碎片化集成——所以常被叫做 “AI 的 USB-C”。它的采用速度很猛到 2025 年 11 月一周年时MCP 已有月 9700 万 SDK 下载、1 万 部署的 serverOpenAI、Google DeepMind、微软、AWS 都接了。一句话定位MCP 管的是一个 Agent 怎么用工具给它装上手。2026 年 1 月的MCP Apps让 Skill 和 MCP 边界开始模糊——Skill 可以触发由 MCP server 提供的富 UI。这也是为什么很多人把两者搞混它们确实在互相靠拢但分工没变Skill 教流程MCP 管连接。L4 A2A让多个 Agent 之间能协作单个 Agent 再强也有边界于是有了多智能体也就需要一套 Agent 之间的通信协议——A2AAgent2AgentGoogle 2025 年 4 月发布2026 年进入 Linux 基金会、出了 v1.0。A2A 的核心数据模型包括AgentCard / Task / Message / Artifact等。其中Agent Card是放在一个 well-known URL 上的 JSON对外声明这个 Agent 的身份、能干哪些 skill、任务提交端点、支持的输入输出模态、鉴权方式等——相当于 Agent 的名片 API 说明书。MCP 和 A2A 不是竞品是搭档一个 orchestrator 用A2A把子任务派给各个 subagent每个 subagent 再用MCP去调自己需要的工具。MCP 给手A2A 给团队协作。L5 编排workflow 还是 agent有了能力和协议还得决定怎么组织执行这层最经典的争论是workflow vs agentworkflow路径是你预先定义好的LLM 只在固定节点上发挥可控、可预测。agent让 LLM 自己决定下一步调什么、循环几次灵活但更难控。Anthropic 那篇《Building Effective Agents》的核心建议就是别一上来就上 agent能用 workflow 解决的就别引入自主性——复杂度和不可控性是有代价的。subagent、planner-executor、orchestrator 都是这一层的编排模式。L6 喂养与约束从 Context 到 Harness Engineering模型再强喂错了信息、放任它乱跑也白搭。这层在 2026 年话题度最高可以串成一个演进Prompt Engineering2022–24研究我该怎么对模型说。Context Engineering2025起研究模型要做好这件事需要知道什么——不止 prompt还有 memory、检索RAG、工具、状态。有报告称 82% 的 IT/数据负责人认为光靠 prompt 已经撑不起规模化的 AI。Harness Engineering2026更进一步“Agents aren’t hard; the Harness is hard”。核心反直觉结论是——用规则、反馈回路、linter 去约束 Agent 的解空间反而能提升它的产出质量和可靠性。一句话上层拼的不再是模型本身而是你给它搭的那套环境 约束。几个最容易搞混的点Skill vs MCPSkill 教 Agent某类活的流程MCP 负责连到外部工具。一个管知识、一个管连接互补。MCP vs A2AMCP 是Agent↔工具A2A 是Agent↔Agent。一个对内用工具、一个对外搞协作。prompt vs context vs harness一句话的事 → 一整套信息环境 → 一整套行为约束是同一条路越走越上层。落地给你的 Agent 接一个出图出视频能力把上面这套落到一个具体场景你想让自己的 Agent 会出图、出视频。按分层来拆——L2 能力封装拿一个现成的 Skill比如 iMini 官方的imini-generate一个标准SKILL.md把文生图 / 参考图编辑 / 文生视频 / 首尾帧的完整流程打包好放进 Agent 的 skills 目录命中即自动加载L1/L3 连接Skill 底层调用 iMini 的生图接口异步提交拿 task_id、轮询取结果多模型nano-banana、seedance、kling 等一套接口覆盖L5 编排在你的 workflow 里把出图作为一个节点前面接选题、后面接排版Agent 一条龙交付图文。这样你不用自己从零写 submit/poll 逻辑用一个 Skill 把出图出视频这件事变成 Agent 的一个原子能力——这正是 L2 能力封装存在的意义。小结名词会继续分化但分层这个思路不会过时遇到一个新概念先问它落在哪一层原语 / 封装 / 连接 / 协作 / 编排 / 约束关系自然就理顺了。你现在的 Agent 项目卡在哪一层评论区聊聊下篇可以挑一层往深里写。