AgentAudit:基于完整执行轨迹的模块化评估与失败归因
研究类型:论文方法与评估系统研究。材料基线:2026-09-16;整理日期:2026-09-18。本文依据既有深度研究稿编辑整理,保留原稿的一手来源;不构成独立实验复现。扩展 Schema 与实验方案均为研究推演,不是论…
研究类型:论文方法与评估系统研究。材料基线:2026-09-16;整理日期:2026-09-18。本文依据既有深度研究稿编辑整理,保留原稿的一手来源;不构成独立实验复现。扩展 Schema 与实验方案均为研究推演,不是论文原生接口。
摘要
AgentAudit 的评估对象不局限于最终回答,而是包含用户请求、有效提示、工具选择、调用参数、工具结果、环境变化与最终响应的执行轨迹。框架将执行、轨迹记录和评估分开,以模块化方式分析不同阶段的可信性,并提供行为分类和失败归因。[1]
它的主要研究价值是提高失败的可解释性和可诊断性,而非证明一个综合分数足以代表 Agent 的安全程度。其评估发生在执行之后,因此不能视为实时阻断系统。
1. 论文与研究范围
论文名称为 AgentAudit: An Open, Extensible Framework for Full-Lifecycle Trust Evaluation of AI Agents,原研究稿记录提交日期为 2026-09-09,arXiv 编号为 2609.09875,并列出配套代码仓库。[1][2]
这里的 Full-Lifecycle 更准确地指“评估覆盖完整执行链”,而不是从安装到销毁的全部软件生命周期,也不意味着所有评估器都在线介入执行。
2. 问题定义:结果错误不足以定位错误来源
一个失败结果可能由多种机制产生:用户意图在上下文中被改写;规划顺序不合理;记忆检索错误;工具选错;参数错误;工具自身返回错误;模型误读正确工具输出;或执行违反授权边界。
用户任务
↓
上下文 / 记忆 / 规划
↓
工具选择 → 参数构造 → 工具执行
↓
环境状态变化
↓
最终回答与任务产物
只评估最后一个节点,会把性质不同的失败压缩成同一个 Pass/Fail。AgentAudit 将这些阶段分开评估,尤其区分“工具结果正确性”和“回答对工具结果的忠实性”。[1]
例如,工具错误返回数值与模型错误转述正确数值需要不同修复方式。前者可能涉及工具或数据源,后者更接近上下文使用或响应生成问题。
3. 三层架构与数据流
Execution Layer
Runner / Agent / Environment
↓
Trace Layer
结构化记录与持久化
↓
Evaluation Layer
分模块评分 / 行为分类 / 失败归因
执行器负责运行任务;日志层捕获执行证据;评估器消费已完成的轨迹。这样的分离支持对同一次昂贵运行重复评估,而不必因评估规则调整而重新调用全部工具。[1]
但必须区分:对已保存轨迹重新评分与在环境中重新执行任务不是一回事。后者还需要环境快照、工具版本、外部数据状态与随机性控制,单独保存 JSONL 不能保证可复现执行。
4. 轨迹包含什么
原研究稿归纳的论文字段包括:模型、原始请求、有效提示、可获得的规划信息、工具选择、参数、响应、环境状态变化、Ground Truth、中间观察和最终回答。[1]
“完整轨迹”是观测目标,不应被误解为能够访问所有模型的内部推理。不可获得的规划或推理信息应标记为缺失,而不是根据最终回答补造。审计的核心证据仍然是实际输入、动作、工具结果与环境变化。
此外,记录内容必须区分证据来源。模型声称某个测试通过,不等于测试进程确实返回成功;模型描述环境变化,不等于环境记录证实发生变化。
5. 模块化评估维度
原稿依据论文整理了十个评分维度,并将行为分类和失败归因作为额外分析,而非独立分数。[1]
| 维度 | 主要问题 | 依赖的证据 |
|---|---|---|
| Instruction Integrity | 有效提示是否保持原始意图 | 原始请求、有效提示、上下文来源 |
| Planner | 规划是否合理,有无无效循环 | 可获得的规划输出、实际动作序列 |
| Memory | 检索内容是否正确且适用 | 记忆记录、来源、任务状态 |
| Tool Selection | 工具选择是否适当 | 工具集合、选择结果、任务要求 |
| Tool Invocation | 参数与调用方式是否正确 | Schema、参数、调用反馈 |
| Tool Correctness | 工具输出是否正确 | 工具结果、参考值或验证器 |
| Alignment | 行为及安全判断是否符合任务约束 | 目标、约束、执行行为 |
| Tool Faithfulness | 回答是否忠实使用工具输出 | 工具结果与最终回答 |
| Security | 是否出现攻击影响或安全失败 | 攻击设置、行为、结果 |
| Execution Integrity | 是否发生漂移、异常或低效 | 完整事件序列与预期行为 |
表中“依赖的证据”为方法论整理,不表示论文为每一项规定了完全相同的字段实现。
6. 与其他方法的关系
6.1 与任务成功率
成功率回答“是否完成任务”;轨迹评估进一步回答“怎样完成、失败发生在哪个阶段”。二者互补。任务成功不能抵消未授权副作用,过程评分较好也不能代替最终产物验证。
6.2 与整体轨迹 Judge
整体 Judge 对一段轨迹给出单一判断,容易将不同失败混合。模块化评估则规定更具体的评价对象与证据范围。其有效性仍依赖模块定义、标注质量和 Judge 可靠性,不能仅凭模块数量推断质量提高。
6.3 与 OpenTelemetry 式追踪
从系统分工看,追踪基础设施负责关联调用、事件与运行;语义评估负责解释这些记录是否满足任务和安全要求。AgentAudit 可被理解为建立在可观测数据之上的评估层,而不是通用追踪系统的替代品。
“保存了 Span”不等于“已经得到可信性判断”;同样,“给出可信性评分”也不能替代底层事件记录。
7. 实验证据与解释边界
原研究稿记录论文在五个模型、九个能力与对抗任务上开展评估,并指出所有轨迹由单一固定 Judge 模型评分,该 Judge 也属于被评模型之一。[1]
这些设置意味着:样本与任务覆盖有限;评估器偏差可能影响模型间差异;综合分数依赖维度权重;闭源系统未公开的状态可能导致评估缺项。本文不复述模型排行榜,也不将其总分当作一般部署环境的风险概率。
失败归因还需要额外区分:
观察到某阶段异常
≠
证明该异常是最终失败的原因
因果归因需要受控干预,例如只修正工具参数后重跑,并与原轨迹比较。文本 Judge 对原因的解释属于待验证诊断,不自动成为因果证据。
8. 说明性 Trace 与 Eval 数据模型
以下模型用于表达生产轨迹与评估的分离,不是 AgentAudit 官方 Schema:
{
"schema_version": "1.0",
"event_id": "evt-42",
"run_id": "run-17",
"parent_event_id": "evt-41",
"event_type": "tool.result",
"actor_id": "agent-coder",
"tool_version": "shell-adapter@1",
"action_id": "action-9",
"arguments_hash": "sha256:...",
"policy_decision_ref": "policy-event-8",
"context_manifest_ref": "context-5",
"sandbox_id": "sandbox-3",
"artifact_refs": ["test-report-2"],
"observation_source": "runtime",
"payload_ref": "restricted-store://result-42",
"redaction_profile": "secrets-v1"
}
独立评估记录:
{
"evaluation_id": "eval-12",
"run_id": "run-17",
"evaluator": {
"name": "tool-faithfulness",
"version": "2",
"method": "llm-judge"
},
"status": "insufficient_evidence",
"score": null,
"evidence_event_ids": ["evt-42"],
"missing_fields": ["final_response"],
"dataset_version": "cases-v3"
}
重要的数据约束是:缺失证据不能自动转换为通过或零分;评估器版本与数据集版本需要记录;原始事实不能被后续 Judge 结果覆盖;敏感内容可以受控保存,通过引用关联,而不是把秘密直接写入开放日志。
哈希可以用于完整性比对,但不能恢复被删去的语义内容。需要语义复查的字段仍应保留受控原文或足够的脱敏表示。
9. 可复现的研究设计
实验可以比较“仅结果评估”“整体轨迹 Judge”和“分模块评估”,让三者使用同一组任务与同一批轨迹。另建立含已知故障的受控样本:错误工具、错误参数、工具返回错误、正确结果被误读、缺失验证器、策略违规。
| 研究问题 | 可测指标 |
|---|---|
| 模块化评估是否更易定位故障 | 归因精确率、召回率、人工一致性 |
| 不同 Judge 是否产生稳定结论 | Judge 间一致性、重采样方差 |
| 缺少部分轨迹会怎样 | 缺失比例与评价误差的关系 |
| 综合分数是否掩盖严重问题 | 安全失败被高总分掩盖的比例 |
| 离线评估成本是否可接受 | 每轨迹费用、延迟、人工复核时间 |
| 归因是否具有因果支持 | 单因素修复后结果变化 |
任务成功率、安全违规率、证据完整率和评估成本应分别报告,而不是只发布一个加权平均分。
10. 局限与开放问题
关键限制包括不可观测状态、生产环境 Ground Truth 缺失、Judge 偏差、日志自身的完整性,以及敏感轨迹的访问控制。[1]
进一步的问题是:如何区分上游根因与下游症状;如何评价不调用工具的正确决策;如何将缺失证据纳入置信度;如何让离线发现转化为经过验证的策略规则,同时避免自动规则更新造成新误判。
结论
AgentAudit 的方法论意义在于:将执行证据与评估结论分离,并按阶段组织诊断。 轨迹是可观测证据,不是自动成立的 Ground Truth;离线归因是诊断工具,不是实时安全边界;综合评分也不能替代对关键失败的独立报告。
参考资料
以下为原研究稿列出的论文与代码来源;本文未声称完成配套代码复现。
[1] AgentAudit: An Open, Extensible Framework for Full-Lifecycle Trust Evaluation of AI Agents. arXiv:2609.09875, 2026-09-09. PDF.
[2] ShreyNag/AgentAudit. 论文配套实现,按原研究稿记录。
评论公开保存在 GitHub Discussions。