Petri × GEODE 감사를 한 번 끝까지 돌리는 절차입니다. 기본값이 비용을 지키는 쪽으로 설계되어 있어서, 아무 플래그 없이 돌리면 실제 LLM 호출 없이 dry-run으로 끝납니다. 실측은 명시적으로 올립니다.
준비물
- GEODE 소스 체크아웃에서
uv sync --extra audit를 실행합니다. 아래 명령은 활성화한 환경 또는uv run을 통해 실행합니다. - auditor, target, judge 세 역할의 자격. 역할 플래그를 생략하면
~/.geode/config.toml의 역할 SoT를 읽습니다.
기본 명령
# 1) dry-run (기본값). 명령 조립과 seed 해석만 검증 geode-eval audit # 2) 실측. live로 올리고 audit-mode 가드레일 전환 geode-eval audit --live --unrestricted \ --seeds 3 --max-turns 10
같은 인터페이스가 세션 안에서는 /audit 슬래시 명령입니다. 둘 다 evals/petri/cli_audit.py로 들어갑니다.
플래그
| 플래그 | 의미 | 기본값 |
|---|---|---|
--auditor/-a · --target/-t · --judge/-j | 역할별 모델 지정 | 생략 시 ~/.geode/config.toml 역할 SoT |
--dry-run/--live | 실제 호출 없이 검증 / 실측 | dry-run |
--seeds/-s | seed 수 | 1 |
--seed-select | seed 풀 경로 또는 id 선택 | bundled (패키지 내 GEODE seed 풀) |
--max-turns/-m | 대화 턴 상한 | 10 |
--dim-set | judge 차원 세트. subset(22-dim 루브릭) 또는 full(upstream 기본 전체) | subset |
--unrestricted | audit-mode 가드레일 전환 (HITL 해제, 한 런 한정). GEODE_AUDIT_UNRESTRICTED=1과 동일 | off |
--cache/--no-cache | inspect_ai trajectory 캐시 | off. 캐시된 실패 응답이 후속 측정을 오염시키는 것을 막기 위해 기본 비활성 |
--target-tools | Auditor 도구 생성: none, fixed, synthetic | none |
--tags | 런 태깅 | 없음 |
--yes/-y | confirm 생략 | off |
--use-oauth/--no-oauth | OAuth 자격 lane 강제 | 없음 |
결과 읽기
런이 끝나면 .eval 아카이브가 워크트리 밖 ~/.geode/petri/logs/에 남고, stdout 마지막 줄에 {"dim_means": {...}, "dim_stderr": {...}} JSON이 찍힙니다. 자기개선 루프가 파싱하는 줄이 바로 이것입니다.
# 아카이브 보존 + 커밋 가능한 요약 YAML 생성 geode-eval petri-archive # transcript를 Inspect 뷰어로 inspect view --log-dir ~/.geode/petri/logs/
publish된 번들은 /geode/self-improving/petri-bundle/에서 바로 볼 수 있습니다.
raw 경로: inspect eval
Petri 프레임워크의 원시 명령입니다. 아래 예시는 target을 Anthropic 모델로 지정하므로 GEODE 런타임을 측정하지 않습니다. 명령 이름만으로 대조군 동등성이 보장되지는 않습니다.
inspect eval inspect_petri/audit \ --model-role auditor=<m> \ --model-role target=anthropic/<m> \ --model-role judge=<m>