본문으로 이동
문서 탐색Terminal-Bench 2.1
벤치마크레퍼런스

Terminal-Bench 2.1

GPT-5.6 Sol·max effort로 GEODE와 native Codex를 Harbor에서 비교한 실험입니다. 공통 실행 결과, 인프라 제외, 불확실성을 함께 읽습니다.

같은 모델과 추론 강도를 쓰더라도, 실행을 맡는 런타임이 달라지면 실제 작업 완수율은 어떻게 달라질까요?

이 페이지의 중심은 GPT-5.6 Sol / max effort를 사용한 GEODE와 native Codex의 Harbor 짝 비교입니다. 두 실행군을 같은 작업·반복 번호로 맞춰 비교하며, 모델 세대의 우열이나 공식 리더보드 순위를 평가하지 않습니다.

실험 설계: 공유 조건과 런타임의 차이

두 실행군이 공유하는 조건
모델 / 추론
gpt-5.6-sol / max
접근 경로
OpenAI subscription
실행·채점
Harbor 0.22.0 / task 소유 verifier
동결 범위
89 개 작업 × 5 회 반복 / 실행군

GEODE

측정 당시 revision b549f3e의 thin AgenticLoop adapter입니다. custom system_prompt_override와 terminal_exec만 노출한 도구 표면을 사용했습니다. 현재 native/full-runtime 구성의 측정은 별도 실험입니다.

native Codex

native Codex CLI 0.145.0. Codex 고유의 실행 루프와 도구 경로를 대조군으로 둡니다.

각 실행 결과를 task × repetition으로 결합 양쪽이 모두 유효한 셀만 비교하고, 성공 여부는 task verifier가 판정합니다.
실제 순서는 배치마다 GEODE 다음 native Codex입니다. 두 런타임을 동시에 시작한 실험이 아닙니다. 실행군 내부 concurrency는 8,192 MiB 작업에서 1, 나머지에서 2로 고정했습니다. 반복 측정은 best-of-5 선택이 아닙니다.

Terminal-Bench 2.1은 격리된 컨테이너에서 실제 terminal 작업을 풀고 외부 verifier로 최종 상태를 검사하는 벤치마크입니다. 비교 대상은 위 두 하네스 구성입니다. prompt, 도구 인터페이스, 컨텍스트 관리의 개별 기여를 분리한 ablation은 아닙니다. 동결된 실행 계약

여기서 verifier는 과제가 소유한 테스트로 실행 후 상태를 검사합니다. GEODE의 턴 수락이나 Petri의 LLM-as-a-judge 점수가 아닙니다. 기록 무결성도 과제 성공과는 별개입니다. 검증과 평가의 역할 구분

공통 유효 셀에서 관측한 성공률

두 런타임에서 모두 유효한 429개 task–repetition 쌍만 비교했습니다. 아래 값은 전체 동결 지표가 아닌 후속 짝 비교 진단입니다.

성공 수 / 공통 유효 실행 수. 막대는 같은 0–100% 축을 사용합니다.
런타임성공 / 유효성공률
GEODE339 / 42979.02%
native Codex331 / 42977.16%

결론은 미확정입니다. 관측한 차이는 작고 불확실성 구간이 0을 포함합니다. 이 결과만으로 GEODE의 성능 우위를 입증할 수 없습니다. 분석 원본

분모: 실행환경 문제를 어떻게 제외했나

  1. 445 실행군별 동결 계획 89 × 5
  2. 435 환경 미지원 작업 제외 10 / 2 개 작업 × 반복
  3. 429 양쪽 공통 유효 셀 6 개 인프라 무효 쌍

bn-fit-modify / tune-mjcf는 arm64 호스트에서 amd64 verifier를 실행할 수 없어 양쪽에서 대칭 제외했습니다. 남은 native Codex의 인프라 무효 실행은 대응하는 GEODE 결과도 함께 제외했습니다. 좋은 결과만 남기거나 각 런타임에 서로 다른 분모를 쓰지 않습니다.

