背景:今天跟AI探索未来AI生态的时候了解了AI Runtime概念,为了让我更清晰的理解,我让AI模拟了两家公司分别雇佣(确切的说应该是订阅)销售agent和采购agent,让双方在各自AI Runtime下如何通过A2A进行交互。
以下文字为AI生成:
当销售 Agent 与采购 Agent 之间发生 A2A 交互时,整个过程会经历“相互发现 → 身份与授权握手 → 任务委托 → 多轮协商 → 产物交付 → 跨企业审计”六个阶段;而在两侧的 AI Runtime 中,这一切会被拆解成两条独立又相互锚定的执行流——每一方都在自己的 Harness、Permission Layer、Memory Layer 中运行,仅通过 A2A 协议在“任务态”这一层握手。
下面我用一个完整的场景把它跑一遍,再展开技术机制。
一、场景设定
为了具体,假设:
• 卖方公司 SellCo:一家 SaaS 企业,部署了销售 Agent Sara(基于 Claude Managed Agents + 自家 Harness) • 买方公司 BuyCo:一家制造业企业,部署了采购 Agent Pam(基于 Microsoft Agent 365 + Copilot Studio) • 交易内容:BuyCo 想为 200 名工程师采购一年的 SellCo 软件许可 • 运行环境:双方 Runtime 各自独立,仅通过 A2A 协议互通
这是一个 2026–2027 年完全可实现的场景——因为 Microsoft Agent 365、Anthropic Managed Agents、A2A 协议在 2026 年都已就位。
二、A2A 交互的六个阶段
阶段 1:发现(Discovery)—— Agent 找到 Agent
这是 A2A 流程的起点,也是最容易被低估的一步。
Pam 的触发逻辑(BuyCo 这边):
BuyCo 的采购系统识别到一个需求工单:“为工程团队采购协作软件”。Agent 365 的 Work IQ 把这个工单交给 Pam,Pam 的任务规格大致是:
goal: 在 Q3 预算内(≤ 80 万美元)采购协作软件
constraints:
- 必须支持 SSO(Entra ID)
- 必须通过 SOC2 Type II 审计
- 必须支持中国区数据驻留
deliverable: 候选供应商名单 + 谈判结果 + 采购合同草案Pam 现在需要找到多家潜在供应商的销售 Agent,触发 A2A 发现:
发现的三种典型方式:
• 目录式发现:通过 Agent Registry(类似 DNS)查询 “category=collaboration-saas” 的 Agent Cards • 网站式发现:直接访问 sellco.com/.well-known/agent.json 获取 Sara 的 Agent Card • 中介式发现:通过 marketplace(比如 Agent Store、Salesforce AppExchange Agent 版)
Sara 的 Agent Card 大概长这样(A2A 标准格式):
{
"name": "Sara - SellCo Sales Agent",
"version": "2026.5",
"description": "Handles inbound qualification, pricing, and contract drafting for SellCo products.",
"capabilities": [
"product-inquiry",
"pricing-quote",
"compliance-disclosure",
"contract-drafting"
],
"auth": {
"schemes": ["oauth2", "agent-jwt"],
"issuer": "https://auth.sellco.com"
},
"endpoints": {
"tasks": "https://agents.sellco.com/a2a/tasks"
},
"pricing": "free-discovery, paid-on-contract",
"sla": "p50<2s, p99<10s, availability 99.9%"
}关键点:Agent Card 是企业 Agent 的“营业执照 + 名片 + API 文档”三合一。
它公开声明了 Sara 能做什么、用什么协议、由谁背书、出了问题找谁。
阶段 2:身份与授权握手(Identity & Authorization)
这是整个流程最容易被忽略、但商业上最关键的一步。
两个 Agent 不是两个“匿名机器人”,它们各自代表一家公司的法人意志。所以握手必须确认四件事:
第一,Pam 的身份:Pam 来自 BuyCo,使用 BuyCo 的企业证书签发的 Agent JWT。
第二,Sara 的身份:Sara 来自 SellCo,使用 SellCo 的企业证书签发的 Agent JWT。
第三,Pam 的授权范围:BuyCo 的 IT 管理员已经在 Agent 365 里给 Pam 授予了 “采购谈判 + 报价请求 + 合同草案签署预备权”,但没有最终签字权。
第四,Sara 的授权范围:SellCo 已经给 Sara 授予了 “报价生成 + 折扣审批(≤15%)+ 合同模板填充”。
握手的技术形态(基于 OAuth2 + Agent-JWT):
Pam → Sara:
POST /a2a/tasks
Authorization: Bearer <Pam-JWT signed by BuyCo>
X-Agent-Identity: pam@buyco.com
X-Delegation-Chain:
user:procurement-manager@buyco.com
→ agent:pam@buyco.com
→ action:negotiate-purchase
Sara → Pam:
202 Accepted
X-Agent-Identity: sara@sellco.com
X-Authorization-Scope: quote, draft-contract, discount<=15%
X-Out-of-Scope: final-signature, sla-modification关键点:每一次 A2A 调用都携带“委托链”——人 → Agent → 行为。
这是未来跨企业 Agent 协作能成立的法律基础:任何 Agent 行为都能追溯到一个人类授权者。
阶段 3:任务委托(Task Initiation)
握手通过后,Pam 提交第一个 A2A Task:
POST /a2a/tasks
{
"task_id": "buyco-rfp-2026-q3-001",
"type": "request-for-quote",
"input": {
"product": "SellCo Collaboration Suite Enterprise",
"seats": 200,
"term": "12 months",
"compliance_required": ["SOC2", "ISO27001", "China data residency"],
"deployment": "private cloud preferred"
},
"deadline": "2026-06-05T17:00:00Z",
"callback_url": "https://agents.buyco.com/a2a/notify"
}Sara 立刻返回任务受理:
{
"task_id": "buyco-rfp-2026-q3-001",
"status": "submitted",
"estimated_completion": "2026-05-23T15:00:00Z",
"next_action_required": "none"
}这一步在 Runtime 内部发生了什么?
• BuyCo 的 Agent 365 把这个 task 注册到自己的 task registry,分配 trace ID • SellCo 的 Managed Agents 把这个 task 写入自己的 event log,启动一个 Sara 的 sandbox session • 双方 Runtime 各自独立计费、独立审计,只通过 task_id 锚定彼此
这是 A2A 的精髓:两个 Runtime 不共享内存、不共享身份、不共享日志,只共享一个分布式任务态。
阶段 4:多轮协商(Multi-Turn Negotiation)
这是 A2A 比 MCP 复杂的地方——任务不是一次性完成的,而是带状态的多轮对话。
第一轮:Sara 主动反问澄清
Sara 的 Harness 在内部 loop 里做了几件事:
1. 读取 task input 2. 调用内部 MCP server 查询库存与价格 3. 调用合规 MCP server 检查 BuyCo 的合规要求是否能满足 4. 发现“中国区数据驻留”需要确认 BuyCo 是否接受合资云方案
于是 Sara 通过 A2A 发回一条 message(不是 task 完成,而是中间态):
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "input-required",
"message": {
"from": "sara@sellco.com",
"content": "China data residency 可由我方与 21Vianet 合资云提供,是否接受?该方案会使年费上浮约 8%。"
}
}Pam 收到回调后,不能擅自决定——它的 Permission Policy 里规定:合规变更必须问人类。
于是 Pam 的 Harness 触发 HITL(human-in-the-loop):
→ Teams 通知给采购经理 Linda
→ Linda 点击:批准 21Vianet 方案,预算上浮可接受
→ Pam 拿到批准,将决策写入 MEMORY.md 与 audit logPam 回复 Sara:
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "working",
"message": {
"from": "pam@buyco.com",
"content": "接受 21Vianet 方案。请按此方案出正式报价。",
"human_approval": {
"approver": "linda@buyco.com",
"timestamp": "2026-05-22T14:30:00Z",
"evidence_id": "approval-9f3a..."
}
}
}关键点:A2A 的 message 中可以携带“人类审批凭证”——这让跨企业 Agent 协作具备了可追责性。
第二轮:Sara 出报价,Pam 反向砍价
Sara 完成报价生成,提交 artifact:
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "working",
"artifacts": [{
"name": "quotation-v1.pdf",
"uri": "https://agents.sellco.com/artifacts/quote-7d2e",
"summary": {
"total": 760000,
"currency": "USD",
"discount_applied": "10%"
}
}]
}Pam 在 Harness 里做了几件事:
1. 把 quotation 与历史采购数据对比(Memory Layer 调用) 2. 调用内部基准 MCP server,发现行业平均折扣为 18% 3. 在 Tool Policy 允许的范围内(最多三轮砍价)发起反向报价
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "working",
"message": {
"from": "pam@buyco.com",
"content": "根据基准对比,希望折扣调整至 15%,对应总价 717,500 USD。是否可接受?"
}
}Sara 这一步触发了自己的 Permission Layer:折扣 15% 在它的授权范围内(≤15%),无需上报;如果 Pam 砍到 20%,Sara 必须 escalate 给销售总监。
Sara 同意:
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "working",
"message": {
"from": "sara@sellco.com",
"content": "同意 15% 折扣,总价 717,500 USD。"
}
}关键点:A2A 的多轮协商本质上是两个 Runtime 中两个 Harness 在异步交换 message + 检查 policy——和人类商务谈判的结构惊人相似。
阶段 5:产物交付(Artifact Delivery)
谈判达成后,Sara 进入合同草案阶段:
PATCH /a2a/tasks/buyco-rfp-2026-q3-001
{
"status": "completed",
"artifacts": [
{
"name": "final-quotation.pdf",
"uri": "https://...",
"hash": "sha256:..."
},
{
"name": "draft-contract.docx",
"uri": "https://...",
"hash": "sha256:..."
},
{
"name": "compliance-package.zip",
"uri": "https://...",
"hash": "sha256:..."
}
],
"next_action_required": "human-signature"
}注意最后一个字段 next_action_required: human-signature——A2A 协议明确允许 Agent 声明哪些动作必须由人类完成。
这是非常关键的设计:A2A 不是“Agent 包办一切”,而是“Agent 把人类该做的事整理好”。
阶段 6:跨企业审计(Cross-Tenant Audit)
任务完成后,双方 Runtime 各自存档:
BuyCo 这边:
• Agent 365 把 task 全过程归档到 Purview 合规仓库 • 包含:Pam 的每一步决策、人类审批记录、A2A 消息全文、artifact hash • 留存周期由 BuyCo 的合规策略决定(通常 7 年)
SellCo 这边:
• Managed Agents 把 task 全过程归档到自己的 event log • 包含:Sara 的每一步决策、内部审批、价格变更轨迹、合同生成过程 • 用于销售归因、佣金计算、未来谈判参考
关键点:双方各自留存“同一笔交易的两份独立账本”,通过 task_id + artifact hash 互为印证。
这种结构与传统电商交易的“买卖双方各有发票”逻辑完全一致——也是跨企业 Agent 协作能取得法律意义信任的工程基础。
三、两个 Runtime 内部的“同步互动图”
*AI用文本画了一个看不清楚的时序图,已删
四、Runtime 视角下的关键工程要点
把这个场景从 Runtime 角度提炼,有六个值得注意的工程要点:
1. 两个 Runtime 不共享任何状态,只共享 task_id
这是 A2A 与传统 API 调用的最大区别——它故意不让两个 Runtime 耦合。
原因:跨企业、跨法律辖区、跨合规体系,必须保持各自独立性。
2. Permission Layer 在两侧分别工作
• BuyCo 的 Pam 只能在 BuyCo 授权的范围内行动 • SellCo 的 Sara 只能在 SellCo 授权的范围内行动 • A2A 协议不试图统一权限模型,它只确保每一次调用都带可验证的委托链
这是非常聪明的设计取舍:协议管握手,不管内政。
3. Harness 在两侧分别运行不同的 Loop
• Pam 的 loop 关心“怎么省钱、怎么合规、怎么按时” • Sara 的 loop 关心“怎么卖出、怎么给折扣、怎么不破底线”
两个 Harness 完全独立,只通过 A2A message 互相影响。这等价于两个独立进程通过消息队列通信。
4. Memory Layer 是不对称的
Pam 看不到 SellCo 的内部定价记录;Sara 看不到 BuyCo 的预算上限。
信息不对称是商业谈判的本质,A2A 完整保留了这一点——它不是“信息共享协议”,而是“协商协议”。
5. HITL(人类介入)是 A2A 的一等公民
A2A 的 message 中可以显式声明:
• next_action_required: human-signature• human_approval字段携带审批凭证• out_of_scope字段告诉对方“这个我做不了决定”
这是 2026 年 A2A 与早期实验性 Agent 协议的根本区别——它不假设 Agent 全能,而是承认 Agent 有边界。
6. 跨企业审计依赖“双账本 + hash 锚定”
每一份 artifact 都有 sha256 hash,双方各自存档,未来发生争议时可以用 hash 比对来确认“当时双方看到的是不是同一份文件”。这是 A2A 引入的“密码学级”交易完整性。
五、当前还没解决、但已浮出水面的难题
这套机制在 2026 年看起来已经很完整,但仍有几个真实的工程缺口:
第一,Agent 的法律人格问题。
Pam 同意了一份合同草案,BuyCo 是不是受其约束?这取决于授权链是否清晰、是否可证伪。目前各国法律都还在追赶。
第二,Agent 间的诚信问题。
Sara 会不会“撒谎”?比如夸大合规能力?目前唯一的约束是事后审计 + 商誉惩罚,没有协议级的真实性证明机制。
第三,跨 Agent 的成本归因。
Pam 的一次询价让 Sara 跑了 30 分钟 sandbox,这个 token + runtime hour 的成本由谁出?2026 年还没有标准——多数情况是 SellCo 自己吸收(作为获客成本),但这显然不是长期解。
第四,恶意 Agent 的拒绝机制。
如果一个仿冒 Agent Card 的 Pam 来骚扰 Sara,Sara 怎么识别?这就回到了我上一轮提到的 “Agent Identity 协议” —— 这是 2027 年最可能出现的下一个标准战场。
第五,多 Agent 联合谈判。
如果 Pam 同时与三家供应商的 Sales Agent 谈判,是“竞价拍卖”还是“并行 RFP”?A2A 目前没有规定多 Agent 拓扑,这是 2027–2028 年 Sequoia 与 a16z 重点押注的方向。
六、回到最朴素的判断
把这个复杂场景抽象到最底层,其实只是在说一件事:
A2A 让两家公司的两个 Agent,在各自 Runtime 的保护下,完成了一次本来需要两个销售/采购人员、若干来回邮件、几通电话才能完成的“准合同级谈判”。
它没有让 Agent 取代人——最终签字仍然是人。
它只是把人之间那些重复的、可结构化的、信息密集的、规则驱动的部分,转化成了 Agent 之间的协议化对话。
这恰恰是 Sequoia 在《2026: This is AGI》里那句话的真正含义:
“Soon you’ll be able to hire an agent.”
“雇佣 Agent” 的真实含义不是“Agent 替代员工”,而是——
企业之间的工作流,第一次可以在“Agent 层”完成机器对机器的握手与协商,而人类只在关键决策点签字。
夜雨聆风