多 Agent 系统如何分层验证功能正确性和反幻觉能力?
未标记
考查重点:分层验证与结论证据。组件验输入输出与证据,链路验路由和状态合并,端到端验业务目标;反幻觉另核结论是否由证据支持
本题目录
参考答案
核心回答
多Agent系统可以分组件、协作链路和端到端三层验证。组件层检查各Agent与工具的任务边界、输入输出和证据;链路层检查路由、消息、状态合并、依赖与终止;端到端层检查用户目标、业务约束、成本和真实结果。反幻觉评测还要验证每个关键结论是否有证据,以及证据是否传到了最终答案。
独立Critic或多个Agent一致只能提供额外判断,不能代替真值。它们可能共享模型和检索来源,出现相关错误,因此要结合确定性检查、权威数据和人工抽检。
三层各看什么
组件层。 给Supervisor测试任务分配与不分配的边界,给Worker测试正常任务、证据缺失、工具失败与越权请求。结构合格与语义正确分开,核对工具参数及证据ID,不让自由文本里的“完成”直接变为状态成功。
链路层。 构造误路由、重复或乱序消息、子任务超时、Worker互相引用和共享状态冲突。检查结果是否归属正确任务,过期输出是否被丢弃,失败是否传播,循环是否在无进展或预算耗尽时终止。某Worker局部成功不应掩盖另一个必要子任务失败。
端到端层。 固定环境和任务预算,在未参与开发的任务上检查最终功能;写入类任务用业务状态或产物验证,研究问答核对引用、事实和覆盖。分别统计不同任务的成功率、尾延迟、费用与人工接管。
反幻觉要覆盖传播过程
例如研究Worker把过期政策当现行政策,Supervisor若不检查版本便汇总,会把单点错误放大。测试集可加入冲突日期、缺证据、相似实体和伪造工具返回,检查Worker能否保留来源、Critic能否指出问题、汇总是否采用有效证据或明确不确定。
最终答案正确但中间引用虚构,仍不应通过证据一致性检查;中间步骤不同于参考轨迹,但结果与约束都正确,则可以通过。
如何判断多Agent是否值得
用同一模型能力与预算,和单Agent、简单Workflow比较,再逐一移除路由、Critic或额外Worker做消融。若收益只来自更多采样和更高token预算,应如实归因。测试应重复运行,并把评审模型与被评模型的身份对评审隐藏,降低偏置。
追问:主Agent能替所有Worker做验收吗?
可以集中验收,但要保留每项任务的具体判据与原始证据,避免主Agent只读Worker摘要。关键功能宜直接查询产物或业务状态;否则主Agent可能只是再次相信子Agent的自述。
对应教程
- 32-微调效果评估与模型部署:回看分组回归、留出与错误归因,本文扩展Agent轨迹和协作链路。
参考资料
- 国内:JavaGuide:AI应用评测体系:采用结果与证据、过程和组件指标的分层思路,组织正文的组件、协作链路及端到端验收,并补充反幻觉的证据一致性检查。
- 国内:zero2Agent/Onefly:Agent评估:借鉴任务结果与执行轨迹分开评估的方法,补充正文对协作链路中的错误传播、结果归属与任务约束的检查。
- 国内:Datawhale:智能体性能评估:依据组件、交互与端到端评测的职责区分,划分正文中各层测试的对象及配合方式。
- 国外:Anthropic:Demystifying evals for AI agents:参考评分器校准与失败回放的建议,说明正文中独立 Critic、多 Agent 一致及自评分数不能替代真值的原因。
- 国外:LangChain:LangSmith Evaluation:借鉴子运行 Trace 与实验结果对比的组织方式,说明正文如何追溯协作调用,并在相同预算下比较不同系统配置的效果。