정상 실행 뒤 작업에 실패한 경우는 분모에 남고 reward 0입니다. 인프라 무효는 모델 실패의 0점으로 바꾸지 않습니다. 다만 제외 후 429회 결과를 사전 등록한 445회 지표로 바꿔 부를 수도 없습니다. 전체 primary는 not-measurable 상태를 유지합니다. 셀 선택·제외 원본

불확실성: 반복 실행을 독립 작업처럼 세지 않습니다

+1.26 %p 작업별 동일 가중치 평균 차이: GEODE − native Codex
작업 단위 bootstrap 95% 구간+1.26 pp; 95% interval -5.40 to +8.05 pp. 0을 포함합니다.-10-50+5+10
단위: %p. 점은 작업별 동일 가중치 추정값, 선은 -5.40~+8.05의 95% task-cluster bootstrap 구간입니다. 87개 작업을 단위로 반복 측정의 묶음을 유지합니다.

위 성공률을 단순히 뺀 pooled 차이는 +1.86%p입니다. 작업별 유효 반복 수가 같지 않아, 각 작업에 같은 가중치를 준 +1.26%p와 다릅니다. 5회 반복은 같은 정책의 변동성을 측정합니다. 한 번이라도 성공했는지를 세는 pass@5나 최상위 답을 고르는 best-of-5가 아닙니다. 통계 산식·출처

Sol 비교 실행을 다시 읽는 Replay

아래 기록은 Astra smoke와 별개인 2026-08-27~09-02 UTC의 Sol/max 비교 실행입니다. GEODE revision b549f3e의 OpenAI subscription 경로와 native Codex를 Harbor 0.22.0에서 실행했습니다. 동결 full-suite primary는 측정 불가이며, 공식 leaderboard 결과가 아닙니다.

Pair 001~445는 89 tasks × 5 repetitions입니다. 각 쌍의 왼쪽은 GEODE, 오른쪽은 Codex이며, task·반복·arm 하나가 cell입니다. 재생하면 새 tool event가 아래에 나타나고 이전 기록은 위로 올라갑니다. 상단의 arm 정보는 고정됩니다.

445쌍 Replay 열기

관찰 범위GEODECodex합계
ATIF-derived tool events407428835
Receipt only28735
실행 전 제외101020
계획된 cells445445890

16,244개 tool 호출의 순서를 재구성했습니다. 공개판은 tool·프로그램 종류, payload 크기, 해시와 시각만 표시합니다. command/output 본문, 모델 메시지와 provider reasoning은 공개하지 않습니다. 원본 UTC를 보존하고 KST로 표시하며, 5 events/s는 편집 속도입니다. 좌우는 tool-event 순서로 정렬했으며 실제 동시 실행이나 wall-time 정렬이 아닙니다.

35개 receipt-only cell에는 terminal 내용을 만들어 넣지 않았습니다. bn-fit-modify와 tune-mjcf의 20개 cell은 arm64 호스트에서 amd64 oracle/verifier가 정상 완료되지 않아 모델 호출 전에 대칭 제외했습니다. 별도로 미해소 native 인프라 무효가 6개 남았습니다. 공통 유효 429쌍의 secondary 결과는 GEODE 339/429, Codex 331/429이며, 이를 전체 suite 우위로 일반화하지 않습니다.

화면의 raw verifier와 selected reward는 구분해서 읽어야 합니다. 동결 규칙상 canonical timeout과 safety refusal은 selected zero이며, raw verifier가 1인 18개 cell도 여기에 포함됩니다. 점수의 근거는 Harbor result/verifier와 frozen attempt ledger·analysis입니다. 이 화면은 원본 PTY나 새로운 점수 판정기가 아닙니다.

Replay source · coverage · SHA-256 receipts · Frozen run · attempts · analysis

보존된 원본에서 복구한 실행 지표

호출별 usage를 GEODE 401셀·4,709건, Codex 418셀·12,214건에서 복구하고 Harbor trial 합계와 대조했습니다. GEODE cache 필드 648건은 미기록 상태인 null로 보존합니다. Cached input은 input에 포함되며, 확인된 부분합을 전체 cache 값으로 표시하지 않습니다. Usage event는 ATIF tool step과 다른 단위이므로 재생 위치와 연동하지 않습니다.

