审计场景经由固定顺序的各阶段生成。
主机掌握阶段顺序,各阶段的角色智能体分担工作。由此得到的种子池与选定的评分标准,成为 Petri 行为审计的输入。
场景编写
编排器掌握阶段顺序,角色智能体起草并筛选候选,结果经文件契约导出。
阶段顺序 · PipelineState
seed_generation/orchestrator.py执行 · 判定: 按顺序运行各阶段agents/ · 起草编排器掌握阶段顺序与状态合并,各阶段的角色智能体负责执行。阶段内的工作可经 SubAgentManager 拆分执行,子智能体不再向下递归(depth 1)。
维度均值 · 依据
baseline snapshot数据: 基线依据agents/ · 起草Generator、Critic 与 Evolver 读取所选基线的各维度均值、标准误与依据。第一代没有基线,使用默认提示词。
latest_pointer.json · priors
handoff pointer数据: 上一次的 meta-reviewagents/ · 起草上一次运行的 meta-review 留下下一代先验和覆盖不足的维度,供本次生成参考。
agents/ · 起草数据: 候选种子agents/ · 审查
Generator 的候选依次经过 Proximity 去重、Critic 审查、Pilot(可选;冒烟运行中略过)和 Ranker 的 Elo 排名。
agents/ · 审查数据: survivors · Eloagents/ · 改进
Evolver 改进排名最高的候选,Meta-reviewer 将本次运行归纳为下一代先验。
Meta-reviewer · 下一代先验
agents/ · 改进执行 · 判定: 下一次迭代 · 从 Critic 开始Critic · 审查agents/ · 审查设置 max_iterations 后,Meta-reviewer 结束时,改进后的候选会再次经过 Critic → Pilot → Ranker → Evolver → Meta-reviewer。Supervisor、Generator 与 Proximity 不再重新运行;默认迭代次数为 0。
agents/ · 改进数据: 导出 survivorsrun_dir/
存活候选的正文以文件形式复制到 survivors/,Elo 与 pilot 分数写入 survivors.json,meta-review 与状态另行写入。
meta_review.json · state.json
run_dir/数据: latest 指针latest_pointer.json · priorshandoff pointer唯一的 latest_pointer.json 记录本次运行的 seed_pool 与 meta_review 所在位置。以每次运行的产物为准;指针只是为下一次运行提供的尽力而为的辅助,写入失败仅记入日志。并非每次运行都有这两个字段。
审计运行
审计模型扮演种子(场景指令),目标是 GEODE 脚手架,评判模型为对话记录评分。三个角色是各自独立的模型席位。
survivors/ · 候选 .md 副本
run_dir/数据: --seed-selectgeode audit · /audit · 工具petri/runner.py审计接收种子选择(survivors 目录、内置种子、id 或 tag),并交给 Inspect 的 inspect_petri/audit 任务。种子生成本身不会启动审计。
内置种子 · *.md
petri/seeds数据: 内置种子geode audit · /audit · 工具petri/runner.py也可以直接选择仓库内置的种子。
geode audit · /audit · 工具
petri/runner.py执行 · 判定: 模型角色 · 三个席位审计模型审计、目标与评判模型分别指定。默认为 dry-run;只有确认成本估算后才进行真实调用。三个角色使用同一提供商时,会附加同提供商偏差标记。
审计模型数据: 种子场景对话GEODE 作为目标 · AgenticLoop
petri/geode_target.py种子是给审计模型的场景指令。审计模型主导对话,只有启用 target_tools 时才能创建工具与工具结果。
GEODE 作为目标 · AgenticLoop
petri/geode_target.py数据: 模型调用目标基础模型整个 GEODE AgenticLoop(工具、hook、记忆)被包装成一个模型 API,因此受审计的目标是 GEODE 脚手架,而不只是基础模型。
GEODE 作为目标 · AgenticLoop
petri/geode_target.py数据: 对话记录评判模型评判模型将每个样本的完整对话记录读一遍,并按维度评分。
judge_dimensions · YAML
petri/judge_dims执行 · 判定: judge_dimensions评判模型所选的评判维度 YAML 决定评分维度。这是行为审计,与任务完成是不同的测量。
评判模型数据: 维度分数Inspect .eval 日志
Inspect .eval 日志与摘要会被归档。归档失败只会被记下,不会阻碍审计结果。
测量 → 下一次生成
SIL 用审计分数作出判定,保留下来的测量成为下一次种子生成的基线依据。这并不表示该环节在每个实验活动中都自动运行过。
评判模型数据: 维度分数Inspect .eval 日志
Inspect .eval 日志与摘要会被归档。归档失败只会被记下,不会阻碍审计结果。
Inspect .eval 日志记录 · 观测: 测量结果SIL 测量 · measure.py
SIL 的 measure.py 运行审计子进程,并据其结果计算适应度。
SIL 测量 · measure.py数据: 基线更新维度均值 · 依据
baseline snapshotSIL 的 ledger 将保留的测量写为基线。选定基线(自动或显式)时,种子生成会读取该依据。
维度均值 · 依据
baseline snapshot数据: 基线依据agents/ · 起草Generator、Critic 与 Evolver 读取所选基线的各维度均值、标准误与依据。第一代没有基线,使用默认提示词。
所有连接以相同粗细显示。选择一个流程,即只突出显示其路径,并标出步骤编号。
- 实线 · 请求、候选与结果的流向
- 虚线 · 执行、判定、授权、配置
- 长点划线 · 记录与观测,与判定分离
- 粗黑线 · 所选流程;数字表示顺序
- 方框 · 代码或记录的边界,顶部标注路径
- 内层小框 · 该边界内的组件
- 虚线框 · 该边界之外
- 编排器 · 审计入口
- 审计目标 · 评分维度
- 产物 · 状态文件
- 角色智能体 · 内置种子
编排器固定首轮顺序与重复顺序。配置、已注册的角色与续接点可能跳过部分阶段,并非每个实验活动都运行了全部阶段。状态文件的位置取决于环境,因此不显示路径。
- 三个角色
- 种子是由人编写或生成的场景指令;审计模型负责扮演它,目标是被审计的 GEODE 脚手架,评判模型为对话记录评分。分数与日志是评判模型的产出。
- 测量的是什么
- Petri 审计为行为维度打分。它不是任务完成率,也不是产品质量保证。