Why: LLM 시스템은 작은 프롬프트 변경 하나가 출력 품질을 침식시킬 수 있습니다. GEODE는 이를 막기 위해 두 종류의 ratchet을 씁니다. 둘 다 단방향 잠금장치입니다.
Ratchet이란
기계의 ratchet은 한 방향으로만 돌고 반대 방향으로는 잠깁니다. 소프트웨어에서는 품질 지표를 한 방향으로만 움직이게 하는 게이트를 의미합니다. 테스트 수가 줄면 빌드 fail, 프롬프트 해시가 바뀌면 빌드 fail 같은 식.
GEODE의 두 ratchet
| Ratchet | 잠그는 것 | 왜 |
|---|---|---|
| Prompt hash ratchet | 핵심 프롬프트의 해시 | 의도치 않은 프롬프트 변경 차단. 변경 시 명시적 재핀 commit 필요. |
| CI 5-stage ratchet | Lint, Type, Test, Security, Docs | 한 단계라도 실패하면 PR merge 금지. |
출처 인용
Andrej Karpathy의 autoresearch 프로젝트에서 정의된 ratchet discipline 패턴을 그대로 가져왔습니다. 자율 ML 실험 루프에서 모델이 자기 코드를 망가뜨리지 않도록 하는 핵심 메커니즘입니다.
왜 두 layer 모두 필요한가
출력 측 ratchet (프롬프트 해시)만 있으면 빌드 라인 측 회귀를 막을 수 없습니다. 빌드 측 ratchet (CI)만 있으면 LLM의 silent 회귀 (같은 코드 + 다른 프롬프트)를 막을 수 없습니다. 둘이 동시에 있어야 자기일치가 보장됩니다.
참조: skills/karpathy-patterns, wiki/concepts/geode-prompt-hashing.md