Replay의 지표 항목을 펼치면 호출별 input·output·cache, environment setup·agent setup·execution·verifier 경과 시간, 완료된 shell command의 exit code 집계를 볼 수 있습니다. Nonzero exit는 tool 오류율이 아닙니다. 실제 CPU 사용률·peak RAM·subscription 청구액은 미계측이며, producer 비용 추정치는 청구액과 구분합니다. 원본 점수와 제외 규칙은 바뀌지 않았습니다.

Recovered observability · method · source hashes

Next.js·React·TypeScript 페이지에서 재생합니다. Pinned commit의 metadata JSON을 SHA-256으로 검증한 뒤 표시하며, 검증 실패 시 재생을 차단합니다. 외부 HTML이나 스크립트를 실행하지 않습니다. 기존 .html 주소는 새 경로로 연결됩니다. Private viewer는 공개하지 않습니다.

후속 개발 검증: 내부 수락과 실제 정답의 간극

첫 G-code 후보에서는 내부 judge가 5회를 모두 수락했지만, 공식 task verifier를 통과한 실행은 2회였습니다. 파일을 쓰고 다시 읽었다는 사실은 저장 성공만 확인할 뿐, 해석한 내용이 정답이라는 근거가 되지 못했습니다. 이 불일치를 출발점으로 검증 입력과 실행 경로를 고쳤습니다.

짧은 답이나 복구한 tool 오류를 이유로 후보를 탈락시키던 의미 판정 규칙을 제거했습니다. Reflexion judge에는 관측 근거를 먼저, 후보의 주장을 마지막에 전달하고, 이미 관찰한 이미지가 일반 tool 기록에 밀려나지 않도록 했습니다. 위임 모델의 잘못된 기본값도 고쳤습니다. 검증 호출 실패는 성공으로 대체하지 않으며, 수정 작업은 최초 실행 예산을 공유합니다.

후보별 실행 이력. 이전 후보의 성공을 새 후보에 합산하지 않았습니다.
소스 revision공식 verifier 결과판정
d1e74200, 0, 0, 1, 12/5. 내부 judge의 오수락 3건을 확인했습니다.
c863c711, 0사전 등록한 첫 실패 중단 규칙을 적용했습니다. 나머지 3회는 미실행입니다.
815f7591, 1, 1, 1, 1신규 5/5, 무효 0건. 개발 통과 조건을 충족했습니다.

마지막 5회는 2026-09-13 10:05부터 10:49 UTC까지(19:05부터 19:49 KST까지) 실행했습니다. OpenAI subscription gpt-5.6-sol, actor effort max, Harbor 0.22.0의 full-runtime adapter, agent 한도 900초, 동시성 1, 자동 재시도 0을 고정했습니다. 공식 gcode-to-text 이미지와 verifier는 변경하지 않았습니다.

관측한 AgenticLoop 호출 87건에는 input 2,264,797, output 58,579, cached-input 946,432 토큰이 기록됐고, 이 세 필드의 누락은 0건입니다. 실제 요청에 이미지를 담았는지도 별도 receipt로 확인했습니다. 이는 기록된 호출 범위의 관측이며, 보조 LLM 호출을 포함한 전체 런타임 비용이나 구독 청구액은 아닙니다.

5/5는 개발 조건의 충족이지, repair 효과의 입증은 아닙니다. 5회 모두 내부 judge가 첫 후보를 수락해 실제 repair는 발생하지 않았습니다. 후보 선정에 사용한 한 과제이며, 새 baseline·native Codex 대조군이나 held-out 평가는 실행하지 않았습니다. 위 full-suite 결과와 제외 규칙, 기존 원본 Replay는 바뀌지 않았습니다.

소스·원본 보존·공개 범위

terminalbench21-sol-max-reflexion-ratchet-r3-20260913의 run-spec, attempts, native result, trajectory, verifier receipt, analysis와 녹화는 로컬 private 원본으로 보존했습니다. 이번 5회의 공개 artifact 패키지는 아직 게시하지 않았습니다. 아래 진행 현황은 로컬 갱신 영상과 YouTube 비공개 업로드를 별도로 기록합니다.

