Codex가 백엔드 세션에도 폰트 규칙으로 ~1.5K 토큰 소모

Codex gpt-5.5는 콜드 스타트에 ~15K 토큰을 쓰며, 그중 ~1.5K는 프론트엔드 규칙입니다. 제거를 요청한 이슈 #19720은 이제 종료됐습니다.

Codex가 백엔드 세션에도 폰트 규칙으로 ~1.5K 토큰 소모
Share

아무것도 설정하지 않은 새 Codex 세션을 열어도, 플러그인도 스킬도 없고 메모리도 꺼져 있어도, 사용자가 한 글자 입력하기 전에 이미 약 15,000개의 입력 토큰이 쓰입니다. 한 공개 GitHub 이슈는 그중 약 10분의 1이 대부분의 백엔드 개발자가 전혀 쓰지 않는 프런트엔드 디자인 규칙에 들어간다고 지적합니다.

이슈 #19720의 핵심: Codex에 미리 실리는 과도한 프런트엔드 지침

Codex 이슈 #19720은 OpenAI의 gpt-5.5 기본 시스템 프롬프트가 비프런트엔드 작업에도 상속되지만 실제로는 쓰이지 않는 프런트엔드/UI 디자인 지침에 약 ~1.5K 토큰을 쓴다는 공식 제기된 불만입니다. 이 이슈는 Business 구독 환경의 macOS에서 Codex App 버전 26.422.30944를 사용하던 @whoschek이 openai/codex 저장소에 대해 2026년 4월 26일 열었고, app, context, enhancement, model-behavior 라벨이 붙었습니다 . 다만 전제에 대한 한 가지 정정이 필요합니다. 이 이슈는 현재 닫힌 상태이며, 해당 블록을 제거하거나 조건부로 적용하겠다는 유지관리자의 스레드 내 약속은 없습니다 .

제보자의 측정에 따르면 MCP 서버 0개, 스킬 0개, 한 줄짜리 AGENTS.md만 있는 빈 스레드도 시작 시 대략 ~15K 입력 토큰을 로드하며, 그중 ~1.5K가 미적 디자인 블록에 해당한다고 합니다. 문제 제기의 요지는 이것이 “체계적인 컨텍스트 오염”이라는 것입니다. 백엔드, 인프라, 데이터, 리서치 세션이 호출하지도 않는 UI 규칙 비용을 부담한다는 주장입니다.

해당 블록의 실제 내용은 픽셀 계산이라기보다 디자인 취향에 가깝습니다. OpenAI의 자체 프롬프팅 자료는 모델에게 “avoid collapsing into 'AI slop' or safe, average-looking layouts”라고 지시하고, “expressive, purposeful fonts”(Inter, Roboto, Arial 또는 시스템 스택이 아닌 글꼴)를 쓰며, CSS 변수를 정의하고, 보라색-흰색 기본 조합을 피하고, “a few meaningful animations (page-load, staggered reveals)”를 추가하라고 말합니다 .

"Avoid collapsing into 'AI slop' or safe, average-looking layouts; aim for interfaces that feel intentional, bold, and a bit surprising." — OpenAI Codex 프롬프팅 지침 (source: learn.chatgpt.com)

핵심 증거는 공식 공개본이 아니라 제3자 유출 자료입니다. asgeirtj/system_prompts_leaks 저장소는 Codex gpt-5.5 파일을 373줄, 30.9KB로 표시하며, “Frontend guidance” 섹션은 262행 근처에서 시작합니다 . 현재 main 브랜치의 공식 default.md는 275줄, 20.4KB이며, 이런 섹션을 포함하지 않습니다. 따라서 출처와 현재 적용 여부는 여전히 불확실합니다 . 이 점검은 한 개발자의 YouTube walkthrough에서 출발했지만, 문서로 확인 가능한 흔적은 저장소에 남아 있습니다.

진행하기 전에: 미리 로드되는 토큰 규모부터 확인하기

