一个可回放的 A2A 陪审团:追踪智能体如何影响彼此的决策

查看原文 HN 讨论

文章摘要

这是 ProtoLink(一个开源的、基于任务的 Python Agent-to-Agent 通信框架)中的一个示例项目,名字叫 AI Liability Tribunal(AI 责任法庭)。它抛出的问题写在 README 最上方:「AI 智能体互相交谈之后,会得出更好的答案,还是更坏的答案?」

作者 nMaroulis 在 Show HN 自述里说明了动机:绝大多数多智能体演示只暴露最终答案,却隐藏了产生答案的交互过程。一个协调器调用若干模型、收集输出、返回一段摘要——你很难判断这些智能体是真的互相影响了,还是只不过各自回答了不同的 prompt。这个实验用一场虚构的责任审判,把这个过程变得可观测

案情设计(完全虚构)。「C-91 事件」:一个雨夜 21:47,一辆 Aster Vale 自动驾驶网约车在临时人行横道内撞死了 31 岁的骑车人 Lina Ortega,车辆在撞击前 0.35 秒才开始紧急制动,而 36 小时前它刚收到 Orchid 4.8 软件更新。庭审要判定的是一个二元问题:Aster Vale Mobility 是否犯有过失部署自动驾驶系统致人死亡罪?

案子刻意被设计成一个多因交互失效问题,七条证据各指向不同责任方:摄像头把骑车人和车道箭头指示牌合并识别、雷达探测到运动但制动被抑制(E1);一名工程师曾因 20 次晚制动仿真中 3 次失败而阻止发布,但后续标定重跑 20/20 通过(E2);出事的车跑的是标定 C-91,而安全报告验证的是 C-90,一个 CI 机器人共享了签名凭证(E3);一名承包商移动了箭头指示牌但没更新城市地图,抹掉了约 1.1 秒的有效观测时间(E4);一项经监管批准的设计允许摄像头分类在 25 km/h 以上否决纯雷达制动(E5);蜂窝网络中断使远程操作员这道保险失效,而此前该地点附近已发生过两次中断(E6)。README 特意提醒:这个二元指控比因果故事窄得多——无罪判决不等于什么都没出错,有罪判决也不等于 Aster Vale 是唯一贡献者。

智能体设计。法庭一侧有 7 个角色(法官、受害者家属律师、Aster Vale 安全高管、感知工程师、安全监管者、有明确经济利益的保险理赔总监、独立事故调查员),陪审团有 6 名成员(前交通事故警探、民权律师、人因心理学家、SRE 工程师、调查记者兼陪审长,以及仅在 solo 条件下出场的一名普通市民)。作者强调这些 prompt 描述的是人,不是种子数值——它们不会写「你从 61/100 开始」,也不会暴露 reinforce_ally 这类路由枚举值,参考用的 fixture 系数完全在人类可见的 prompt 之外。

四种决策条件是这个实验的核心变量:solo(一名通才独自决定)、independent(五名陪审员看同一份公开记录但不能通信)、star(消息全部经过陪审长中转)、mesh(每名陪审员都可以直接选择任一其他陪审员发消息)。世界引擎只负责调度回合和强制拓扑,它不决定陪审员该说什么、也不决定 mesh 条件下该找谁。在审议回合中,陪审员返回一个可观测的公开动作(JSON:move、target_id、message、evidence_ids、public_intent),应用层校验目标是否符合当前拓扑,然后通过 ProtoLink 直接把消息发给指定智能体,接收方返回更新后的公开置信度、分类投票、简短理由和公开回复。同伴消息永远不会自动暴露另一名陪审员的私有概率、置信度或投票——智能体只透露它选择写进公开消息里的内容。

默认回放结果(seed-7 离线 fixture,完全确定性):

条件 同伴消息数 判决 票数 平均有罪置信度
solo 0 有罪 1–0 78.59
independent 0 无罪 2–3 77.56
star 5 无罪 2–3 80.21
mesh 5 有罪 3–2 80.54

事件账本可以定位到那个改变了多数派的关键节点:在 mesh 条件下,陪审长 Sofia Bell 主动去挑战人因心理学家 Anika Rao,把未经验证的 C-91 标定与事故现场地图这两件事联系起来;Anika 的公开有罪置信度从 77.90 升到 81.41,分类投票从无罪变为有罪。星型拓扑同样抬高了平均置信度,但消息集中在陪审长处,没有改变 2–3 的判决。作者由此得出结论:「这个 demo 的要点因此不是『消息越多越好』。是谁可以对谁说话,决定了哪些假设会被暴露出来。

作者的自我限制说得非常清楚,这在 Show HN 里并不常见:离线 fixture 是确定性的,并且是刻意设计成能产生可检视的对比的。这不能证明 mesh 通信普遍提升准确率;真正的活模型对比需要重复的配对运行和消息消融实验。

工程上的几个亮点:默认运行使用确定性的 reference provider,完全离线、不需要任何凭证;每个条件输出 result.jsonsummary.jsontranscript.md、独立可交互的 report.html 回放报告以及 traces.jsonl(ProtoLink 的任务/推理/A2A 遥测);报告以通信而非一堵指标墙开场——可播放的 A2A 事件回放、当前发送方与接收方、自然语言的提问/挑战/澄清/让步、接收方的公开回复、同步的前后置信度与投票、证据引用;报告不暴露思维链,README 明确写道「公开理由是一个应用层产物,它可能不完整,也可能是事后补的」。保存的元数据包括每个智能体的 provider 与精确解析出的模型、seed、温度、证据顺序、公开记录哈希、基线与审议前快照哈希,以及一个用于对比的控制指纹(control fingerprint)——目的是让不同条件之间的比较在方法论上站得住脚。

HN 评论精华

这个帖子实质上没有产生讨论。它拿到 19 分,Algolia 返回的评论树里只有一条内容,就是作者 nMaroulis21 自己的 Show HN 说明。没有第三方评论、没有质疑、也没有讨论可以摘录。

因此这里只能如实转述作者自述中最值得注意的几点,它们与 README 的重心略有不同:

值得一提的是,作者这种「先给出漂亮结果、紧接着自己拆掉这个结果的说服力」的写法,在 Show HN 里是比较少见的自律;不过从传播效果看,这个帖子并没有引来技术讨论,也没有人对多智能体从众效应(sycophancy/anchoring)这个显而易见的追问方向做出回应。 </content>