Agent 间通信机制
多 Agent 协作的核心是通信。两种主流方式:共享上下文(所有 Agent 读写同一存储)和消息转发(Agent 间直接传递消息)。
消息格式
{
"from": "agent_researcher",
"to": "agent_coder",
"type": "task delegation",
"content": "请根据以下需求编写代码...",
"metadata": {
"priority": "high",
"deadline": "2026-07-15"
}
}
通信机制
共享上下文 vs 消息转发
| 维度 | 共享上下文 | 消息转发 |
|---|---|---|
| 实现 | 所有 Agent 读写同一存储 | Agent 间直接发送消息 |
| 耦合度 | 低(松耦合) | 中(需要知道对方) |
| 实时性 | 低(轮询) | 高(事件驱动) |
| 一致性 | 需要并发控制 | 消息有序 |
| 适用场景 | 需要共享状态 | 点对点协作 |
通信机制详解
| 机制 | 说明 | 适用场景 |
|---|---|---|
| 直接消息 | Agent 之间直接发送 | 点对点协作 |
| 共享内存 | 所有 Agent 读写同一存储 | 需要共享状态 |
| 黑板系统 | 公共信息板,Agent 贡献信息 | 松耦合协作 |
| 事件驱动 | 通过事件总线通信 | 异步协作 |
多 Agent 的挑战
| 挑战 | 说明 | 解决方案 |
|---|---|---|
| 通信开销 | Agent 间消息传递消耗 token | 消息压缩、摘要 |
| 角色混乱 | Agent 偏离指定角色 | 强化角色 prompt |
| 错误传播 | 一个 Agent 的错误影响其他 | 独立验证、回退机制 |
| 成本控制 | 多 Agent 意味着多倍 LLM 调用 | 分级模型、缓存 |
| 可观测性 | 难以追踪整个流程 | 日志追踪、可视化 |
▶ 对应实操:44-LangChain框架入门
速记卡(面试闪卡)
Q1:一句话讲清「Agent 间通信机制」到底是什么?
A:Agent 间通信靠共享上下文或消息转发两种方式协同干活。
Q2:一、两种通信方式 —— 怎么理解? —— 怎么理解?
A:像合租 vs 传纸条:共享上下文是大家读写同一块黑板(松耦合但要防并发冲突);消息转发是点对点直接递条子(实时高但得知道对方是谁)。英语:Shared Context vs Message Passing。
Q3:二、四种机制详解 —— 怎么理解? —— 怎么理解?
A:像四种联络法:直接消息(点对点)、共享内存(同读一仓库)、黑板系统(公共信息板)、事件驱动(总线喊一声异步响应)。英语:Blackboard / Event-driven。
Q4:三、多 Agent 的坑 —— 怎么理解? —— 怎么理解?
A:像一群人开会:消息费 token(压缩摘要)、角色易跑偏(强化 prompt)、错误会传染(独立验证)、成本翻倍(分级模型)。英语:communication overhead(通信开销)。
Q5:四、消息长什么样 —— 怎么理解? —— 怎么理解?
A:像快递单:每条消息写清 from/to/type/content,再塞 metadata 标优先级和截止时间,Agent 照着派活。英语:message schema(消息格式)。
Q6:核心速记主线有哪些?
-
通信两派:共享上下文(松耦合)vs 消息转发(实时)
-
四机制:直接消息/共享内存/黑板/事件驱动
-
挑战:开销、角色乱、错误传播、成本
-
对策:压缩摘要、强化角色、独立验证
口诀
A:Agent 协同两路通,共享黑板或传书;
四种机制按需取,消息格式写清楚。
开销角色防错乱,独立校验莫含糊;
多体协作稳落地,通信顺畅不迷途。
相关链接
快速问答
| 问题 | 参考答案 |
|---|---|
| 共享上下文和消息转发的区别? | 共享上下文通过读写同一存储通信,耦合度低但需要并发控制;消息转发通过直接传递消息,实时性高但需要知道对方 |
| 多 Agent 的主要挑战? | 通信开销、错误传播、循环依赖、成本控制、可观测性 |