Screenshot of https://github.com/asgeirtj/system_prompts_leaks/blob/86a95b27da09282888cd9ccb7779cbd15c455658/OpenAI/codex/gpt-5.5.md

완화책을 적용하기 전에, 본인 설정이 실제로 무엇을 얼마나 로드하는지 먼저 측정해야 합니다. 수치는 CLI, 확장, 모델, 활성화된 기능에 따라 크게 달라집니다. 가장 명확한 breakdown은 이슈 #19212에 있습니다. VS Code/Cursor 확장 v26.417.40842에서 ‘what is 2+2’ 쿼리를 보냈을 때 Codex가 직접 항목별 추정을 반환했습니다 :

  • 시스템 지침: 2K–4K
  • 브라우징/소스 처리 정책: 3K–5K
  • 개발자 코딩 지침: 3K–5K
  • 도구 스키마: 2K–4K
  • AGENTS.md + 환경 컨텍스트: 0.5K–1K
  • 사용자 메시지: 100토큰 미만

새 스레드의 총량은 같은 결론으로 모입니다. 실제 작업 전에도 큰 숨은 페이로드가 있다는 점입니다. 다만 규모는 설정에 전적으로 좌우됩니다:

이슈설정보고된 새 스레드 토큰
#19720최소 구성(MCP/스킬/플러그인 없음)~15K
#18498일반 / 대부분 제거 / 기능 끔~21K–24K / ~10.9K / ~6.9K
#18526codex-cli 0.121.0, gpt-5.4 xhigh~102K–105K

그다음 ~/.codex/config.toml을 확인하세요. model_instructions_file이 설정되어 있지 않으면 Codex 에이전트 루프는 CLI 바이너리에 번들된 모델별 base_instructions를 읽습니다 . 프런트엔드 블록이 아직 배포 중이라면 위치는 그 안입니다. GitHub main에서 보이는 default.md가 아닙니다.

프런트엔드 가이드 비대화를 줄이는 데 쓸 수 있는 방법

Before Proceeding: Inspect the Preload Footprint

프런트엔드 블록을 이름으로 지정해 삭제할 수는 없지만, 이를 줄이거나 대체하는 네 가지 방법은 있습니다. 여기서는 위험도가 낮은 순서에서 높은 순서로 정리했습니다. 먼저 기능 토글부터 시작하고, 그래도 절감이 필요할 때만 프롬프트 오버라이드로 올리며, 전체 기본 지침 교체는 마지막 수단으로 두는 것이 좋습니다.

1단계 — 쓰지 않는 기능을 끄기. Codex 설정에서 skills, apps, plugins를 끄세요. 이슈 #18498에 따르면 일반적으로 기능이 켜진 설정은 새 스레드에서 입력 토큰을 대략 21K–24K개 싣고 시작하며, 해당 기능들을 끄면 실제로 사용한 적이 없어도 약 6.9K까지 줄어듭니다. 수익이 가장 큰 방법이고, 호출하지 않던 장치만 내리는 것이므로 동작상 위험도 없습니다.

2단계 — 기본 프롬프트는 건드리지 않고 개발자 지침 추가하기. CLI에서 추가 지침 레이어를 전달합니다:

codex -c developer_instructions='Skip frontend/UI styling guidance; this is a backend task.'

이는 유지보수자들이 이슈 #11588('Add system prompt customization flags')을 February 12, 2026에 완료로 닫으면서 안내한 메커니즘입니다. 기본 프롬프트 위에 레이어를 얹는 방식이라 토큰을 제거하지는 않지만, 승인된 지침을 편집하지 않고도 모델의 방향을 잡아줍니다.

3단계 — 기본 지침 전체를 오버라이드하기. ~/.codex/config.toml에서 Codex가 직접 만든 파일을 보도록 지정합니다:

model_instructions_file = "/path/to/your.md"

이렇게 하면 프런트엔드 규칙을 포함한 번들 gpt-5.5 블록 전체가 대체됩니다. 실제로 해당 토큰을 제거하는 유일한 방법이지만, OpenAI가 승인한 지침도 함께 버리게 되므로 설정하기 전에 다음 섹션을 읽어야 합니다.

