一场把控制权摆上台面的大会
9 月 6 日,AGNTCon 与 MCPCon China 2026 在上海国际会议中心开幕。
这场大会由 Linux 基金会旗下 AAIF 主办,聚焦 Agentic AI 与开放协议。
800 多位从业者从全球各地赶来,把主会场挤得满满当当。
议题清单里没有新模型发布,只有基础设施、协议与生产实践。
AWS 布道师 Betty Zheng 的开场演讲定下了整场基调。
她提出一个判断:连接之后,开发者更需要的是控制。
随后她抛出一个反直觉的 48 小时智能体案例。
这个智能体无人值守运行了两天,中途识别出数据标签错误。
它自动重新处理数据,并行启动 6 组实验,又按结果修改方案。
从行为看,它像一个合格的研究助手。
但传统监控面板上,API 返回值全部正常,服务可用性全部正常。
这个智能体实际却陷入了无效循环,持续消耗算力与预算。
没有任何一条告警能解释它为什么在烧钱。
这个案例戳中了 Agentic AI 与经典应用最本质的差别。
经典应用的故障发生在请求与响应之间,Agent 的故障发生在执行轨迹上。
连接层不再稀缺,执行层的失控才是真正的新问题。
MCP 已经让智能体接上几乎所有工具。
A2A 已经让智能体之间能够互相协作。
可一旦它们开始自主执行,谁能看见每一步决策?
谁能在失控前踩下刹车?
本文按三层协议栈拆解:MCP 接工具,A2A 接智能体,Harness 控执行。
读完你会理解,为什么这场大会把控制权提到了协议栈顶层。
MCP:把工具接进来,只是入场券
会议召开时,MCP 2026-07-28 规范刚完成史上最大一次重构。
这次重构最核心的动作,是砍掉有状态的 Session 模型。
新规范的无状态核心,让 MCP 可以跑在普通 HTTP 基础设施上。
智能体的会话状态不再由协议层硬性保存,扩展与集成成本骤降。
重构同时引入了扩展框架,Tasks 与 MCP Apps 有了独立的发布节奏。
Tasks 扩展支撑长任务,MCP Apps 允许服务器返回交互式界面。
规范还发布了正式的废弃策略,让协议可以持续演进。
为了保证兼容,官方给 SDK 划定了分级体系。
Tier 1 SDK 被要求在十周窗口内完成新规范适配。
TypeScript 与 Python 两个官方 SDK 累计下载已突破 10 亿次。
社区 MCP 服务器数量超过 2300 个,覆盖 GitHub、Slack 与 Postgres。
工具接入的大门,已经被完全推开。
但门推开的另一面,是攻击面同步放大。
MCP Pipelines 专场专门讨论了提示注入与 PII 泄漏。
工具返回的内容会直接流入 LLM 上下文窗口。
一次恶意的工具响应,就可能在智能体内部形成间接注入。
一个查订单的工具,可能把手机号带进推理上下文的每一轮。
Auditing the MCP Supply Chain 专场的结论更加直接。
每一个 MCP 服务器背后,都藏着一条看不见的依赖链。
你安装的服务器会拉入 PyPI 包、registry 与官方 SDK。
其中任何一环被替换,整个工具链都会被污染。
所以大会给 MCP 的定位非常克制。
它解决的是连接,不是安全,也不是治理。
连接只是入场券,真正的赛程从控制开始。
MCP 的三种原语与一个缺口
MCP 规范把能力抽象成三种原语:工具、资源与提示词。
工具是可由智能体调用的函数,最接近传统 API。
资源是只读的数据入口,比如文件、数据库表或 URL。
提示词是预先编写好的指令模板,帮助智能体复用工作流。
2026-07-28 规范新增了 Tasks 扩展,补上长任务能力。
Tasks 让服务器可以执行跨越多个请求的异步工作。
MCP Apps 则带来服务器渲染的交互式 UI。
仪表盘、表单与可视化可以直接渲染在客户端里。
这几项能力加在一起,MCP 从协议变成了微型应用平台。
但原语再多,也管不住智能体该不该执行某个动作。
这把尺子从协议层转移到了授权与运行时层。
规范在授权上向 OAuth 与 OpenID Connect 对齐。
身份与令牌开始标准化,这是企业采用的硬条件。
标准化的授权解决了身份,解决不了越权。
一个工具有读权限,不代表每一次调用都该拿到读权限。
权限必须随执行上下文动态判定。
这正是下一代 MCP 治理要回答的问题。
MCP Apps 带来了什么改变
MCP Apps 是这次规范重构里最容易忽略的增量。
它允许工具返回交互式 UI,而不是纯文本。
一个绘图工具可以返回画布,一个报表工具可以返回图表。
客户端直接渲染这些组件,不再需要二次组装。
这改变了人类审查智能体输出的方式。
过去我们读文字日志判断结果,现在可以直接看可视化。
审查效率提升,意味着人工监督的成本下降。
交互式 UI 同时把权限边界画得更清楚。
哪些组件可写、哪些组件只读,可以由服务器声明。
MCP Apps 与 Tasks 一起,构成协议层的应用框架。
这也让 MCP 从工具协议向 Agent 运行时又近了一步。
A2A 的委派生命周期
A2A 官方把多智能体协作拆成四个阶段。
第一阶段是发现,找到能完成任务的智能体。
第二阶段是委派,把任务与约束交给对方。
第三阶段是回传,持续同步进度与中间结果。
第四阶段是收敛,把最终产物交还给发起方。
发现阶段依赖 Agent Card 与目录。
委派阶段区分同步消息与异步任务。
回传阶段支持流式推送与 webhook 通知。
收敛阶段用 contextId 保证任务上下文连续。
整个生命周期都有明确的协议原语。
这让跨厂商的智能体协作第一次有了公共语言。
采购、物流、审批这类跨系统的流程,终于可以自动化闭环。
大会上演示的供应链调度,正是这个生命周期的实例。
企业级落地必须面对的现实
协议标准是一回事,企业落地是另一回事。
同一家企业会同时跑着多个智能体运行时。
Claude Code、Codex、ADK 与内部运行时各有各的配置。
权限模型不同,执行生命周期不同,可观测面也不同。
大会专门有一场讨论这个碎片化问题。
结论是需要在运行时之上建一层统一控制面。
这层控制面屏蔽运行时差异,统一执行权限与审计。
MCP 服务器数量越多,企业越需要这种抽象。
没有统一控制面,安全团队根本无法回答谁做了什么。
这解释了为什么 Harness 成了今年大会的主角。
连接协议解决不了的管理问题,最终要由运行时来解决。
A2A:让智能体学会找智能体
MCP 解决智能体与工具的纵向连接。
A2A 解决的是智能体与智能体之间的横向协作。
Google 工程师 Jingyi Wang 完整演示了 A2A 的生产级用法。
她选择了一个供应链自动化调度系统作为案例。
这个系统里,ADK 作为核心控制室负责全局编排。
LangGraph 承担有状态编排、循环与深度规划。
CrewAI 在执行层协同,各司其职。
三个框架混用,却通过 A2A 保持互通。
它们不共享内存、不共享资源、不共享工具。
A2A 的核心抽象是 Agent Card。
Agent Card 相当于智能体的名片,声明它能做什么。
能力发现靠这张卡完成,智能体可以查询彼此的能力。
Task 与 Artifact 接管了任务委派与结果交付。
一次请求可能是即时回复,也可能要跑 20 分钟。
A2A 用 Message 与 Task 区分这两类交互。
长任务支持 streaming 流式回传,也支持 push notification 异步推送。
Artifact 交付结构化产物,而不是一段聊天文本。
任务中途需要澄清时,A2A 进入 input-required 状态。
任务到达终态后,修订要在同一 contextId 下开新任务。
Jingyi 还展示了多智能体的故障注入场景。
当一个协作节点被攻破,整个网络必须能快速隔离。
最小特权原则从单个工具沿伸到整条智能体网络。
企业敢不敢让智能体跨系统协作,取决于这一层是否可靠。
A2A 的安全边界不是可选项
A2A 的信任模型与 MCP 有本质区别。
MCP 防的是一个智能体调错工具。
A2A 防的是一个智能体找错协作者、交错任务、拿错结果。
跨组织协作意味着请求会离开你的网络边界。
对方智能体的实现细节,你无法完全控制。
签名与身份验证因此成了硬前提。
A2A 支持 JWT 签名卡,用于验证对方身份。
OAuth 2.0 与 OIDC 被列为标准认证路径。
双向 TLS 可以保护传输层。
但协议能解决互操作,解决不了信任本身。
信任要靠治理机制建立,这是大会反复强调的观点。
华为在大会上发布了 openJiuwen A2X Registry。
这是面向 MCP 服务的注册与发现方案。
服务越来越多之后,找得到、连得上成了新瓶颈。
注册中心把服务发现从手工配置变成目录查询。
华为把它列为 openJiuwen Agent Protocol 的重要组成部分。
发现、身份、治理三者缺一不可。
Harness:控制平面才是新战场
连接与协作就绪后,真正的缺口落在执行控制层。
Anthropic 在 Managed Agents 中给出的答案是三层结构。
Session 是任务发生过的持久记录。
Harness 是控制面,负责调度模型、上下文、工具与策略。
Sandbox 是执行面,负责隔离文件系统与网络。
Session 不绑定任何容器,失败时可以重建执行环境。
Brain 与 Hands 被彻底解耦。
Ant 在演讲中给出一个简洁公式:Agent = Model + Harness。
模型负责推理,Harness 负责让推理在长任务中持续有效。
华为给出的方案是通用 Agent OS 架构。
它用四层技术栈实现自我进化与实时可靠的运行时。
华为宣称这套架构让对话效率提升了 15%。
阿里云发布了面向长程任务的 HiRoute 运行时。
HiRoute 做自适应模型路由,解决模型、需求与算力碎片化。
长任务不会由单一模型独占,而是多模型协同完成。
这些方案的共同点,是把权限判断从一次对话挪到执行过程。
任务开始时的风险与中段的风险完全不同。
前几轮可能只是读文件,后面可能改系统、发请求。
权限必须在动作发生前重新判定。
这条原则,是所有 Harness 方案的地基。
控制平面要解决的四件事
把各家方案对齐,控制平面要解决四件事。
第一件事是可观测。
每一步工具调用、每一次模型推理都要留下轨迹。
轨迹不是日志,而是可回放的状态机。
第二件事是可干预。
发现异常轨迹时,操作者要能随时打断或改道。
第三件事是可恢复。
执行环境失败后,要能重建并恢复进度。
第四件事是权限收敛。
每个动作都要按最小特权执行,身份可以随时吊销。
Ramp 的 38 小时实验最能说明这套设计。
Fable 5.1 运行期间同时管理 6 组实验。
它识别出 label artifact,重新处理数据,修改后续方案。
如果没有轨迹回放,这一切都无法审计。
控制平面的本质,是把 Agent 从黑盒变成白盒。
为什么连接容易,控制难
连接难的年代已经过去了。
协议、SDK 与服务器都在爆炸式增长。
控制难的原因,藏在智能体的执行方式里。
经典程序的控制流是确定的,输入决定输出。
智能体的控制流是模型产出的,每一步都在变化。
同一个任务,跑两次可能走完全不同的路径。
工具调用顺序、参数选择、中断恢复都无法预测。
这种不确定性让监控变得极其困难。
传统监控看指标,Agent 监控要看轨迹。
指标只能告诉你系统健康,轨迹才能告诉你任务是否走偏。
这就是大会反复强调可观测性的原因。
可观测不是多打几条日志,而是把决策过程完整记录。
每个工具调用的输入输出,每次模型推理的上下文,都要留痕。
有了完整轨迹,才能判断一次失败是模型问题还是工具问题。
也才能回答安全审计最关心的那个问题:它为什么这么做。
从协议到运行时,再往前一步
协议解决的是通信格式,运行时解决的是执行语义。
MCP 与 A2A 定义了智能体之间怎么说话。
Harness 定义了智能体怎么在一个环境里活下去。
两家头部企业不约而同提到了同一个词:控制层。
这是连接层之上的新抽象,也是新的竞争点。
谁把控制层做扎实,谁就掌握 Agent 时代的生产力。
对开发者而言,这个信号很明确。
选型时不要只看模型与协议,要看运行时能力。
它能否回放轨迹,能否隔离环境,能否恢复会话。
这些能力决定了你的 Agent 能不能安全地跑在真实业务里。
AAIF:三块基石撑起智能体互联网
连接、协作与控制之上,还需要一套开放生态规则。
Mazin Gilbert 把智能体生态比作互联网早期。
互联网靠 TCP/IP 等标准协议连接了全世界。
智能体互联网同样需要三大基石。
第一块基石是标准化协议。
第二块基石是可扩展性。
第三块基石是共同治理。
AAIF 成立仅九个月,会员数已达 260 家。
它是 Linux 基金会旗下成长最快的基金会。
A2A、MCP 与 agentgateway 在社区共建下快速生长。
华为首席开源联络官任旭东点出开源协作的根本变化。
AI 生成代码的贡献占比已突破 50%。
核心贡献者不再只是人类工程师。
人机协同要求新的身份认证与贡献审核机制。
开源许可证、信任与审计都在被重新定义。
开放标准的意义不是免费,而是防止规则被锁进黑盒。
只有协议、扩展与治理三块基石俱全,智能体才能跨公司协作。
这也解释了为什么主流框架开始原生支持 MCP 与 A2A。
LangChain、CrewAI、AutoGen 均已在近期版本接入 A2A。
标准协议正在成为 Agent 生态的默认选项。
双层总线,各司其职
把 MCP 与 A2A 放在一起看,分工其实非常清晰。
MCP 暴露的是工具、资源与提示词。
A2A 暴露的是 Agent Card、Task 与 Artifact。
MCP 的核心问题是能力怎么接进来。
A2A 的核心问题是能力怎么彼此协作。
MCP 靠服务器暴露工具列表完成发现。
A2A 靠 Agent Card 与目录完成发现。
MCP 的状态由 Host 与 Client 管理。
A2A 的状态由 contextId 与 taskId 显式维护。
MCP 的输出是工具结果与结构化数据。
A2A 的输出是消息、任务与产物。
最自然的架构是本地智能体通过 MCP 接工具。
再把子任务通过 A2A 委派给其他智能体。
MCP 解决能力接入,A2A 解决能力编排。
两者不是竞争关系,而是垂直与水平两条总线。
一张表看清两条总线的差别
| 维度 | MCP | A2A |
|---|---|---|
| 暴露对象 | 工具 / 资源 / 提示词 | Agent Card / Task / Artifact |
| 核心问题 | 能力怎么接进来 | 能力怎么彼此协作 |
| 发现方式 | 服务器暴露工具列表 | Agent Card 与目录检索 |
| 状态管理 | Host 与 Client 负责 | contextId 与 taskId 显式维护 |
| 输出形态 | 工具结果、结构化数据 | 消息、任务、可交付产物 |
| 长任务 | Tasks 扩展支持 | Task 原生 + streaming 回传 |
| 典型场景 | 智能体调用外部系统 | 智能体跨组织协作 |
这张表是给架构选型用的速查卡。
团队接入工具时优先评估 MCP。
需要跨团队协作时再引入 A2A。
两者叠加,才是完整的智能体互联底座。
最小可运行的接线示例
概念讲再多,不如一段能跑的代码。
下面用标准库写一个极简版本的总线演示。
它不依赖任何外部框架,突出 MCP 与 A2A 的分工本质。
# -*- coding: utf-8 -*- """agent_bus.py —— 极简 Agent 总线演示(stdlib only) ToolBus 模拟垂直总线(MCP 角色:注册+调用工具) AgentNet 模拟水平总线(A2A 角色:能力卡+发现+委派) """ from __future__ import annotations import json from collections import OrderedDict class ToolBus: """垂直总线:智能体 ↔ 工具(对应 MCP 的角色)""" def __init__(self) -> None: self._tools: dict[str, dict] = OrderedDict() def register(self, name: str, fn) -> None: self._tools[name] = {"fn": fn} def call(self, name: str, payload: dict): if name not in self._tools: raise KeyError(f"工具未注册: {name}") return self._tools[name]["fn"](payload) class AgentNet: """水平总线:智能体 ↔ 智能体(对应 A2A 的角色)""" def __init__(self) -> None: self._cards: dict[str, list[str]] = {} def publish_card(self, agent_id: str, capabilities: list[str]) -> None: self._cards[agent_id] = capabilities def find(self, capability: str) -> list[str]: return [aid for aid, caps in self._cards.items() if capability in caps] def delegate(self, agent_id: str, task: str) -> str: return json.dumps( {"task": task, "status": "running", "agent": agent_id}, ensure_ascii=False) def planner(payload: dict) -> str: return json.dumps( {"plan": ["validate", "fulfill"], "order": payload["order"]}, ensure_ascii=False) def executor(payload: dict) -> str: return json.dumps( {"done": True, "note": f"已履约 {payload['order']}"}, ensure_ascii=False) if __name__ == "__main__": tools = ToolBus() tools.register("planner", planner) tools.register("executor", executor) net = AgentNet() net.publish_card("p-1", ["规划"]) net.publish_card("e-1", ["执行"]) print("MCP 调用工具:", tools.call("planner", {"order": "SO-0906"})) print("A2A 能力发现:", net.find("执行")) print("A2A 委派任务:", net.delegate("e-1", "SO-0906"))这里的 ToolBus 承担 MCP 的职责:注册、发现、调用工具。
AgentNet 承担 A2A 的职责:能力卡发布与能力发现。
真实系统里,这两条总线会拆成独立服务。
传输层换成 HTTP 或 SSE,再叠加认证与签名。
但架构骨架与这段代码完全一致。
把这段代码跑起来,你就拥有了最小可用的双层总线。
给工程团队的落点清单
把大会内容收拢成五条可执行建议。
第一条,把工具连接层当攻击面治理。
每个 MCP 服务器的返回都要过注入检查。
PII 在边界脱敏,工具结果不落地到全局上下文。
第二条,为每个智能体发布能力卡。
能力卡写清楚它能做什么、需要什么权限。
第三条,用 Task 语义区分快慢任务。
长任务必须支持进度回传与异步通知。
第四条,把 Harness 控制平面建成一等公民。
每一步执行都可观测、可回放、可干预。
第五条,身份与授权随执行轨迹持续判定。
不给智能体一次性授予全程权限。
把控制层补进你的架构图
很多团队的架构图里还缺控制层这一格。
模型在最里面,工具在最外面,中间只有胶水代码。
这种架构在演示阶段够用,进入生产就会失控。
补控制层不需要推倒重来。
先从可观测入手,把执行轨迹完整落盘。
再给关键动作加上人工确认点。
最后把身份与权限从静态配置改成动态判定。
三步做完,你的 Agent 就从玩具变成了工具。
给本月立项的一句话提醒
如果你这个月要立项一个 Agent 项目,先问三个问题。
第一个问题:工具调用有没有完整留痕。
第二个问题:长任务能不能随时打断。
第三个问题:权限能否按动作动态收敛。
三个问题都答不上来,说明控制层还欠账。
欠账可以在两三个月内补,别拖到生产事故之后。
这轮大会最大的收获,不是某个新协议。
而是一句朴素的话:先会连,再会控。
连接让智能体有了手,控制让手不会乱动。
两者兼备,才是生产级的 Agent 系统。
真正的分水岭,不是谁接的工具多。
而是谁在连接之上建起了控制。
开放协议给了智能体联网的底座。
控制平面给了它刹车与方向盘。
这两样同时到位,Agentic AI 才能从演示走向生产。
AGNTCon 与 MCPCon 的 2026 答案,已经把方向指清楚了。