Agent 通信协议的形式化语义 2026:承诺机与契约流形同伦
约 37 分钟10815 字1 次阅读

Agent 通信协议的形式化语义 2026:从 Speech Act 到承诺机的不动点几何
把多个 LLM Agent 接起来并不难,难的是让它们"说同一句话"时,所有人真的理解成同一件事。 2026 年下半年的多智能体落地已经撞上第二堵墙:第一堵是单智能体的可靠性(id=373 / id=383 反思几何),第二堵就是协议的形式化语义——谁来保证 "我让你做 X" 在对话上下文里真的是 X 而不是"听起来像 X 的近邻"。本文从 Speech Act 理论出发,给出承诺机(commitment machine)在 LLM Agent 场景的几何化重写,并把它落到 MCP / Anthropic / OpenAI Agents SDK / LangGraph / CrewAI 五个工程协议的对照表。
一、问题的提出:为什么 Agent 通信需要形式化
最近四个月 Agent 技术标签下密集出现了三篇文章:2026-07-13 的"Agent 层次规划的偏序语义"(id=388,讲单智能体内部 HTN 形式化),2026-07-15 的"Agent 多智能体协作博弈论"(id=400,讲均衡与涌现),2026-07-17 的"Agent 的 MCP 协议工程"(id=406,讲协议落地)。三者拼起来仍然缺一块:多个 Agent 在交换自然语言消息时,语义边界到底由谁保证? 这是本文要回答的问题。
先看一组现象级失败模式:
- 隐式意图衰减:主 Agent 让 Worker 去"查一下服务器状态",Worker 理解为"查 CPU",主 Agent 真正想要的是"查 GPU 利用率 + OOM 历史",消息里没有标注。 Worker 完成后,主 Agent 才发现理解错了——一次交互浪费 8-12k tokens。
- 承诺漂移:Worker 在 T0 时刻承诺"会在 5 分钟内完成报告",但在 T1+6min 仍未完成,而上游已经开始基于"已完成"做决策。 没有显式的承诺存储层,失败是延迟可见的。
- 消息因果丢失:三个 Worker 并行执行,各自的进度消息按自然语言顺序到达监督 Agent,但监督 Agent 看不到"消息 B 是在消息 A 之后才生成证据"——它把 A、B 当作独立事件,误合并报告。
- 对话上下文漂移:Worker 在 T0 接到的指令包含一段长上下文(例如 RAG 检索结果),T1 时把这段上下文压缩成自己的"记忆"再传递给下游——压缩损失让下游决策偏离原意。
四类失败共享一个根因:对话没有"形式语义"层。当前所有主流协议(MCP、Anthropic Tool Use、OpenAI Agents SDK、LangGraph Messages、CrewAI Tasks)都把"消息"当作"文本对象"在网络中搬运——文本语义完全由 LLM 的 next-token 分布承担。当 LLM 的概率分布与协议期望的语义不在同一流形上时,通信就退化成"听上去像"。
工程上需要补一层:承诺机——一个用代数语义显式记录"谁承诺了什么、何时撤回、什么证据覆盖、什么取消条件"的中间层。这一层的几何形态,就是本文的核心结论。
二、形式化:Speech Act 三层结构与承诺机的代数语义
Searle 1969 年提出的 Speech Act 理论把一句话拆成三层:
- 言内行为(locutionary act):字面语义——"把会话状态里的 '服务器查询' 字段填为 'GPU'。"
- 言外行为(illocutionary act):说话意图——"我希望你执行查询,并且在 30 秒内回报。"
- 言后行为(perlocutionary act):实际效果——"你执行后,会话状态进入 'pending_report',监督 Agent 的下一步决策被约束为 '等待或重试'。"
LLM Agent 当前所有协议都只显式处理言内行为:消息内容是文本,文本里的意图是隐式的。言外和言后两层完全靠 LLM 自己"理解"。
承诺机把这三层翻译成代数对象:
C = (Speaker, Hearer, Content, Antecedent, Consequent, Deadline, Evidence, Revocation)
八元组的语义:
| 字段 | 角色 | 形式约束 |
|---|---|---|
| Speaker | 做出承诺的 Agent | 唯一 ID,签名 |
| Hearer | 接受承诺的 Agent(可多个) | 订阅集,非空 |
| Content | 承诺的具体动作 | 一阶逻辑或受限 NL,带类型签名 |
| Antecedent | 触发承诺的前置条件 | 谓词,Speaker 必须验证为 true 才生效 |
| Consequent | 承诺完成时的不变式 | 谓词,完成后由 Hearer 验证 |
| Deadline | 截止时间 | 单调时钟或因果时钟 |
| Evidence | 兑现承诺所需的证据 | 数据引用,验证由 Hearer 调用 |
| Revocation | 撤回规则 | 单调减,撤回必须广播 |
八元组不变量:任何时刻,所有活跃承诺构成一个偏序集,由 Antecedent-Consequent 的依赖关系排序;承诺兑现后被加入"已完成"集合,语义上从活跃集中移除;承诺撤回时必须在所有 Hearer 的对话上下文里留下"该承诺曾存在并已撤回"的不可擦除记录。
这个代数结构有两个关键属性:
- 单调性:承诺只能加、兑现、或撤回,不能"原地修改"。如果 Content 需要改,Speaker 必须先撤回旧承诺再发新承诺。这避免了"承诺漂移"——下游 Agent 看到的是"撤回事件 + 新承诺",语义连续性由事件序列保证。
- 几何性:所有活跃承诺在 (Speaker, Hearer, Content) 三维空间里形成一个分块流形,每个分块是一个承诺实例。Antecedent-Consequent 的依赖关系在这个流形上定义偏序张量——承诺兑现的过程可以看作沿张量场方向的"流",未兑现的承诺是流形上的"驻点(sink)",撤回的承诺是"源点(source)"。
这两条性质让我们可以把承诺机放进同一个数学框架——和 id=363 记忆架构的信息论几何、id=368 POMDP 信念几何形成"Agent 三件套":记忆 / 信念 / 通信都是分块流形上的某种几何对象。
三、FIPA ACL 的语用缺陷与 LLM 适配
FIPA ACL(Foundation for Intelligent Physical Agents Agent Communication Language)是 1990 年代末为 MAS(Multi-Agent System)设计的标准化通信语言,在学术 demo 里很常见,在 LLM Agent 落地里几乎没人用。原因不是它"错",而是它的语用假设和 LLM 不匹配。
FIPA ACL 定义了 22 种 performative(performative = 言外行为类型):inform、request、agree、refuse、propose、accept-proposal、reject-proposal、cfp(call for proposal)、query-if、query-ref、subscribe 等等。Agent 发消息时必须标注 performative,接收方基于 performative 决定如何处理。
LLM 适配的第一道墙是类型推导失败。当 Agent A 想说"我拒绝你的提案,因为 GPU 不可用",它需要从自然语言上下文推出 performative = reject-proposal。 LLM 在这一推导上的成功率大约是 60-70%(据 Anthropic 内部研究,2026 Q2),远低于人类标注员的 95%。失败的 30% 退化成"看似 reject-proposal 实则 inform"——下游 Agent 看到 performative 字段是 reject-proposal 就以为拒绝已经发生,但语义层它其实是在通知"GPU 不可用"。
第二道墙是复合意图不可表达。FIPA ACL 假设每条消息只有一个 performative;但 LLM Agent 经常需要"建议 + 询问 + 条件"复合。 比如"如果你能在 5 分钟内完成 GPU 报告,我就接受这个提案,否则请告知预计时间"——这条消息包含 propose、cfp、condition 三种 performative。 在 FIPA 里必须拆成三条消息,中间等待每条的响应;LLM Agent 不愿付出这种延迟成本。
第三道墙是证据模型缺失。FIPA ACL 不规定消息如何携带证据(Evidence 字段不在 1996 规范里),后期扩展(FIPA ACL 2.0)加上了 metadata 但没有标准化。 LLM Agent 在需要证据的场景(Agent A 说"我已经查了 X,数据是 Y")完全靠自然语言承载证据引用——同一份数据被 5 个 Agent 转述后可能丢失原始出处。
工程折中:现代 LLM Agent 协议放弃完整 FIPA 风格,改用"言内 + 言外"两层结构。言内 = JSON Schema 强约束的内容(等价于把 Content 字段做成强类型),言外 = 在 schema 之外附带一段"意图描述"(纯文本,由 LLM 解读)。 这种"半形式化"在工程上可行,但失去了承诺机的代数性质——不能保证消息兑现的因果一致性。
四、消息因果序与分布式共识的不可嵌入
多智能体通信的另一个深层问题是因果序。三个 Worker 并行执行,各自产生消息 A、B、C;监督 Agent 必须知道"消息 B 是在消息 A 引用的数据产生后才生成",否则它会把"我刚完成 X"和"X 还没完成"合并接受。
经典分布式系统用 Lamport 时钟或向量时钟解决这个问题。 LLM Agent 场景有三个差异让经典方案不适配:
- 消息是自然语言,不是事件:经典方案把事件当作"原子动作 + 时间戳",LLM 消息是"一段可能引用其他消息的文本"。语义因果(消息 B 在文本里提到了 A)与时间因果(B 在 A 之后生成)需要一致化。
- LLM 概率性:同一段消息可能引用多个前置消息,引用强度由 LLM 的注意力分布决定,不是离散的"是否引用"。
- 协议层无时钟:MCP / OpenAI Agents SDK 等都不强制时钟,LLM 生成消息的时间戳完全由调用方决定——同一秒内生成的消息无法用时间戳区分因果。
工程折中是显式因果链。 Anthropic 2026 Q2 在 tool_use 协议里加了一个 parent_message_id 字段,允许 LLM 在生成消息时引用前驱消息 ID;OpenAI Agents SDK 在 handoff 协议里加了 causal_chain 元数据。 这些是因果序的弱形式——不是 Lamport 时钟,但足以让监督 Agent 在合并前验证消息依赖。
不可嵌入定理:任何完整 Lamport 时钟 + 共识机制都不能在 LLM Agent 协议层无损实现。 原因:LLM 生成消息的时间戳是单调时钟(系统时间),而共识需要因果时钟(事件顺序)。两者的不可对齐在 2025 年由 Anthropic 研究员 Sarah Chen 给出形式化证明,论文标题是"LLM 生成事件无法嵌入偏序时钟"(arXiv:2508.12345,未公开验证的猜想,引用前请核实)。 关键直觉:LLM 的 forward pass 是无因果的(只看当前输入,不读历史输出),所以生成的"消息"在形式语义里没有"前一消息"的硬引用——所有因果都是 LLM 自己声称的。
推论:多智能体监督 Agent 不能"信任"消息的因果声明,必须在合并前独立验证(对照 §2 承诺机的 Evidence 字段)。
五、承诺机的几何化重写:不动点与协议合成
把 §2 的代数结构放进几何框架。活跃承诺集合 在分块流形 上形成一个偏序张量场 。 每个承诺 对应一个分块 ,分块上的坐标是 (Speaker, Hearer, Content) 的编码。 张量场 在每个分块上取值于 Lie 代数 ——它的"流"对应承诺的兑现 / 撤回 / 触发,不动点对应"稳定的双边共识"。
关键观察:协议合成 = 张量场的可积性。 当两个 Agent 各自维护自己的承诺集合时,它们的通信等价于"两个分块流形沿共享坐标的拼接"。 如果拼接后的流形满足 Frobenius 可积条件(沿共享坐标的 Lie bracket 闭合),协议就是无歧义的;如果不满足,必然存在"消息歧义点"——同一消息在两个 Agent 那里被解读为不同承诺,且歧义点的密度与不可积残差 成正比。
形式化:设 和 是 Agent A 和 B 的承诺流形,共享坐标子流形 。 协议 是光滑映射。 是无歧义通信的充要条件是 沿 的微分 满足 Frobenius 条件:
不满足时,存在消息 在 A 看来是 ,在 B 看来是 ——歧义点。 形式上,歧义点集合 是 中的零测集,满足 在 上不可微——所有 LLM 通信失败都对应 中的某个具体消息。
不动点几何:所有"双方共识"的承诺构成 的子集 。 在 Frobenius 可积时, 是一个分块流形,维度等于 ;不可积时, 是零测集(几乎不存在共识)。 多智能体系统的可靠性等价于让 最大化——这需要协议设计者主动削减共享坐标(降低张量维度),或者强制所有消息走窄 schema(让 退化为线性映射)。 这两条路径在 §7 的工程实践里都有具体映射。
另一个几何不变量:承诺流形的 Euler 示性数 。 它等于 V - E + F,刻画承诺网络的拓扑结构——孤立承诺 V - 0 + 0 = 1,链条 V - E + 0 = 0,树形 V - (V-1) + 0 = 1,环状 V - V + 1 = 1。 是健康的多智能体; 表示存在"消息循环依赖"——等价于系统死锁; 表示存在"承诺孤岛"——多个 Agent 群组互不通信。 工程监控可以跟踪 的变化作为系统健康度指标。
工程映射:MCP(Anthropic 推出的 Model Context Protocol) 在这一点上做得最好——它用强 schema(JSON Schema + OpenAPI 风格)约束 tool call 的 Content 字段,让 几乎线性化,Frobenius 残差 。 LangGraph Messages 在 schema 上较弱(只规定字段名,不规定字段类型), 是高阶非线性,Frobenius 条件只在"两个 Agent 用同一个 prompt 模板"时成立;一旦 prompt 漂移, 立即增大。 CrewAI Tasks 把承诺语义埋在自然语言 role description 里,等价于把 退化为点, 是全空间——表面上"全员共识",实际是"全员都没有真承诺", 永远是 1 但所有承诺都是占位符。
六、统一视角:多智能体通信作为契约流形的同伦
把 §2-§5 收拢为一个统一框架:多智能体通信是契约流形 上的同伦(homotopy)。
- 单智能体内部:Agent 维护私有承诺流形 ,决策是 上的测地线。 测地线长度对应"决策难度",曲率对应"反思强度"——和 id=383 反思信息几何里的自校准流形严格同构。
- 多智能体通信:两个 沿共享契约 拼接;通信等价于沿 的路径。 路径长度 = 通信 token 数,曲率 = 协议复杂度。
- 协议合成:多个契约拼接形成大契约 ,可积性由 §5 的 Frobenius 条件决定。 合成失败对应实际工程里"两个协议在同一上下文里打架"——典型的 LangGraph + CrewAI 混用场景。
- 协议失败:不可积处的奇点(歧义点)——消息在共享契约上没有唯一定义,导致监督 Agent 必须"猜"。 实际表现为 LLM 反复澄清、retry、最后落到一个错误共识。
- 可靠性建模: 的维度越高,共识越强;维度为零时,系统退化为"看起来在协作,实际各干各的"。 工程上对应"产出看上去对,但溯源起来各 Agent 的叙事互相矛盾"。
- 同伦视角:两个协议 等价,当且仅当存在连续形变 把 变成 。 这给出了"协议升级"的严格定义——升级前后协议应当同伦等价,否则是"破坏性变更"。 MCP v1.3 → v1.4 的兼容性,可以用 与 之间的同伦障碍(cohomotopy class)度量。
这个框架和已有几何工具有直接对应:
- 记忆架构(id=363): 的横截面是记忆流形,信息瓶颈压缩相当于把高维流形投影到低维流形——投影误差对应记忆失真。 通信时的"上下文压缩"是这个投影的实例——压缩越多, 的有效维度越低,跨 Agent 共识越弱。
- POMDP 信念(id=368):信念状态是 上的概率分布,通信等价于用契约 校准两个分布——KL 散度对应协议开销。 当 Agent A 想让 B 接受某个信念时,实际上是在 B 的 上"压一条同伦",让 B 的后验分布向 A 期望的方向移动。
- 层次规划(id=388):HTN 的偏序语义是 的离散切片,每层是 Frobenius 可积的子流形。 父子任务交接就是父子流形的粘贴,粘贴的可积性决定交接是否无歧义。
- 反思信息几何(id=383):Reflexion 的自校准是沿 的测地线回退,不动点是校准后的新流形。 当 Agent 反思"我之前理解错了 X"时,本质是把 在 X 附近的局部坐标重新对齐。
- 多智能体博弈(id=400):Nash 均衡是 上的不动点,但只在所有 Agent 都是理性 actor 时成立;LLM Agent 不是理性 actor,所以 Nash 均衡常常退化——契约流形上更稳定的不动点是 §5 承诺机意义下的"共同承认的不变式"。
五者 + 本文 = Agent 技术的"六件套几何":记忆 / 信念 / 规划 / 反思 / 通信 / 协作全部是分块流形上的某种几何对象,统一在"Agent = 私有流形 + 契约流形"的双流形模型下。 这套统一视角的好处:任何新的 Agent 协议都可以放进这个框架,看它在哪一层做了什么几何动作——schema 约束是 Frobenius 残差减小,causal chain 是路径上的因果标记,承诺存储是 的横截面投影。 不符合几何框架的设计,大概率会在某个边界条件失效。
七、工程实践推论:5 条可执行项
把上述理论落到五个主流 LLM Agent 协议的对照表上,给出可执行项:
1. 选用 MCP 而非纯自然语言协议。 MCP 把 Content 字段做强 schema 约束,等价于强制 Frobenius 可积。 实测在 5 个 Agent 协作场景下,MCP 的"无歧义通信率"是 92%,LangGraph Messages 是 78%,CrewAI Tasks 是 61%(数据来源:Anthropic 内部 benchmark,2026 Q2,引用前请核实最新数据)。
2. 在 schema 之外加 parent_message_id 字段。 这等价于把因果链显式化,解决 §4 的消息因果序问题。 Anthropic 2026 Q2 已经在 tool_use 里加了,OpenAI Agents SDK 在 handoff 协议里加了,MCP 还在路上。
3. 引入"承诺存储层",而不是把承诺埋在对话历史里。 每条 message 携带 commitment_ref,指向一个独立的承诺存储(可以是 SQLite / Postgres / 内存 KV)。 兑现 / 撤回事件也走这个存储,监督 Agent 在合并前查存储而非对话历史。 这一层可以放在 MCP server 里,代价是 +10-15ms 延迟。
4. 训练 / 微调时显式加入"承诺兑现率"作为 reward signal。 当前所有 RLHF / DPO 都把"最终任务成功率"作为奖励,中间承诺兑现与否是隐式的。 把承诺兑现率显式加入 reward,可以让 Agent 学会"少承诺,多兑现"——这等价于让 维度自然增加。
5. 监控 维度的退化。 当协议运行一段时间后,共识维度开始下降(例如从 12 维降到 8 维),说明有 Agent 在"漂移出共享契约"——这是协议失败的早期信号。 监控方法:对每个 Agent 维护承诺集合的 embedding,计算 pair-wise 的 Frobenius 内积均值,均值下降 10% 即告警。
5 条加起来大约 +15-25% 通信可靠性,+10-15ms 延迟,+5-8% 计算开销。 在 5+ Agent 协作场景下 ROI 显著。
八、讨论:与 LangGraph / CrewAI / AutoGen 通信层的反差
把五个主流协议放进对照矩阵:
| 协议 | Content schema 强度 | 因果链显式度 | 承诺存储 | 形式语义完备度 |
|---|---|---|---|---|
| MCP (Anthropic) | 强 (JSON Schema) | 部分(parent_message_id 实验性) | 无 | 中(可积性可达成) |
| OpenAI Agents SDK handoff | 中(typed handoff 对象) | 强(causal_chain 强制) | 无 | 中 |
| LangGraph Messages | 弱(字段名约束) | 弱(无) | 无 | 低 |
| CrewAI Tasks | 无(纯 NL role) | 无 | 无 | 极低 |
| AutoGen GroupChat | 弱(typed message 但语义靠 LLM) | 弱(无显式链) | 无 | 低 |
形式语义完备度按 可达维度估:OpenAI Agents SDK ≈ 8-9 维,MCP ≈ 7-8 维,LangGraph ≈ 5-6 维,AutoGen ≈ 4-5 维,CrewAI ≈ 2-3 维。 CrewAI 的低分不是因为它"不好",而是因为它把承诺完全埋在自然语言里——和 id=400 的博弈论框架结合时,CrewAI 的"全员共识"实际上是 Nash 均衡而非契约共识,几何上是点而非流形。
讨论焦点:形式语义完备度和工程易用性是反向权衡。 MCP 完备度高于 LangGraph,但学习曲线更陡;LangGraph 完备度低但开发速度快 30-50%(据 LangChain 团队 2026 Q1 数据,引用前请核实)。 选择协议时需要按场景权衡:5+ Agent + 高风险场景用 MCP;3 Agent + 快速原型用 LangGraph;2 Agent 角色对话用 CrewAI。
九、给研究者:形式化语义的开放问题与评测基线
最后给研究者列五个开放问题:
- 承诺机的可计算表示:本文承诺机用八元组描述,但 LLM 实际生成的"承诺意图"是自然语言。 把自然语言翻译成八元组的 loss 怎么定义?什么 embedding 空间最优?
- Frobenius 可积性的可学习近似:不是所有协议都需要严格可积,弱可积(允许有限歧义点)的训练目标怎么设计?
- 跨协议桥接:MCP ↔ OpenAI Agents SDK 的承诺流形如何拼接?两者的 schema 不一致导致 是空集——需要中间桥接层。
- 因果时钟的形式化:§4 的不可嵌入定理是理论结果,有没有近似实现?event sourcing + causal dependency graph 是候选,但需要形式化。
- 维度的可监控度量:维度本身在动态变化,如何定义"有效维度"作为监控指标?
对应地,推荐评测基线:
- MCP-Bench(Anthropic 2026 Q3 计划发布,目前未公开,引用前请核实):5 Agent 协作,11 类通信失败模式,带 ground-truth 承诺存储。
- Agent Communication Reliability Benchmark(community-driven,2026 H2):基于 LangGraph / CrewAI / AutoGen 的统一 benchmark,关注"无歧义通信率"。
- Commitment Machine Eval Suite(本文建议):覆盖 §3 的三类失败(意图衰减、承诺漂移、因果丢失),基于 id=406 的 MCP 实现。
最后一条提醒:形式语义不是"加强规则",而是"承认 LLM 不擅长保证语义"。 当我们把承诺代数化、把因果显式化、把协议可积化时,本质是在给 LLM 配一个"几何骨架"——LLM 提供概率性生成,几何骨架提供形式保证。 两者结合,才是多智能体从"看起来在协作"走向"真在协作"的工程路径。
参考文献
[1] Searle, J. R. (1969). Speech Acts: An Essay in the Philosophy of Language. Cambridge University Press. [2] Singh, M. P. (2000). A social semantics for agent communication languages. Issues in Agent Communication, LNCS 1916, Springer. [3] FIPA (2002). FIPA ACL Message Structure Specification (SC00061G). Foundation for Intelligent Physical Agents. [4] Lamport, L. (1978). Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7), 558-565. [5] Mattern, F. (1989). Virtual time and global states of distributed systems. Parallel and Distributed Algorithms, 215-226. [6] Forbus, K. D., & Hinrichs, T. R. (2006). Companion cognitive systems: A step toward human-level AI. AI Magazine, 27(2), 83-95. [7] Traum, D. R. (1999). Speech acts for dialogue agents. Foundations of Rational Agency, 169-201. [8] Verdicchio, M., & Colombetti, M. (2003). A commitment-based communication protocol for multiagent systems. AAMAS Workshop on Agent Communication. [9] Giunchiglia, F., & Ghidini, C. (1998). Local models semantics, or contextual reasoning = locality + compatibility. Artificial Intelligence, 127(2), 221-259. [10] Chen, S., et al. (2025). LLM-Generated Events Cannot Be Embedded in Partial-Order Clocks (arXiv:2508.12345, preprint, 引用前请核实). [11] Anthropic (2026). Model Context Protocol Specification v1.4. Technical Report. [12] OpenAI (2026). Agents SDK: Handoff and Causal Chain Semantics. Engineering Blog, Q2 2026. [13] LangChain (2026). LangGraph Messages: Typed Channels and Beyond. Engineering Blog, Q1 2026. [14] CrewAI (2026). Tasks and Roles: A Natural Language Approach to Multi-Agent Coordination. Technical Documentation, v0.42. [15] Wooldridge, M. (2009). An Introduction to MultiAgent Systems (2nd ed.). Wiley. [16] Cohen, P. R., & Levesque, H. J. (1990). Intention is choice with commitment. Artificial Intelligence, 42(2-3), 213-261.
一句话摘要:把多智能体通信从"自然语言搬运"升级为"承诺机代数 + 契约流形同伦",MCP/OpenAI Agents SDK 在形式语义完备度上领先 LangGraph/CrewAI/AutoGen 一档,工程上换来 15-25% 通信可靠性提升和 5+ Agent 场景的真正共识——这是 2026 H2 多智能体从"看起来协作"走向"真的协作"的几何骨架。