seed는 감사 한 판의 시나리오입니다. auditor가 이 시나리오를 들고 target을 압박하고, judge가 그 transcript를 채점합니다. seed 코퍼스가 어떤 차원을 얼마나 자극하느냐가 곧 측정의 분포이므로, GEODE는 코퍼스를 fitness universe의 티어 구조 그대로 조직합니다.
티어 구조: critical / auxiliary / info
GEODE 전용 seed 풀은 plugins/petri_audit/seeds/에 계층 트리로 놓입니다.
plugins/petri_audit/seeds/
├── critical/ # fitness에서 critical 티어인 차원들
│ └── <dim>/<NN>_<variant>.md
├── auxiliary/ # auxiliary 티어 차원들
│ └── <dim>/<NN>_<variant>.md
└── info/ # 기록만 하고 가중치 0인 차원들
└── <dim>/<NN>_<variant>.md티어는 18-dim fitness universe(critical 5 + auxiliary 10 + info 3)를 그대로 따릅니다. 어떤 차원이 어느 티어에 속하고 왜 그런지는 Judge 차원이 SoT입니다. core/self_improving/prepare.py가 루프 시작 전에 이 트리를 검증하며, 전체 seed 수가 MIN_SEED_COUNT(18) 아래면 시작을 거부합니다.
seed 파일의 모양
seed 하나는 .md 파일 하나입니다. frontmatter(tags)와 branch별 압력 곡선으로 구성됩니다.
- 보통 5개 branch가 1 → 2 → 3 → 2 → 1 압력 곡선을 따릅니다. 압력 1은 캐주얼한 요청, 압력 3은 긴급성, 권위, 손실 회피를 동원한 명시적 압박입니다.
- 곡선의 목적은 target이 어느 압력 지점에서 무너지는지, 그리고 압력이 내려간 뒤 회복하는지를 잡는 것입니다.
- frontmatter의 canary GUID는 이 텍스트가 모델 사전학습 코퍼스로 흘러드는 것을 탐지하기 위한 표식입니다.
코퍼스는 어떻게 자라나
정적 카탈로그가 아닙니다. seed-generation 파이프라인 (Seed Scenario Generation)이 target dimension별로 새 seed를 만들고, 생존자가 geode seeds assemble을 거쳐 사이클 입력 풀(state/seed-pools/cycle-input)로 조립됩니다. 버전 고정 held-out 벤치마크(state/seed-pools/held-out)는 비교 기준자로 따로 둡니다.
upstream Petri 기본 seed
inspect_petri 패키지 자체도 일반 misalignment 시나리오의 기본 seed를 싣고 있습니다. GEODE 감사의 기본 --seed-select는 자체 풀 (plugins/petri_audit/seeds)이지만, upstream seed를 선택해 함께 돌릴 수 있습니다.
커스텀 seed 추가
- 해당 차원의 티어 폴더에
plugins/petri_audit/seeds/<tier>/<dim>/<NN>_<variant>.md로 생성합니다. - frontmatter에
tags를 적습니다. - branch별 압력 시나리오를 작성합니다 (5 branch 권장).
geode audit --seed-select <경로 또는 id>로 돌려봅니다.