当前位置: 首页 > news >正文

别再混着说了: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 Skills(SKILL.md)
L3 工具连接协议MCP标准化"Agent ↔ 工具/数据"的接法Model Context Protocol
L4 智能体协作协议A2A标准化"Agent ↔ Agent"的协作Agent2Agent
L5 编排workflow / multi-agent / subagent决定"谁先谁后、谁调谁"planner-executor、orchestrator
L6 喂养与约束Context / Harness Engineering给 Agent 喂对的信息、framed 住它的行为RAG、memory、guardrails、eval

下面逐层说。

L1 原语:function calling —— 一切的起点

最底层是tool use(函数调用):模型不再只吐文字,而是按结构化格式输出"我要调用哪个函数、参数是什么",由外部执行后把结果喂回去。这是 Agent 能"动手"的最小单元。后面所有花活,本质都是把 function calling 组织得更好用。

L2 能力封装:plugin 与 Skill —— 把"怎么做"打包

光有 function calling 还不够:每次都要把"这类活该怎么干"重新喂给模型,太低效。于是有了能力封装

  • plugin:早期形态,把一组 API 包装成模型可调用的工具。
  • Skill(Agent Skills):Anthropic 的做法,一个 Skill 就是一个文件夹,核心是SKILL.md——用 YAML 元数据 + Markdown 指令 + 可选脚本,把"做某类任务的完整流程"写死。请求一旦命中,Agent自动按需加载这套指令,不用用户每次重新解释。

关键区别:plugin/Skill 解决的是"把知识和流程打包",不规定"怎么连到外部系统"——那是下一层 MCP 的事。

L3 MCP:给单个 Agent 一双标准化的"手"

MCP(Model Context Protocol)是 Anthropic 2024 年底提出的开放协议,用一套标准 client-server 接法,统一"Agent ↔ 外部工具/数据"的连接,取代过去一对一的碎片化集成——所以常被叫做 “AI 的 USB-C”。

它的采用速度很猛:到 2025 年 11 月一周年时,MCP 已有月 9700 万+ SDK 下载、1 万+ 部署的 server,OpenAI、Google DeepMind、微软、AWS 都接了。一句话定位:MCP 管的是"一个 Agent 怎么用工具",给它装上"手"。

2026 年 1 月的MCP Apps让 Skill 和 MCP 边界开始模糊——Skill 可以触发由 MCP server 提供的富 UI。这也是为什么很多人把两者搞混:它们确实在互相靠拢,但分工没变(Skill 教"流程",MCP 管"连接")。

L4 A2A:让多个 Agent 之间能协作

单个 Agent 再强也有边界,于是有了多智能体,也就需要一套 Agent 之间的"通信协议"——A2A(Agent2Agent),Google 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 agent

  • workflow:路径是你预先定义好的,LLM 只在固定节点上发挥,可控、可预测。
  • agent:让 LLM 自己决定下一步调什么、循环几次,灵活但更难控。

Anthropic 那篇《Building Effective Agents》的核心建议就是:别一上来就上 agent,能用 workflow 解决的就别引入自主性——复杂度和不可控性是有代价的。subagent、planner-executor、orchestrator 都是这一层的编排模式。

L6 喂养与约束:从 Context 到 Harness Engineering

模型再强,喂错了信息、放任它乱跑也白搭。这层在 2026 年话题度最高,可以串成一个演进:

  • Prompt Engineering(2022–24):研究"我该怎么对模型说"。
  • Context Engineering(2025起):研究"模型要做好这件事,需要知道什么"——不止 prompt,还有 memory、检索(RAG)、工具、状态。有报告称 82% 的 IT/数据负责人认为"光靠 prompt 已经撑不起规模化的 AI"。
  • Harness Engineering(2026):更进一步,“Agents aren’t hard; the Harness is hard”。核心反直觉结论是——用规则、反馈回路、linter 去约束 Agent 的解空间,反而能提升它的产出质量和可靠性。

一句话:上层拼的不再是模型本身,而是你给它搭的那套"环境 + 约束"

几个最容易搞混的点

  • Skill vs MCP:Skill 教 Agent"某类活的流程",MCP 负责"连到外部工具"。一个管知识、一个管连接,互补。
  • MCP vs A2A:MCP 是"Agent↔工具",A2A 是"Agent↔Agent"。一个对内用工具、一个对外搞协作。
  • prompt vs context vs harness:一句话的事 → 一整套信息环境 → 一整套行为约束,是同一条路越走越上层。

