消息、状态与共享记忆

共 19 题
#

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 快照频率越高成本越低