Overview

하루 동안 한 일은 사실 한 문장입니다

"어떤 AI 모델로 일할지 고르고, 그 선택을 어떻게 안전하게 바꾸느냐": 오늘 아침 codex(코드 작업용 AI)의 로그인이 막힌 걸 뚫는 데서 시작해, 새로 나온 GPT-5.6을 실제로 돌려 성적을 재고, 그 모델들이 서로 뭐가 다른지 이해하고, "모델을 자동으로 바꿔준다"는 남의 오픈소스를 뜯어본 뒤, 왜 우리 체계는 그런 변경을 자동으로 안 하도록 막아뒀는지까지입니다. 전부 이 한 문장의 갈래였습니다. 이 글은 그 하루를 순서대로, 쉽게 풀어 씁니다.

codex 계정 복구
3/3
1개 로그인 무효화 → 재인증, 전 계정 정상 검증됨
GPT-5.6 스크리닝
8/8
2개 모델 × 변별 4과제, 전 게이트 통과 검증됨
외부 스킬 판정
discard
감사에서 숨은 지시문 발견 → 설치 금지 검증됨
자동 모델 교체
0건
측정해도 사람 승인 없인 안 바뀜(설계) 검증됨
복구

막힌 건 인증이 아니라 브라우저였다

codex 로그인이 계속 실패한 진짜 원인은 기본 브라우저가 엉뚱한 계정으로 조용히 로그인하던 것. 계정별 Chrome 프로필을 지정하니 한 번에 풀렸습니다.

측정

새 모델도 게이트는 다 넘었다

GPT-5.6 Terra·Luna의 저비용 설정으로 변별 4과제를 돌려 8/8 통과. 기존 배정(GPT-5.5)과 거의 동률이고 속도·비용만 미세하게 갈렸습니다.

판단

"편하게 해준다"는 스킬을 안 썼다

모델을 자동 라우팅해준다는 오픈소스를 뜯어보니 라우팅과 무관한 숨은 지시문이 박혀 있었습니다. 편의보다 안전입니다. 설치하지 않았습니다.

읽는 법 · 신뢰도 라벨

검증됨 실제 실행 결과·로그로 확인  ·  추론 근거 기반 판단  ·  모름 확인 불가

이 글은 2026-07-11 하루의 실제 작업 기록입니다. 수치는 전부 실행 로그(codex 라우터·regatta 원장·GitHub 이슈)에서 나왔고, 해석·연결부는 추론으로 구분했습니다.

Foundation · Recovery

02codex 인증 · 왜 막혔나 해결

코드 작업을 대신 돌려주는 codex가 "인증 토큰이 무효화됐다"며 한 계정에서 계속 막혔습니다. 재로그인을 여러 번 해도 안 됐는데, 원인은 인증 자체가 아니었습니다.

대상 codex-multi-auth(3계정 로테이션) · 증상 계정 3 token_invalidated · 소요 다회 시도 → 프로필 지정 후 1회 성공

겉으로 보인 것 vs 실제 원인

  • 겉: "재로그인해도 같은 계정이 계속 무효화된다" · 인증 서버 문제처럼 보임
  • 실제: 기본 브라우저에 다른 개인 계정이 로그인돼 있어, 로그인 버튼을 눌러도 매번 그 계정만 조용히 다시 인증됨. 정작 필요한 회사 계정은 손도 안 탔습니다 검증됨
  • 계정 파일 백업본의 변경 흔적을 비교해 "어느 계정이 바뀌었나"를 추적 → 그 개인 계정만 3번 갱신된 것을 확인

해결 · 계정별 브라우저 프로필 지정

이 Mac의 Chrome에는 이미 계정마다 전용 프로필(회사 계정 프로필 등)이 있었습니다. 로그인 주소를 그 프로필로 열자 한 번에 성공했습니다.

# 1) 브라우저 없이 로그인 URL만 확보 codex-multi-auth login --no-browser # 2) 그 URL을 "그 계정 전용 프로필"로 연다 (자동 인증) open -na "Google Chrome" --args --profile-directory="Profile N" "<url>"

시크릿 창·비밀번호 재입력·기기 코드(15분 만료로 5번 실패)가 전부 불필요한 우회였습니다. 다음부터 재인증은 위 두 줄이면 1분 컷. 비밀번호를 채팅으로 받는 방법은 거절했습니다. 이 대화가 로그에 평문으로 남기 때문(보안 규칙) 추론