중간 후보 c863c71은 감사 중 SQLite SHM 해시가 바뀌어 canonical closure가 보류됐습니다. 해당 admission을 새 해시로 덮어쓰지 않았으며, 별도로 검증을 통과한 마지막 5회와 섞지 않았습니다.

실험 기록·한계·SHA-256 · 구현과 CI: PR #3315

2026-09-15 진행 현황과 프로젝트 사용량

전체 비교의 결론, 후속 개발 검증, 영상의 공개 상태는 서로 다릅니다. 아래는 2026-09-15 00:40 KST(2026-09-14 15:40 UTC)까지 확인한 기록입니다.

범위확인한 결과와 남은 조건
기존 전체 비교실행은 종료됐습니다. 공통 유효 429쌍은 GEODE 339건·Codex 331건 통과이며, 동결 전체 primary는 여전히 측정 불성립입니다. 공개 artifact 최신 commit은 d277607입니다.
G-code 개발 검증별도 후보의 신규 5/5를 검증했습니다. 후보 선정에 사용한 한 과제이며, 새 Codex 대조군이나 전체 suite 개선 결과는 아닙니다.
최신 관측 smokemodernize-scientific-stack은 600초 한도에서 timeout으로 selected 0/1입니다. 기록된 호출 31건의 requested effort는 모두 max이고, 30건에 usage가 있습니다. 관측 검사는 통과했지만 취소된 1건의 usage는 null이며, cache 완전성과 확장 gate는 통과하지 못했습니다.
Beyond Pass Rates · v38한국어·영어·기존 Replay·별도 후속 5회 Replay를 합친 62분 25초 영상입니다. 원본 Replay를 보존했습니다. 00:31 KST readback에서 YouTube 비공개 업로드와 HD 처리는 완료됐고, 공개 게시와 저작권 검사 완료는 확인되지 않았습니다.

후속 재실행은 과거에 없던 행동을 복원한 것이 아닙니다. 새 실행의 trace를 별도로 보존했으며, 기존 결과와 누락 기록을 덮어쓰지 않았습니다. 공개 Replay의 890셀은 ATIF-derived 835셀·receipt-only 35셀·미실행 20셀로 유지됩니다. 281-cell 재측정 계획을 완료했다고 주장하지 않습니다.

제작·운영까지 포함하면 약 51.11억 토큰

이 집계는 벤치 점수나 GEODE 런타임의 비용 지표가 아니라 프로젝트 운영 기록입니다. 본 제작 대화와 연결된 서브에이전트 34개, 벤치 원본의 재시도와 후속 진단을 포함합니다. 선택된 성공 실행만 세지 않았습니다.

입력과 출력의 합계. cached input과 reasoning output은 각각 포함 관계이며 다시 더하지 않습니다.
집계 범위InputOutput합계
연구·코드·영상 제작·운영 대화4,216,518,4798,483,9184,225,002,397
전체 벤치 측정: 재시도 포함775,760,44810,083,384785,843,832
사전 비교 측정91,780,9671,328,69893,109,665
G-code 후보·관측 smoke·canary7,022,880178,4587,201,338
기록에서 재구성한 합계5,091,082,77420,074,4585,111,157,232

입력의 최소 96.6%(4,918,372,608 토큰)는 cached input으로 관측됐습니다. 출력은 20,074,458 토큰입니다. 약 51.11억은 고유 문서의 길이나 새로 생성한 텍스트 분량이 아니라, 문맥을 반복해서 입력한 요청별 사용량입니다. 제작·연구·운영 대화가 총량의 82.7%를 차지하지만, 이를 영상 렌더링만의 비용으로 해석하지 않습니다.

실제 결제 총액은 확인하지 않았습니다. 현재 API Standard·short-context 단가를 기록된 사용량에 일괄 적용하면 약 $4,404부터 $4,436까지입니다. 이는 참고 환산액이며, 구독료·크레딧 구매액이나 요청별 실제 API 청구액이 아닙니다. Long-context·Fast 요율, 외부 도구·AWS·세금·누락된 호출은 반영하지 않았습니다. API 단가 · 구독과 과금 경로

