코드와 실행 근거
2026-09-17에 고정한 세 commit을 읽었다. 공식 예제는 구현 근거이며, 원장과 아래 실행 결과는 글을 위해 작성한 합성 예제다. 공개한 결과 JSON은 선택한 입력과 판정을 정리한 기록이고 전체 replay 자료가 아니다.
Harbor: 파일에서 별도 verifier까지
글의 별도 verifier와 Compose 설정은 원장 예제의 설계다. 모든 Harbor task가 자동으로 같은 경계를 갖는다는 주장이 아니다.
Prime Verifiers v1: 버전, 생성, judge
고정 package의 v1 안내는 v0 API 제거를 명시한다. 검색되는 이전 SingleTurnEnv와 Rubric 문서를 이 snapshot의 실행법에 적용하지 않았다. 라이브 문서는 바뀔 수 있으므로 아래 고정 코드와 ZIP의 lockfile을 기준으로 한다.
- TaskData의 스키마
- Taskset의 load 계약
- vf-init의 비어 있는 메서드
- 모델 없는 validate 경로
- proposer가 problem과 answer를 요청하는 코드
- 새 task 데이터로 변환하고 score하는 코드
- judge의 기록 경계, 모델 호출과 verdict 해석
JSON과 정수 형식을 검사하는 코드는 수학적 정답의 독립 검증과 다르다. proposer와 judge는 코드로 읽은 공식 경로이며 이번 원장 실행에서는 호출하지 않았다.
입력 구분과 실행 권한은 다르다
Inspect의 TaskState.target 접근자는 Python solver에서 접근할 수 있다. 공식 최소 예제는 Sample, generate, exact를 잇는다. 글의 adapter는 별도 fixture와 custom scorer를 사용한다.
Verifiers의 prompt 선택과 null harness를 확인했다. answer를 prompt로 보내지 않는 구성은 TaskData를 다루는 코드의 접근 권한을 제거한 보안 sandbox가 아니다.
실행한 것과 실행하지 않은 것
| 기록 | 실행과 판정 | 한계 |
|---|---|---|
| Harbor 첫 task 두 번 | oracle reward 1, 의도한 오답 reward 0, 둘 다 exception 없음 | Compose none과 제한된 IPv4 probe, 전체 보안 감사 아님 |
| Prime 직접 score | 13종 대조군을 2회, 26개 기대 판정 일치 | 실제 모델이나 도구 호출 아님 |
| Prime 로컬 harness | 26개 loopback scripted 요청과 reward 연결 | subprocess는 OS 격리 아님, 실제 추론과 가격 미측정 |
| Inspect 기존 실행 | MockLLM 26개 기대 판정 일치, 주입한 전송 오류는 별도 sample error | 실제 모델 추론 아님, Python guard는 OS sandbox 아님 |
각 26회는 정답 4회와 의도한 0점 22회를 포함한다. 모델 성공률로 읽지 않는다. Harbor의 초기 native no-network 경로는 호스트의 CONFIG_NFT_FIB_INET 지원 문제로 거절됐고, 이후 Compose network_mode: none으로 이 예제를 실행했다. 초기 verifier가 loopback 장치만 있다고 가정해 실패한 이력도 있다. 최종 원장 결과가 이 초기 실패를 없애거나 native 경로의 동작을 입증하지 않는다.
실제 LLM agent, LLM judge, RL 학습, 일반적인 replay와 throughput은 측정하지 않았다. 실행법과 전체 코드 ZIP에서 재현 범위를 확인할 수 있다.