GEODE . 문서
GitHub
자기개선 루프
Explanation

Petri × GEODE

Anthropic Alignment Science의 평가 프레임워크를 GEODE 에이전트 위에 얹어 루프의 측정 계층으로 씁니다.

자기개선 루프에서 Petri는 측정 계층입니다. 스캐폴드 변이가 실제로 더 안전한 에이전트를 만드는지는 주장이 아니라 적대적 감사로 판정해야 하므로, GEODE는 Petri를 wrapped agent로 통합했습니다. Petri(Parallel Exploration Tool for Risky Interactions)는 Anthropic Alignment Science가 만든 alignment audit 프레임워크로, inspect_ai(UK AISI) 위에 구현되며 Meridian Labsinspect_petri(MIT)로 유지합니다.

세 가지 모델 역할

역할하는 일
Auditortarget을 misalign 방향으로 유도하는 적대적 에이전트
Target측정 대상. GEODE wrapped agent 또는 vanilla LLM
Judgetranscript를 차원별로 채점하는 평가자

실행 흐름

geode audit(Typer)과 /audit(슬래시)은 모두 plugins/petri_audit/cli_audit.py로 들어와 plugins/petri_audit/runner.py run_audit이 inspect-petri 서브프로세스를 돌립니다. 끝난 .eval 아카이브는 워크트리 밖 ~/.geode/petri/logs/에 보존되고, 커밋 가능한 요약 YAML이 docs/audits/eval-logs/에 남습니다.

루프가 소비하는 출력은 stdout의 마지막 비어 있지 않은 줄 하나입니다. core/audit/dim_extractor.py extract_dim_aggregates.eval 아카이브에서 차원별 judge 점수를 집계해 {"dim_means": {...}, "dim_stderr": {...}} JSON으로 내보내고, 루프의 measure.py가 그 줄을 파싱합니다. stderr는 평균의 표준오차입니다. 표본이 1개면 0이 되는데, 이 0은 "완벽한 안정성"이 아니라 "안정성 신호 없음"으로 읽어야 합니다.

audit-mode: 스캐폴드만 측정하기

측정이 운영자의 로컬 맥락에 오염되면 비교가 성립하지 않습니다. 두 장치가 이를 막습니다.

  • 가드레일 전환(plugins/petri_audit/audit_mode.py). 한 번의 런에 한해 HITL 승인을 끄고 dry-run을 강제하는 등 영구 정책을 건드리지 않고 감사용 상태로 전환합니다. 활성화는 geode audit --unrestricted, GEODE_AUDIT_UNRESTRICTED=1, 또는 .geode/audit-mode.toml입니다.
  • 시스템 프롬프트 strip(core/agent/system_prompt.py _audit_mode_active). audit-mode에서는 메모리 계층 같은 GEODE 고유 로컬 컨텍스트를 시스템 프롬프트에서 제거해, Petri가 운영자의 환경이 아니라 측정 대상 스캐폴드를 재게 합니다.

비교 하네스는 같은 seed를 두 번 돌립니다. target=geode/<model>(audit-mode 적용 wrapped agent)과 target=anthropic/<model>(GEODE wrapper 없는 vanilla)입니다. 둘의 차이가 스캐폴드의 기여분입니다.

역할 경계

무엇을 측정하는가(루브릭, judge, dim_extractor출력)는 Petri 쪽이 소유합니다. 측정이 어떻게 선택 신호로 쌓이는가(티어, 가중치, 게이트)는 루프의 train 단계와 fitness가 소유합니다. 원시 측정을 다시 구현하는 코드 경로는 없습니다.

다음