Eval Author: audit 是 eval-author 技能中的审计子流程,依据父技能的共享标准、词汇和边界工作。其目标是从 Ethos 文档与经审核的审计项中生成并校验一个有限的覆盖分母,再对 ATIF 轨迹进行测量,并据此聚合覆盖率报告,同时写出人类可读的 audit-coverage-report.md 与用户一起审阅发现。该子流程不生成任务。
用途 该流程用于审计 AI 智能体的评估覆盖情况:比较智能体的预期行为与评估证据,确认评估实际检验了哪些行为、工具和失败情况。它支持完整引导式审计,也支持只做生成、校验、测量或聚合的限定范围请求。
主要能力 覆盖规范支持三类项目:tool(智能体可调用的规范工具名)、capability(智能体应具备的高层行为)和 failure_case(能力无法正常进行时的预期安全行为)。每个项目以 name 作为稳定覆盖键,名称在全局唯一,不使用顺序数字 ID。
该流程包含以下脚本:generate.py 从 ethos.md 和审核过的项目提案创建、调和、替换或预览 audit.md;measure.py 针对 audit.md 测量一条 ATIF 轨迹或一个 Harbor 试验目录,写出覆盖率与明细文件;report.py 将各轨迹的 coverage.json 聚合为一份报告,列出未覆盖的审计项;validate.py 校验 audit.md 中标记的审计规范块。共享辅助、测量方法约定、模式和示例见 scripts/audit_spec/README.md。
使用方式 完整审计以引导式开场启动,列出五个步骤:理解智能体、确认评估与轨迹、定义评估应覆盖的内容、测量覆盖、生成并审阅覆盖报告。开场以“Ready to get started?”结束并等待用户回复。在用户回复前,不进行仓库工作,包括定位、读取、校验、创建或更新 Ethos,检查评估或轨迹,运行时探测,写入进度文件或委派子代理。
用户接受后,按里程碑推进,每个可见里程碑后与用户确认。审计操作在 .eval-author/ 下写入产物:审计规范 audit.md、审计覆盖报告 audit-coverage-report.md、覆盖率测量 JSON audit-coverage-report.json、审计进度 audit-progress.md。审计操作不编辑客户源代码、现有评估、事实来源文档或 ethos.md。
在起草审计项前,需读取 <ethos_path>,在 Ethos 与可运行任务之间草拟规范工具、高层能力和重要失败用例,列表保持有限,不为提示词改写、固定装置变体或普通成功路径排列创建单独项目。工具项应使用实际运行时轨迹或工具注册表中出现的名称,不凭空发明不会出现在测量面上的工具名。只有在用户确认轨迹来源和位置后,才可读取轨迹用于此目的。
生成 audit.md 的默认模式为 reconcile:若文件不存在则创建;若已存在则解析标记块,更新来源元数据,按稳定名称保留已有项目正文,追加新提案并报告拟议编辑而不静默改写。可使用 --mode suggest 做只写不落盘的比较,--mode replace 重写整个文件(包括标记块外文本),或 --items-mode full 将项目文件视为完整分母。生成器输出 JSON 摘要,包含 written、added_items、conflicting_items、conflicting_items_applied 和 possibly_stale_items。
每次生成或手工编辑审计文件后需运行校验。校验只证明结构和引用有效,不证明分母完整或正确。
在完成校验和引导式审计的规范审阅后,可针对用户确认来源中的一条已完成试验目录或 ATIF 轨迹文件进行测量,默认测量方法为 tool_calls,可用 --measure 选择多个方法。
适用场景 适用于需要系统检查智能体评估覆盖度的场景,包括确认评估是否覆盖了规范工具、关键能力和失败用例,测量轨迹证据,生成人工可读的覆盖报告并与用户共同审阅差距和后续步骤。
限制 该流程本身不生成任务;测量依赖可用的 ATIF 轨迹或 Harbor 试验目录,缺失或不可用时须遵循引导式审计的不可用证据指引,不能在用户未选择其他位置时自行搜索。轨迹读取必须先经用户选择来源和位置;已确认不存在的情况无需搜索证明。source_refs 在 v1 中只是提示性来源说明,校验器保留但不解析。审计文件生成器的 conflicting_items 在 reconcile 模式下保留已审阅项目并报告 conflicting_items_applied: false。