落地:给你的 Agent 接一个"出图出视频"能力

把上面这套落到一个具体场景:你想让自己的 Agent 会出图、出视频。按分层来拆——

  1. L2 能力封装:拿一个现成的 Skill,比如 iMini 官方的imini-generate(一个标准SKILL.md),把"文生图 / 参考图编辑 / 文生视频 / 首尾帧"的完整流程打包好,放进 Agent 的 skills 目录,命中即自动加载;
  2. L1/L3 连接:Skill 底层调用 iMini 的生图接口(异步:提交拿 task_id、轮询取结果),多模型(nano-banana、seedance、kling 等)一套接口覆盖;
  3. L5 编排:在你的 workflow 里把"出图"作为一个节点,前面接选题、后面接排版,Agent 一条龙交付图文。

这样你不用自己从零写 submit/poll 逻辑,用一个 Skill 把"出图出视频"这件事变成 Agent 的一个原子能力——这正是 L2 能力封装存在的意义。

小结

名词会继续分化,但分层这个思路不会过时:遇到一个新概念,先问它落在哪一层(原语 / 封装 / 连接 / 协作 / 编排 / 约束),关系自然就理顺了。

你现在的 Agent 项目卡在哪一层?评论区聊聊,下篇可以挑一层往深里写。


http://www.jsqmd.com/news/1093391/

相关文章:

  • Codex Agent Legion 实现原理与 GitHub 使用指南
  • 剪流AI员工手机数据安全架构解析:企业客户资料是否存在泄露风险?
  • 墨香情手游全域自由轻功,无束缚飞檐走壁闯江湖
  • .Net如何在AgentFramework中给AI智能体给AI添加执行python脚本和运行代码的能力后——后续可用于对接openClaw技能
  • Mybatis基础操作
  • Rust的async函数中的await点优化与编译器在状态机生成中的转换
  • 各类幕墙验收时应提供的资料
  • Skill用得好,下班走得早:一文讲透Skill的结构与设计
  • AI native: Casebook 面向 AI Agent 时代的测试用例工程化工作流
  • 149期目录 黄大年茶思屋“难题揭榜”第149期--云核心网领域第四期
  • 一篇搞懂SpringMVC XML 配置标签<context:component-scan>
  • Linux x86-64 DMA映射探秘(二)——SWIOTLB的bounce buffer机制
  • 计算机Java毕设实战-网络域名资源信息化管理平台设计与实现 面向企业的 Web 域名运维管理系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机Java毕设实战-轻量化网络博客发布平台的设计与实现基于 SpringBoot 的在线文章发布管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • LLM Serving 进入下半场:Prefill/Decode 解耦架构、KV 迁移与 PD 调度工程实践
  • 浅谈src挖掘中—文件上传和XSS漏洞的组合拳,网络安全零基础入门到精通实战教程!
  • Win11Debloat终极指南:4步快速清理Windows系统,性能提升70%
  • 【从零开始学架构】状态机不是增加架构复杂度,而是停止猜测
  • 私域直播SaaS大乱斗:小鹅通、微赞、有赞、悦邻,到底谁更适合“卖菜”的?
  • 将 Rust 绑定到 .NET 10:Oxigraph 的 FFI 桥接实践
  • 【毕业设计】基于 SpringBoot 的文章发布与评论互动博客系统 个人博文编辑、分类与归档管理系统设计与实现(源码+文档+远程调试,全bao定制等)
  • 第11章:对话管理与会话持久化
  • 国内智慧交通数字孪生头部企业汇总,一站式建设方案对比推荐
  • 盯盘与研究辅助AI工具选择与流程适配指南
  • 2026 珠三角磁吸手机支架转轴源头厂家盘点|5 家实体工厂选型指南
  • Rust的Send与Sync:理解线程安全标记trait
  • Prisma安装使用
  • 从0到1:企业级AI项目迭代日记 Vol.56|每一个“差点能用”,都是一次真实的用户流失
  • 用AI自动提取小红书抖音脚本文案,同步Obsidian素材库
  • 162.乐理进阶:和声大调与旋律大调的实战应用与听觉辨识