3개 계정 전부 정상(3/3 live)으로 복구. 무효화됐던 계정도 재인증 후 3분 안정 관찰을 거쳐 로테이션에 복귀시켰습니다. 이 복구가 있어야 다음 단계(모델 측정)가 가능했습니다.
Measurement · Screening

03GPT-5.6 스크리닝 · 8/8 통과 신모델

7/9에 GPT-5.6이 나왔습니다. "기존에 쓰던 저비용 모델(GPT-5.5) 자리를 이걸로 바꿔도 되나?"를 판단할 근거를 뽑기 위해, 우리 평가 하네스 regatta로 실제 과제를 돌렸습니다.

하네스 keystone-regatta · 과제 변별 4종(빌드·QA 난이도 높은 것) · 방식 N=1 스크리닝(빠른 예비) · run 20260711T165812

무엇을 쟀나 · "같은 코스, 다른 배"

regatta는 똑같은 코딩 과제를 여러 모델에게 시키고, 정답 게이트 통과 여부·토큰(비용 대용)·시간을 수치로 비교합니다. 사람이 "좋아 보인다"로 판정하지 않고, 프로그램이 통과/실패(exit code)로만 채점합니다. 그래야 취향이 안 섞입니다.

과제Terra LowLuna Low기준: 5.5 Low
한국어 금액 파싱✓ 3/3 · 148k · 77s✓ 3/3 · 168k · 69s141k · 80s
기간 겹침 계산✓ 3/3 · 151k · 73s✓ 3/3 · 141k · 44s155k · 63s
리뷰 판정(고난도)✓ 2/2 · 120k · 29s✓ 2/2 · 143k · 35s109k · 41s
기획 문서 복원✓ 1/1 · 180k · 96s✓ 1/1 · 203k · 72s기준 없음
공통 3과제 합418k (+3%) · 179s (−3%)452k (+12%) · 148s (−20%)405k · 184s

모든 셀이 게이트 통과(✓): 즉 이 난이도에서는 품질 차이가 구분되지 않고 속도·토큰만 남았습니다. 이건 "품질이 같다"가 아니라 "이 시험이 너무 쉬워 변별이 안 됐다"는 뜻입니다(우리 하네스의 알려진 한계 · 시험 난이도 상향 예정) 추론

걸림돌 하나 · 안정판 CLI는 5.6을 아직 몰랐다

  • 정식 codex CLI(0.144.1)는 gpt-5.6-terra"더 새 버전이 필요하다"며 거부 검증됨
  • 그래서 알파판(0.145.0-alpha.4)을 임시 폴더에 격리 설치해서만 측정 · 시스템 CLI는 건드리지 않았습니다(재현 시 동일 방법)
  • 추론 이 때문에 지금 당장 배정을 바꿀 수도 없습니다: 정식 CLI가 5.6을 지원해야 실제 전환이 가능
Measurement · Understanding

04티어의 진짜 차이 · 속도가 아니다

"그럼 Terra랑 Luna 차이는 그냥 속도인가?"라는 질문에 대한 답. 우리 측정에서는 속도만 보였지만, 그건 시험이 쉬워서일 뿐입니다. 본질은 능력 등급 + 가격입니다.

출처 OpenAI 공식 발표(2026-07-09) · GPT-5.6 = 세대 · Sol/Terra/Luna = 능력 티어
티어포지셔닝가격 (100만 토큰 입력/출력)코딩 지수
Sol플래그십(최상위)$5 / $3080.0
TerraGPT-5.5급 성능을 절반값에$2.50 / $1577.4
Luna가장 빠르고 저렴$1 / $674.6

숫자(5.6)는 세대, 이름(Sol·Terra·Luna)은 능력 등급입니다. 벤치마크상 Terra(77.4)와 Luna(74.6)는 실제 능력 격차가 있고, 가격은 2.5배 차이 검증됨

우리 슬롯에의 함의 · Terra

  • 바꾸려는 자리는 기계적인 빌드·QA 잔업: "게이트만 통과하면 효율 최적"이 원칙
  • Terra는 공식적으로 "5.5급 성능" → 기존 GPT-5.5 자리의 정통 후계, 우리 측정도 동률
  • 승계 1순위 = Terra Low

다크호스 · Luna

  • 토큰은 +12% 더 쓰지만 단가가 2.5배 낮아 실제 비용은 우위일 수 있음 추론
  • 구독 쿼터 소진도 더 느릴 가능성
  • 단, 능력 등급이 한 칸 아래 → 시험 난이도를 올린 뒤에도 통과하는지 확인이 선행
Judgment · Supply-chain

