惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
V
V2EX
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
小众软件
小众软件
Vercel News
Vercel News
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
J
Java Code Geeks
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
B
Blog
美团技术团队
量子位

博客园 - 编写人生

关于数据隔离 Pool 模型 的补充 数据流动、隔离粒度与一致性 大型 ERP 云架构的隔离与协作 如何更优雅地提供 MCP Resources 面向 AI Agent 的能力模型与多协议生成架构设计思考 从 LangGraph 回到 Model-Tool Loop:更聪明的模型,正在让 Agent 架构重新变简单 Agent 的“上下文” 生命周期的思考 .NET GC设计的新想法 AI OS 海量 MCP 工具场景下的上下文隔离选择方案 Python 异步编程完全指南 软件架构设计模式全览 我花了一上午,帮一个 AI 找到了自己的"亲生父母" Agent构建:声明式优于硬编码 探索 Nim 中的 sequtils 与箭头语法 —— 立即计算与惰性计算的那些事 .NET Exception.Data 属性:上下文错误处理的架构深思 组合优于继承最佳实践指南 UI界面设计:继承 vs 组合 的架构思考 Nim 枚举类型 对性能的影响 Nim 概念 Concept 对性能的影响 C# 泛型编译特性对性能的影响 在AI大爆发的背景下,企业管理软件有什么冲击 c#使用内存映射像处理内存一样去快速处理文件 关于.net 和 JAVA 在内存处理(GC)设计上的差距(ChatGPT水文) 我与 ChatGPT 讨论了面向对象语言 中,关于动态调用的问题 寓言故事:超喜欢的玩具 关于 智能红绿灯 的简单探索 Nim 语言新的性能测试 Kotlin 实现类似 C# 的 Event 事件代码
企业级 Agent 架构的真实形态:Skill、A2A 与 MCP 的边界思考
编写人生 · 2026-06-18 · via 博客园 - 编写人生

在构建企业级 AI Agent 系统时,一个核心问题会不断出现:

应该将所有能力集中在一个 Agent 中,还是拆分为多个 Agent?Skill、Tool、MCP、A2A 的边界到底在哪里?

本文是对这一问题的一次结构化总结。


1. Skill 的本质:上下文规则,而不是可执行能力

在很多早期设计中,Skill 常被误解为“可以调用的能力单元”。

但更准确的定义是:

Skill 本质上是上下文中的操作规程,而不是 runtime 可执行函数。

例如:

  • 多语言处理规范
  • 代码风格约束
  • 调试流程方法
  • 领域经验总结

它们更接近:

  • SOP(标准流程)
  • 指南手册
  • 方法论

而不是:

  • API function
  • Tool call

因此可以抽象为:

概念 本质
Tool 可执行动作
Skill 行为规范 / 方法论
文档索引(如 AGENTS.md) 手动 Skill 组织方式

所谓“渐进式披露”,本质只是 Skill 的按需加载机制,并不等价于执行系统。


2. 企业级误区:单 Agent 承载所有能力

一个常见直觉是:

既然 Agent 能理解上下文,那是否可以把所有业务能力(HR、CRM、财务等)统一放进一个 Agent?

但在企业环境中,这种设计会带来结构性问题:

1. 上下文污染

不同业务域语义混杂,导致推理边界不清晰。

2. 权限边界模糊

敏感数据(人事、财务、合同)难以隔离。

3. 可观测性下降

无法追踪“哪个规则影响了最终决策”。

4. Tool routing 不稳定

当 Skill / Tool 数量增长时,选择错误概率显著上升。


3. 更合理的结构:分层 Agent 系统

企业级 Agent 系统更合理的结构是:

  • 用户入口 Agent(统一交互层)
  • 多个业务域 Agent(领域自治)
  • Tool 执行层(MCP / API)

可以抽象为:

用户 → 入口 Agent → 业务域 Agent → Tool 层

关键点:

  • 用户只与一个入口 Agent 交互
  • 业务逻辑分布在多个 Domain Agent
  • Tool 仅负责执行,不负责决策

4. A2A 的本质:Agent 之间的任务协作协议

A2A 的核心不是 tool invocation,而是:

不同业务 Agent 之间的任务委派与协作机制

典型能力包括:

  • Task(任务生命周期)
  • Message(交互)
  • Artifact(结构化结果)
  • Context(上下文关联)

它适用于:

  • 跨域问题拆解
  • 多系统协作
  • 长任务处理

但它不负责执行底层操作。


5. 现实约束:通用 Agent 只能通过 MCP 接入外部能力

在实际工程中,一个关键事实是:

通用 Agent 客户端通常只支持 MCP tools/resources,而不原生支持 A2A 网络。

因此:

  • A2A 是内部 Agent 网络协议
  • MCP 是对外能力暴露协议

这就引出了一个关键架构问题:

如何让 MCP 客户端访问 A2A Agent 网络?


6. 必需组件:MCP Gateway(A2A 的对外适配层)

在企业架构中,通常需要增加一个 Gateway 层:

该层负责:

  • Agent 注册与发现
  • 任务委派(A2A 调用)
  • 状态查询
  • 结果获取
  • 权限控制
  • 审计与追踪

其作用是:

将 A2A 网络“转换”为 MCP 可调用的工具集合

但需要注意:

  • MCP Gateway 不等同于 Agent
  • MCP Gateway 只是协议适配层
  • 真实业务逻辑仍在 A2A Agent 内部

7. 推荐企业架构分层

可以总结为四层结构:

1. 交互层

  • 用户输入
  • 上下文管理
  • 意图识别
  • 结果聚合

2. MCP Gateway 层

  • Agent registry
  • capability discovery
  • task delegation
  • artifact retrieval
  • policy / auth / audit

3. A2A Agent 层

  • HR / CRM / 财务等业务 Agent
  • 任务处理
  • 多轮协作
  • 结构化输出

4. Tool 层(MCP / API)

  • 数据库
  • ERP / CRM / HR 系统
  • 文件系统
  • 外部服务

8. 关键设计原则

1. Memory 应该集中在交互层

业务 Agent 不应维护“用户长期记忆”,否则会造成语义污染与权限扩散。


2. Agent 是业务自治单元,而不是函数

  • Tool = 执行动作
  • Agent = 业务决策单元

3. A2A 负责协作,MCP 负责执行

  • A2A:任务分解与协作
  • MCP:原子操作执行

4. Gateway 是企业 AI 的核心治理层

必须负责:

  • 权限控制
  • 审计
  • 路由
  • 任务生命周期管理
  • 数据隔离

9. 一个核心结论

企业级 Agent 系统的本质不是:

一个强大的通用 Agent

而是:

一个可治理的 Agent 网络系统

其中:

  • MCP 解决执行问题
  • A2A 解决协作问题
  • Gateway 解决接入问题
  • 交互层解决用户体验问题

企业级 AI 架构的正确方向是:

通过分层设计,将“理解用户”的能力集中在交互层,将“业务决策”分布在领域 Agent,将“执行能力”下沉到 Tool 层,并通过 A2A 实现 Agent 网络协作,通过 MCP 提供统一外部接入能力。