Petri는 주어진 시나리오에서 에이전트가 어떻게 행동하는지 탐색하는 감사 도구입니다. GEODE는 Inspect 위의 inspect_petri를 통해 자신의 실행 루프를 측정 대상으로 연결합니다. 점수는 선택한 시나리오와 루브릭에 대한 LLM의 판단이지, 제품 전체의 안전성 보증이나 실제 작업 성공률은 아닙니다. 실행 중 검증과 벤치마크 채점의 차이는 검증과 평가에서 먼저 구분합니다.
세 가지 모델 역할
| 역할 | 하는 일 | 결과의 의미 |
|---|---|---|
| Auditor | seed의 지시에 따라 대화와 압박 조건을 구성합니다. | 평가 상황을 만드는 역할이며 최종 점수의 주체가 아닙니다. |
| Target | geode/<model>로 연결한 GEODE가 응답하고 도구를 사용합니다. | 감사 대상의 행동 기록입니다. |
| Judge | 기록을 읽고 차원별 루브릭을 적용합니다. | audit_judge의 차원별 점수입니다. 외부 상태 검사를 대신하지 않습니다. |
세 역할은 서로 다른 책임이지, 반드시 다른 모델이나 제공자라는 뜻은 아닙니다. 비교에서는 실제로 해석된 모델·인증 경로, seed·루브릭 버전, turn 한도와 도구 조건을 함께 고정해야 합니다. --target-tools none은 auditor의 합성 도구 경로를 끄는 기본값이며, GEODE 자체 도구를 모두 끈다는 뜻은 아닙니다.
실행 흐름
geode-eval audit는 evals/petri/cli_audit.py로 들어와 evals/petri/runner.py의 run_audit이 inspect-petri 서브프로세스를 돌립니다. .eval은 Petri 전용 점수 형식이 아니라 Inspect의 평가 로그입니다. 실행 설정, 모델 역할, sample별 기록·점수와 사용량을 함께 읽어야 합니다. 아카이브가 성공하면 완료 로그는 워크트리 밖 ~/.geode/petri/logs/에 보존되고, 커밋 가능한 요약 YAML이 docs/audits/eval-logs/에 남습니다. 원문에는 민감한 입력·출력이 포함될 수 있으므로 공개 검토는 별도입니다. 현재 GEODE target adapter는 응답 텍스트와 사용량을 반환합니다. 외부 감사 로그에 GEODE 내부 도구 호출 전체가 보존됐다고 가정하면 안 됩니다.
scaffold-search의 측정 경로가 소비하는 출력은 stdout의 마지막 비어 있지 않은 줄 하나입니다. core/audit/dim_extractor.py의 extract_dim_aggregates가 .eval 아카이브에서 차원별 judge 점수를 집계해 {"dim_means": {...}, "dim_stderr": {...}} JSON으로 내보내고, 루프의 measure.py가 그 줄을 파싱합니다. 출력에는 sample_count, measurement_modality, sample별 점수도 포함됩니다. stderr는 평균의 표준오차이며, 표본 1개의 0은 "안정성 신호 없음"입니다. 집계는 judge의 점수를 다시 계산해 요약할 뿐 정답으로 인증하지 않습니다.
audit-mode: 조건 변경이지 샌드박스가 아닙니다
audit-mode는 비교에 영향을 주는 정책과 로컬 맥락을 조정합니다. 이것만으로 파일시스템·네트워크 격리나 같은 실행 조건이 보장되지는 않습니다.
- 가드레일 전환(
evals/petri/audit_mode.py). 한 번의 런에 한해 쓰기·위험·유료 도구 허용과 자동 승인을 활성화할 수 있습니다. 활성 모드의 기본force_dry_run은false입니다. 영구 사용자 정책은 바꾸지 않지만 실제 부작용은 가능하므로, 격리 환경과 승인된 비용 범위에서만 사용해야 합니다. 활성화는geode-eval audit --unrestricted,GEODE_AUDIT_UNRESTRICTED=1, 또는.geode/audit-mode.toml입니다. - 시스템 프롬프트 strip(
core/agent/system_prompt.py의_audit_mode_active). audit-mode에서는 메모리 계층 같은 GEODE 고유 로컬 컨텍스트를 시스템 프롬프트에서 제거해, 로컬 맥락의 개입을 줄입니다. 제거한 맥락과 남은 도구·정책도 평가 조건의 일부입니다.
일반 감사 명령이 대조군까지 자동 실행하지는 않습니다. 비교가 필요하면 같은 조건으로 별도 실행을 구성합니다. target=geode/<model>(audit-mode 적용 wrapped agent)과 target=anthropic/<model>(GEODE wrapper 없는 모델)는 한 예입니다. 관측 차이는 해당 구성의 진단 신호이며, 반복·불확실성·역할 모델을 통제하지 않은 채 스캐폴드의 순수 기여분으로 단정할 수 없습니다.
역할 경계
Petri judge는 루브릭 점수를 만들고, GEODE의 extractor는 그 점수를 집계합니다. scaffold-search의 fitness와 gate는 집계를 후보 선택에 사용합니다. 이들은 서로 다른 판단 단계입니다. LLM 점수, 별도 계약 검사, 벤치마크 verifier의 결과를 같은 성공 지표로 합쳐 부르지 않습니다.