집계 방식·누락·원본 해시

최신 관측 smoke: terminalbench21-sol-max-uniform-observation-smoke-20260914t105552z
실행 소스: 7c0e927da566866658be6f0771c4ae8dd9743960. 아래 analysis와 observation check는 로컬 원본의 해시입니다.

Codex 누적 카운터는 중복 snapshot을 제외하고 초기화 구간별로 합산했습니다. 본 대화의 초기화 17회와 하위 작업 1회의 초기화를 반영했고, 상속된 세션 기록은 대상 thread ID로 구분했습니다. 벤치는 trial UUID로 중복을 제거하고 job 합계와 공개 복사본을 다시 더하지 않았습니다. GEODE 세션 usage와 native event는 cache 복구·대조에만 사용했습니다.

과거 전체·사전 측정·timeout gate의 1,064개 result 위치 중 940개에 수치 usage가 있고, 124개는 누락되거나 읽을 수 없습니다. G-code 보조 호출과 취소된 호출의 일부 사용량, 별도 분기한 peer 작업, 원격·과거 계정의 미보존 기록도 완전하게 포함하지 못했습니다. 따라서 합계는 확인한 범위의 재구성값입니다. Cache 96.6%도 관측된 입력을 분모로 한 하한이며, 전체 계정의 cache hit rate가 아닙니다.

환산식은 ((input − cached input) × input 단가 + cached input × cache 단가 + output × output 단가) / 1,000,000입니다. Sol은 $4/$0.40/$20, Astra는 $10/$1/$50을 적용했습니다. 범위는 미기록 cache의 가능한 값만 반영하며, 전체 비용의 불확실성 구간은 아닙니다.

재집계 스크립트·결과와 제작 로그는 로컬 private 근거입니다. 공개하지 않은 원본을 이 문서만으로 독립 검증할 수 있다고 주장하지 않습니다. 아래 SHA-256은 이번 확인에 사용한 바이트를 식별합니다. 계정 식별자·본문·provider reasoning·로컬 경로는 옮기지 않았습니다.

로컬 근거SHA-256
G-code R3 · analysisc23045215e093e02b09f8843bad71374f25f4e64b6e073ebd93276a917bba48c
최신 관측 smoke · analysis6fc9820bb30aa9d374714a54d2a5bec2e6048ce938ae8ba1f58912b44fee4dc1
최신 관측 smoke · observation check87990c7d16cec80b9cd42164ecd004c4950a55221c4d1907f68c0b52d4c0f17c
프로젝트 집계 보고서9346b4279f71627c780155bfd03d2234413ca1a8043aca7034c1ce1f9ebaf795
Codex 재집계 스크립트6c34ffc72e2fc95fab54a748bee5815814c95e84c5376e9143a7f92ff890fed9
Codex 재집계 결과17962bf7bb8dfe6029581ad61c023e74e379cd7e1cdbeb285c3901fa25f4a80d
Beyond Pass Rates · v38 MP43dfb301a8a3ca0705294ebe3459e74e570fa12ea7409d7a9680059f1f408defb

Public historical observability · not project-wide billing

다음 실험: 점수 확대보다 비교 가능성 복구

캐시·토큰·비용을 읽을 때의 주의점

기존 GEODE Harbor 변환부에서 캐시 필드 이름이 맞지 않아, 런타임에 기록된 cache_read_tokens가 결과와 ATIF 출력에서 0으로 표시될 수 있었습니다. 따라서 과거 출력의 캐시 0만으로 캐시가 사용되지 않았다고 판단하지 않습니다. 세션별 원장과 대조한 별도 보정 자료가 필요합니다. 위 replay의 복구 자료는 이 방식으로 공개됐으며, 원본 결과와 성공률은 바꾸지 않습니다.