4단계 — 필요할 때만 프런트엔드 가이드를 패키지로 불러오기. Vipul Gupta의 MIT 라이선스 vipulgupta2048/codex-skills는 Brutalist, Editorial, Retro-Futuristic, Soft Craft, Industrial이라는 다섯 가지 디자인 시스템을 웹 UI 작업에서만 활성화되는 명시적 skill로 제공합니다. 미적 지침 묶음은 매 세션마다가 아니라 호출할 때만 로드되며, 이는 이슈 #19720이 원래 요청했던 점진적 발견 패턴입니다.

주의할 점: 토글은 없고, 우회로에는 경고가 붙어 있습니다

Screenshot of https://openai.com/index/unrolling-the-codex-agent-loop/

위 방법들의 한계는 프런트엔드 블록만 정밀하게 제거하지는 못한다는 점입니다. model_instructions_file 오버라이드는 약 1.5K 토큰짜리 프런트엔드 섹션만이 아니라 기본 프롬프트 전체를 대체하며, OpenAI도 이를 명시적으로 권장하지 않습니다. 승인된 지침에서 벗어나면 "may degrade performance"라고 경고합니다 . 프런트엔드 가이드에만 범위를 둔 config.toml 스위치는 없습니다. 이슈 #19720에서 제안된 세 가지 해결책, 즉 skill로 이전하기, 설정 토글 추가하기, 다른 접근 찾기는 트래커가 닫히기 전까지 채택되지 않았습니다 .

이러한 신중함의 일부는 실수가 아니라 아키텍처 의도에 가깝습니다. OpenAI의 Codex 프롬프팅 가이드는 프런트엔드 품질을 핵심 기반 요소로 보고, 자율성과 지속성, 코드베이스 탐색, 도구 사용과 함께 가장 중요한 프롬프트 섹션으로 분류합니다 . 관련 불만이었던 이슈 #19212("Your system prompt is too big")는 "not planned"로 닫혔습니다 . 2026년 7월 현재 gpt-5.5 프런트엔드 블록이 최신 CLI 바이너리에 여전히 포함되는지는 공식 출처로 확인되지 않았습니다. 공개 기본 지침에서는 더 이상 해당 섹션이 렌더링되지 않으므로, 여기의 모든 완화책은 보장된 해결책이 아니라 최선의 대응으로 봐야 합니다.

codex-skills: 필요할 때만 프런트엔드 가이드를 불러오는 방식의 실제 사례

이 해결책이 가능하다는 가장 분명한 작동 증거는 OpenAI 저장소 밖에 있습니다. Vipul Gupta의 MIT 라이선스 vipulgupta2048/codex-skills(태그라인: "Save yourself from the purple AI slop")는 미적 지침을 명시적인 옵트인 skill로 다시 패키징해, 프런트엔드 블록이 웹 UI 작업에서 요청될 때만 로드되게 합니다. 백엔드, 인프라, 리서치 세션에서는 절대 로드되지 않습니다. 이 프로젝트는 Brutalist, Editorial, Retro-Futuristic, Soft Craft, Industrial이라는 다섯 가지 디자인 시스템과 레이아웃, 모션, 반응형, 접근성 패턴을 제공하며 필요할 때 활성화됩니다. 이는 issue #19720에서 제안된 점진적 발견 접근 방식과 정확히 일치하지만, OpenAI가 공식적으로 채택하지는 않았습니다. 실질적인 결론은 이렇습니다. 지금은 커뮤니티 skill을 사용하고, model-specific instruction gating을 언급하는 이슈나 PR이 openai/codex 저장소에 올라오는지 지켜보세요. 그것이 공식 메커니즘이 다가오고 있다는 첫 신호입니다.

자주 묻는 질문

약 1.5K 토큰짜리 프론트엔드 가이드 블록이 모든 Codex 버전에 들어 있나요?

