# 1. 多 Agent 间消息协议如何设计以保证可追溯与回放 A 消息只需包含载荷,无需元数据 B 消息带 traceId、时间戳、版本并持久化到事件日志,用确定性+幂等支持回放 ✓ 正确答案 C 回放只需要消息载荷,不需要顺序 D 消息协议不需要考虑幂等
# 2. 共享黑板(Blackboard)与独立上下文两种状态共享方式的取舍 A 黑板模式天然没有信息越权风险 B 黑板适合协作紧密需共享中间结果,独立上下文适合需隔离与低耦合,可二者混合 ✓ 正确答案 C 独立上下文无法共享任何信息 D 黑板不需要任何并发控制
# 3. 多 Agent 并发写同一份长期记忆如何避免冲突与脏读 A 并发写记忆无需控制,直接覆盖即可 B 冲突只能靠最后写胜出 C 向量库写入天然无冲突 D 用版本号+乐观锁/悲观锁防冲突,字段级合并或仲裁解决写冲突,读用版本隔离避免脏读 ✓ 正确答案
# 4. 多 Agent 的消息格式与版本兼容,消息 Schema 演进、字段扩展与下游 Agent 的容错如何设计? A 版本升级必须一次性全量替换 B Schema 变更应直接改字段含义,无需兼容 C 字段扩展只增不改删,可选字段带默认值,下游忽略未知字段、缺字段兜底,实现平滑演进 ✓ 正确答案 D 下游遇到未知字段应直接报错终止
# 5. 因果序与乱序,跨 Agent 消息的因果依赖如何传递,乱序到达如何缓冲重排避免错误执行? A 用序号/时钟传递因果依赖,缓冲按序重排,依赖就绪才执行,避免乱序错误 ✓ 正确答案 B 乱序消息可直接执行,无需处理 C 因果依赖无法通过消息传递 D 乱序只需重试即可解决
# 6. 一致性模型,跨 Agent 共享状态的强一致与最终一致如何选择,read-your-writes 如何保证? A 强一致代价高适合精确场景,最终一致适合可容忍短暂不一致的场景,read-your-writes 用会话粘性/版本保证自己写可读 ✓ 正确答案 B read-your-writes 无法实现 C 强一致永远优于最终一致 D 一致性模型与业务无关
# 7. 如何用事件溯源(Event Sourcing)记录多 Agent 协作全过程便于调试 A 事件溯源直接保存最终状态即可 B 事件溯源不保存任何历史 C 事件溯源无法重建状态 D 事件溯源把 Agent 动作与变更作为不可变事件追加,可重放与审计,配快照加速重建 ✓ 正确答案
# 8. Agent 间传递的是原始上下文还是压缩摘要,对质量与成本的影响 A 摘要不会丢失任何信息 B 原始上下文永远优于摘要 C 原始上下文保留细节但成本高,摘要省 token 但可能丢信息,应分层按需传递 ✓ 正确答案 D 传递方式与质量成本无关
# 9. 跨进程多 Agent 通信采用消息队列还是 RPC,延迟与可靠性如何权衡 A RPC 天然比 MQ 更可靠 B 消息队列无法保证可靠投递 C MQ 延迟低于 RPC D RPC 同步低延迟适合即时调用,MQ 异步持久化适合可靠解耦,常混合使用 ✓ 正确答案
# 10. 共享记忆的并发控制,多 Agent 并发读写向量库/文档库时的锁、版本号与写入合并策略? A 向量库写入天然线程安全,无需控制 B 用版本号+乐观/悲观锁防并发写,字段级合并或仲裁解决冲突,读写隔离避免脏读 ✓ 正确答案 C 写冲突只能丢弃新数据 D 文档库与向量索引必须同步阻塞更新
# 11. 记忆的分层与生命周期,工作记忆(会话内)、短期记忆、长期记忆如何划分、汇总与淘汰? A 三种记忆不需要区分,存一份即可 B 长期记忆永不淘汰 C 工作记忆随会话结束清空,短期记忆有容量限制,长期记忆经提炼沉淀并配 TTL/遗忘策略淘汰 ✓ 正确答案 D 记忆汇总就是把所有对话原样存下
# 12. Agent 间消息格式,结构化消息(任务、状态、结果)与协议版本应如何定义,字段演进如何兼容 A 版本冲突时以新版本全量覆盖 B 消息格式随意,无需版本 C 字段演进应直接删除旧字段 D 按任务/状态/结果/错误类型化定义,带协议版本,字段演进只增不改删并容忍解析 ✓ 正确答案
# 13. Agent 间消息的投递语义,at-least-once/at-most-once/exactly-once 的实现代价、去重与乱序处理? A at-least-once 可能重复,需幂等去重;工程上常用 at-least-once+幂等近似 exactly-once ✓ 正确答案 B exactly-once 实现代价最低 C at-most-once 保证不丢消息 D 乱序消息无法处理
# 14. 消息优先级与死信,高优任务插队、失败消息进死信队列与人工/自动重投如何设计? A 高优任务会无限插队,无需防饿死 B 失败消息应直接丢弃 C 可重试错误自动重试,不可重试进 DLQ,支持人工/自动重投,高优用优先级队列但防饿死 ✓ 正确答案 D 死信队列无需审计
# 15. 消息的可观测性,如何给 Agent 间消息加 traceId/span,实现跨 Agent 调用链的追踪与回放? A 每个 Agent 各自生成独立 traceId,无需关联 B 追踪只记录最终结果即可 C traceId 在异步场景会自动丢失 D 入口生成 traceId 随消息传播,span 串成调用链,按 traceId 聚合追踪与回放 ✓ 正确答案
# 16. Agent 间共享记忆的检索与更新,相关性排序、冲突合并与遗忘策略应如何设计 A 检索只按向量相似度即可,无需过滤与重排 B 检索用向量+过滤+重排,更新用版本与合并,遗忘按 TTL/容量/重要性并保留纠错历史 ✓ 正确答案 C 记忆永不更新,一旦写入即固定 D 遗忘就是直接删掉原文
# 17. 消息的序列化与版本兼容,Agent 间契约变更时,新旧版本如何共存并平滑迁移 A 选带版本兼容的序列化,字段只增不改删,新旧版本共存并灰度迁移,兼容层兜底 ✓ 正确答案 B 契约变更必须同时全量切换所有 Agent C 旧版本无法与新版本共存 D 序列化格式无需考虑兼容
# 18. 长协作中的消息压缩与摘要传输,上下文压缩在质量与成本上的权衡及触发时机? A 上下文压缩会无条件损失质量,应避免 B 压缩后所有信息都不可恢复 C 压缩时机与成本无关 D 在窗口/预算阈值触发压缩,保住关键结论与引用、压缩过程细节,并保留还原能力 ✓ 正确答案
# 19. 共享状态快照,定期快照与版本号如何支撑回滚到一致性点,快照频率如何权衡? A 定期快照+版本号+事件日志可回滚到任意一致性点,快照频率按成本与变更速率权衡 ✓ 正确答案 B 快照无需关联版本号 C 回滚只能回滚到最新状态 D 快照频率越高成本越低