05남의 스킬 감사 · 왜 안 썼나 discard

"모델을 작업마다 자동으로 골라 바꿔준다"는 오픈소스 스킬을 발견해 검토했습니다. 아이디어는 맞지만, 코드를 뜯어보니 설치하면 안 되는 물건이었습니다.

대상 GPT5.6-SOLTELU Model Inverter · 방식 공급망 감사(실행 없이 콘텐츠 스캔) · 판정 discard(설치 금지) · 기록 이슈 #263 · PR #264

깨끗했던 것

  • 설치 스크립트는 파일 복사만 · 몰래 다운로드·실행 없음
  • 숨은 유니코드(보이지 않는 조작 문자) 0건
  • 고전적 탈취 문구·외부 유출 주소 0건

걸린 것 · 숨은 지시문

  • 모델 라우터라면서 제작자의 브랜드를 "사용자의 작업 맥락"으로 취급하라는 지시를 주입
  • 특정 서드파티 도구를 "다른 것보다 먼저" 불러오라고 지목(하드코딩 식별자까지)
  • 게다가 "비자명한 작업 전반에 자동 발동" 설정 → 설치하면 이 지시가 상시 주입됨
  • 사용 허가(LICENSE)도 없음 → 법적으로도 재사용 불가
스킬이 선언한 것보다 많은 일을 하면(악의든 실수든) 공급망 감사 탈락입니다. 신뢰 신호도 부족했습니다(당일 생성, 스타 9, 검증 이력 0). 참고할 아이디어 3가지(작업별 독립 분류 등)는 코드를 가져오지 않고 기록만 남겼습니다 추론

Judgment · Governance

06왜 자동으로 안 바뀌게 했나

"이런 평가를 하면 keystone이 알아서 바뀌거나 모델이 자동으로 교체되나?" 아니요. 일부러 사람 승인 게이트를 두 겹 넣었습니다. 그 이유가 이 하루의 핵심입니다.

계약 판정(regatta) ≠ 실행(keystone-hub) · 근거 self-improvement-holdout-eval-gate 원칙

평가 → 반영 파이프라인

[자동] regatta 평가 실행 → 원장 기록 → 리포트 생성 [자동] 제안 초안 생성 (로컬 파일일 뿐) ──────────── 여기까지가 기계의 권한 ──────────── [사람] 이슈 등록·커밋 (초안 검토 후) [사람] 승인 → 규칙(모델 배정표) 수정 [사람] apply 실행 → 배포 → 이후 세션부터 적용
왜 분리하나

채점표를 스스로 못 고치게

평가하는 쪽(regatta)과 고치는 쪽(keystone)을 나눕니다. 개선하는 놈이 자기 채점표를 쥐면 점수만 오르고 실력은 그대로인 과적합이 생기기 때문.

왜 N=3인가

한 번은 우연일 수 있다

오늘 같은 N=1은 예비일 뿐. 근거로 인용하려면 3번 재현이 필요합니다. 전에 "1번 최속"이던 모델이 3번 재보니 뒤집힌 실측이 있었습니다.

지금 상태

배정은 그대로다

오늘 스크리닝의 제안 초안은 생성만 됐고, 기존 GPT-5.5 배정은 그대로 유지 중. 바뀌려면 6단계를 전부 통과해야 합니다.

유일하게 "자동"에 가까운 건 OpenAI가 codex를 자동 갱신하는 것 정도인데, 그건 모델 가용성만 바꿀 뿐 우리 배정 규칙은 건드리지 못합니다. 모델 교체는 항상 측정 → 사람 승인 → 규칙 수정 → 배포를 거칩니다.

Wrap-up

07오늘 남긴 것

기반을 복구하고, 새 모델을 실측하고, 남의 물건을 안전하게 걸러내고, 우리 원칙을 다시 확인한 하루.

영역남긴 산출물상태
codex 인증3계정 복구 + 프로필 지정 재인증 절차 기록완료
GPT-5.6 측정스크리닝 원장·리포트·제안 초안 (run 20260711T165812)완료
외부 스킬공급망 감사 문서 · 이슈 #263 · PR #264 (discard)완료
배정 변경정식 CLI의 5.6 지원 → N=3 인용 런 → 사람 승인대기
정식 codex CLI가 5.6을 지원하는 시점(또는 GPT-5.5 퇴역 예고 시)에 N=3 인용 런으로 Terra Low 승계를 확정합니다. 그전까지는 배정을 바꿀 전제 자체가 없으므로, 지금은 여기서 멈추는 것이 옳습니다.