확실하지 않습니다. 근거는 asgeirtj/system_prompts_leaks 저장소에 공개된 gpt-5.5 프롬프트의 서드파티 유출본 이지, OpenAI가 공식으로 공개한 프롬프트 덤프가 아닙니다. openai/codex main의 현재 기본 base-instructions 파일(default.md)은 GitHub 렌더링 기준으로 Frontend guidance 섹션을 포함하지 않습니다 . 이 블록은 모델별, 앱별로 다르거나, 동적으로 주입되거나, 2026년 4월 보고 이후 제거됐을 수 있습니다. 신뢰할 수 있는 확인 방법은 본인 머신에서 직접 보는 것입니다. 해당 블록을 사용 중이라고 가정하기 전에 콜드 스타트 토큰 수를 섹션 2의 기준값과 비교하세요.

Codex를 망가뜨리지 않고 프론트엔드 가이드 블록만 제거할 수 있나요?

그 부분만 정밀하게 제거하기는 어렵습니다. model_instructions_file 옵션은 특정 섹션 하나를 수정하는 것이 아니라 내장 instructions 파일 전체를 대체하며, OpenAI는 승인된 instructions에서 벗어나면 성능이 저하될 수 있다고 경고합니다. 섹션별로 끄는 전용 토글은 없습니다. 가장 안전한 조정 수단은 Step 1에서 다룬 것처럼 사용하지 않는 기능, 즉 플러그인, 스킬, 앱을 비활성화하는 것입니다. 이렇게 하면 base instructions를 전혀 건드리지 않고도 새 세션의 기준 토큰을 낮출 수 있습니다. 프롬프트 무결성을 걸고 도박하지 않으면서 실제 할당량을 줄이는 방식입니다.

실제로 달러 기준 비용은 얼마나 되나요?

청구 금액만 보면 매우 작습니다. 현재 API 입력 요율 기준으로 약 1,500토큰은 콜드 스타트당 1센트에도 한참 못 미치며, 새 세션 페이로드의 상당 부분은 보통 전체가 다시 과금되기보다 캐시됩니다. 더 중요한 비용은 rate-limit 할당량과 컨텍스트 창 공간입니다. 팀 전체에서 하루에 수백 번씩 콜드 스타트를 하는 고빈도 사용 환경에서는 누적되는 할당량 소모와 사용 가능한 컨텍스트 창이 좁아지는 문제가 요청당 달러 비용보다 훨씬 크게 작용합니다.

codex-skills 저장소는 무엇이고, 이 문제를 해결하나요?

vipulgupta2048/codex-skills는 프론트엔드 디자인을 선택형 스킬로 패키징해 웹 UI 작업에서만 로드하도록 만든 MIT 라이선스 커뮤니티 프로젝트입니다 . issue #19720에서 요청된 "skill migration" 해결책을 보여줍니다 . 다만 OpenAI의 공식 메커니즘은 아니며, 해당 블록이 CLI 바이너리에 포함되어 배포되는 경우 gpt-5.5 base-prompt 블록을 정밀하게 제거해 주지도 않습니다. 제거 경로가 아니라, 필요할 때 불러오는 대안을 추가하는 방식입니다.

OpenAI는 왜 토글을 추가하지 않고 issue #19720을 닫았나요?

스레드에 문서화된 설명은 없었습니다. GitHub상으로 #19720은 해당 블록을 제거하거나 게이트 처리하겠다는 maintainer의 스레드 내 약속 없이 닫힌 상태입니다 . OpenAI의 자체 프롬프팅 가이드는 프론트엔드 품질을 핵심 요소로 취급합니다. 자율성, 코드베이스 탐색, 도구 사용과 함께 가장 중요한 프롬프트 섹션으로 분류합니다 . 이 때문에 깔끔한 제거 또는 선택적 로딩이 간단하지 않을 가능성이 큽니다. 이 이슈가 제기한 구조적 질문, 즉 왜 이 블록에 이미 스킬을 통한 점진적 발견 방식이 쓰이지 않는지는 여전히 답이 없습니다.

이 글이 도움이 되셨다면, 새 글이 올라올 때마다 이메일로 받아보세요.

구독하기