시간 초과로 최종 usage가 없으면 미수집 상태입니다. 완료된 호출에서 복구한 토큰은 관측 하한일 뿐, 실행 전체의 합계가 아닙니다. 입력·캐시 읽기·캐시 쓰기·출력을 같은 계측 범위에서 비교하고, 토큰 단가로 계산한 비용 추정치를 구독 계정의 실제 청구액으로 해석하지 않습니다.

여러 날에 걸친 구독 경로 실행은 시점, 공급자 용량, 인증 계정의 영향을 런타임 효과와 완전히 분리하지 못합니다. 같은 경로라고 해서 전 기간에 같은 인증 계정을 썼다는 뜻은 아닙니다. Harbor 0.22.0은 공통 seed 제어도 제공하지 않았습니다. 아래는 후속 실험 설계이며 이번 결과에 추가된 측정이 아닙니다.

질문다음 개입필요한 증거
전체 분모를 회복할 수 있나?verifier와 맞는 실행 아키텍처, 두 실행군의 인증·설치 사전 점검새 동결 계약, no-model oracle, 양쪽 유효 smoke 후 전체 실행
차이를 만든 런타임 요소는 무엇인가?모델·도구·예산을 고정하고 한 정책만 바꾸는 paired ablationtask별 결과와 행동·종료·실패 경로의 결속, 별도 held-out 검증
품질과 실행 비용을 함께 개선했나?계정·시점·concurrency를 명시한 반복 블록 설계동일한 비용·시간 계측 범위와 작업 단위 불확실성 보고

공식 제출의 고정 계약은 89개 작업 × k≥5, 오류 실행의 0점 유지, canonical 환경·한도와 maintainer review를 요구합니다. 로컬 진단용 인프라 제외 규칙을 공식 점수에 적용하지 않습니다. 이 자료는 공식 제출·순위·제품 승격 권한을 갖지 않습니다.

원자료·통계·공개 근거 확인

공개 스냅샷: c52872aacd20a4b9f14be18d64acce3e9ed99070
Run: terminalbench21-sol-max-fullsuite-paired-20260827t190300z

측정한 GEODE revision: b549f3e448f06c75db45df6082013dc21a611dec
Dataset: terminal-bench/terminal-bench-2-1@6
sha256:7d7bdc1cbedad549fc1140404bd4dc45e5fd0ea7c4186773687d177ad3a0699a

이 페이지와 영상은 읽기용 파생 뷰입니다. 성공 여부는 Harbor 결과와 task verifier가, 셀 선택과 해석은 결속된 분석 자료가 소유합니다. 영상 재생만으로 점수를 검증했다고 주장하지 않습니다.

자료역할 / SHA-256
run-spec.json질문·고정 조건·제외 규칙 46685f7ebcdc515c4cc71185ab49c3fa2326873b0aee003587e602da4f1d22e7
native-results.json공통 셀·성공 수·측정 유효성 00d3b61303127f48aec4cc694281ff42a49a8ffa9d023fc429ce362fe3233fa4
analysis.json사전 등록 지표의 상태와 결론 c32619e98bb3a4056a1c34e30f8d0be68137f2db5d68884f060c29fc8a1278ab
figures-v6/provenance.json작업별 가중치·bootstrap 산식 f6eb9b4d8dba934a2fdd40d8d80de83fe2aed455053d69d2527e92971ca3163b
증거 영상 (한국어/영어)실행 절차를 설명하는 파생 자료; 채점 근거 아님 27ae8a4e9825449757c4fa9f5927c06491bf3979ae9966fb3cc7b160d47eba10
별도 기록: GPT-6 Astra 단일 작업 smoke

gpt-6-astra / high, GEODE 1.0.27, Harbor 0.22.0: openssl-selfsigned-cert. 1/1회 성공, verifier 6/6개 통과, retry 0회·fallback 0회입니다. 이 계정에서 실제 작업을 끝낸 경로 증거이며, 위 Sol/max 비교에 합산하지 않습니다.

공개 trace는 scope-complete지만 9개 payload 본문이 생략되어 replay-incomplete입니다. 전체 suite 성능이나 일반 계정 접근성을 입증하지 않습니다.

Astra smoke 분석 / task verifier 결과