
ChatGPT 사용자를 위한 10가지 Codex 팁 — 내 코드베이스에 적용하기 전 알았더라면 좋았을 것들
요약
OpenAI의 Codex 기능이 ChatGPT에 통합됨에 따라, 에이전트 방식의 코딩을 안전하고 효율적으로 수행하기 위한 10가지 핵심 팁을 제공합니다. 특히 샌드박스 설정과 보안 위험을 방지하기 위한 주의사항을 강조합니다.
핵심 포인트
- Codex는 파일 읽기, 코드 편집, 셸 명령 실행이 가능한 에이전트 방식임
- 네트워크 액세스가 기본적으로 비활성화되어 있어 설치 시 주의 필요
- 보안 가드레일을 모두 해제하는 --yolo 플래그 사용은 매우 위험함
- 악성 스크립트로 인한 자격 증명 및 환경 변수 유출 가능성 경고
Codex가 ChatGPT에 도입됩니다. 별도의 앱이 아니라, 이미 4억 명의 사람들이 질문을 하고, 이메일을 초안하고, 이미지를 생성하는 바로 그 채팅창 안에서 제공됩니다.
6월 2일, OpenAI는 다음과 같이 발표했습니다: Codex 기능은 "앞으로 몇 주 안에 모든 곳의 ChatGPT 앱에서 사용할 수 있을 것입니다." 6개의 새로운 비즈니스 플러그인, 대화를 호스팅된 웹 앱으로 변환하는 "Sites" 기능, 슬라이드의 특정 차트를 가리키며 "이 색상을 바꿔줘"라고 말할 수 있는 주석(Annotations) 기능 등이 포함됩니다.
발표에서 언급되지 않았지만 여러분이 반드시 알아야 할 사실은 다음과 같습니다: Codex는 여러분의 파일을 읽고, 코드를 편집하며, 셸 명령(shell commands)을 실행합니다 — 미리보기 모드 없이 직접적으로 말이죠. 만약 여러분이 처음으로 에이전트 방식의 코딩(agentic coding)을 시도하려는 수백만 명의 ChatGPT 사용자 중 한 명이라면, 이 10가지 팁이 가장 값비싼 실수를 방지해 줄 것입니다.
1. 절대 기본 설정으로 시작하지 마세요
Codex는 3계층 제어 모델을 가지고 있으며, 이것이 혼란의 가장 큰 원인입니다:
| 계층 | 제어 항목 | 기본값 |
|---|---|---|
| Sandbox | Codex가 프로젝트 외부의 파일에 접근할 수 있는가? | workspace-write (프로젝트 내부만) |
| ... |
대부분의 초보자들은 Codex를 설치하자마자 즉시 codex "build me a Next.js app"이라고 입력합니다. 그러고는 네트워크 액세스(network access)가 기본적으로 꺼져 있기 때문에 npm install 단계에서 실패하는 것을 지켜보게 됩니다. CLI(Command Line Interface)나 문서 어디에도 이 점이 명확하게 드러나 있지 않습니다. 여러분은 해결 방법이 플래그(flag) 하나 차이라는 것을 깨닫기 전까지 10분 동안 난해한 에러 메시지를 멍하니 바라보게 될 것입니다.
2. --yolo를 사용하지 마세요. 진심입니다.
Codex에는 --dangerously-bypass-approvals-and-sandbox라는 플래그가 있습니다. 이 플래그의 별칭(alias)이 바로 --yolo입니다. 이 플래그는 샌드박스 제한, 승인 프롬프트, 네트워크 제한 등 모든 안전 가드레일(safety guardrail)을 한 번에 제거합니다.
# 이 명령은 Codex가 아무런 질문 없이 어디에서든 무엇이든 할 수 있게 합니다:
codex --yolo "Refactor the entire codebase"
OpenAI의 자체 문서에 따르면, 이는 일회성 Docker 컨테이너나 CI 러너 (CI runners)에서만 사용해야 합니다. 6개월 전에 클론(cloned)한 프로젝트 내의 악의적인 package.json postinstall 스크립트는 사용자의 Codex 자격 증명(credentials), .env 파일, 그리고 SSH 키를 읽어갈 수 있습니다.
만약 반드시 사용해야 한다면, 컨테이너 내부에서 사용하십시오. 절대 사용자의 데일리 머신(daily machine)에서 사용하지 마십시오. 절대 공유 서버에서 사용하지 마십시오. 절대 "그냥 작은 프로젝트니까 괜찮겠지"라는 이유로 사용하지 마십시오.
3. 조용한 network_access 함정
이것은 모든 신규 사용자에게 발생하는 가장 좌절스러운 버그입니다:
codex "Install React and set up Tailwind CSS"
# Codex: "Error: command not found: npm"
# 사용자: "...뭐라고?"
기억하십시오: sandbox_mode = "workspace-write" (기본값)는 network_access = false로 설정되어 있습니다. 사용자의 에이전트(agent)는 파일을 편집할 수는 있지만, npm install, pip install, git push 또는 curl을 실행할 수는 없습니다.
해결 방법:
codex --sandbox workspace-write --network "Install dependencies and set up the project"
또는 더 좋은 방법은 ~/.codex/config.toml에 프로필(profile)을 설정하는 것입니다 (팁 4 참조).
4. config.toml 프로필 사용 — 시간을 10배 절약해 줍니다
매 명령마다 플래그(flags)를 전달하는 것을 멈추십시오. 프로필을 한 번만 설정해 두면 됩니다:
# ~/.codex/config.toml
[profiles.networked]
...
사용법:
codex -p networked "Update all dependencies"
codex -p yolo "Non-interactive build" # 컨테이너에서만 사용!
한 번의 설정으로 영원히 플래그를 쓸 필요가 없습니다. 이것 하나만으로도 나머지 팁들을 모두 합친 것보다 더 많은 좌절을 줄여줄 것입니다.
5. AGENTS.md는 유일한 가드레일(Guardrail)입니다
Codex에게 "코드베이스를 개선해줘"와 같이 모호한 지시를 내리면, Codex는 길을 잃게 됩니다. 편집해서는 안 될 파일을 편집하거나, 요청하지 않은 기능을 추가하거나, 이미 최적화된 것을 "최적화"하려고 시도할 것입니다.
해결 방법은 프로젝트 루트(root)에 AGENTS.md라는 파일을 만드는 것입니다. 이를 인간 계약자에게 전달할 사양서(specification document)라고 생각하십시오:
## Goal
Migrate authentication from JWT hand-rolled to NextAuth.js v5.
...
50줄짜리 AGENTS.md가 500줄짜리 프롬프트(prompt)보다 더 많은 시간을 아껴줄 것입니다.
6. /goal은 소원을 들어주는 기계가 아닙니다
Codex에는 에이전트가 세션에 관계없이 수 시간 동안 지속되는 작업을 수행할 수 있게 해주는 /goal 명령어가 있습니다. 심지어 노트북을 닫아 놓은 상태에서도 말이죠. OpenAI 엔지니어들은 이를 25시간 동안 연속으로 실행하여, 빈 저장소(repo)로부터 1,300만 개의 토큰을 소비하고 30,000줄의 코드를 생성해냈습니다.
핵심 문구는 "명확한 사양(spec)이 있는 빈 저장소로부터"입니다. "모호한 아이디어로부터"가 아닙니다.
좋은 목표 (Good goal):
/goal "AGENTS.md 사양에 따라 Express.js를 Fastify로 마이그레이션하세요.
47개의 테스트가 모두 통과하고 API 응답 형식이 검증되면 중단하세요."
나쁜 목표 (Bad goal):
/goal "앱을 더 빠르게 만드세요"
나쁜 목표는 에이전트를 비용만 많이 드는 무한 루프(infinite loop)로 만듭니다. 에이전트에게는 산출물(deliverable), 검증을 위한 테스트, 그리고 중단 조건(stop condition)을 부여하십시오.
7. "Sites" 기능은 채팅을 공유 가능한 앱으로 변환합니다
이 기능은 대부분의 ChatGPT 사용자들이 실제로 가장 먼저 사용하게 될 기능입니다. 비즈니스 및 엔터프라이즈 고객을 위한 프리뷰(preview)로 시작하여, Codex는 대화로부터 직접 상호작용이 가능한 호스팅된 웹사이트와 앱을 생성하고 공유할 수 있습니다.
대시보드, 프로젝트 보드, 리뷰 워크스페이스, 경량 도구 등 원하는 것을 설명하기만 하면 Codex가 이를 구축하고 URL을 제공합니다. 이를 팀원들과 공유하세요. 팀원들은 앱과 상호작용하고, 입력을 제공하며, 진행 상황을 추적할 수 있습니다.
터미널을 한 번도 만져본 적 없는 ChatGPT 사용자들에게 이것은 가교 역할을 합니다. CLI도, npm도, 설정(config)도 필요 없습니다. 그저 필요한 것을 설명하면 작동하며 공유 가능한 결과물을 얻을 수 있습니다.
8. MCP는 Codex를 다른 모든 것과 연결합니다
모델 컨텍스트 프로토콜 (Model Context Protocol, MCP)은 Codex가 데이터베이스, 이슈 트래커(issue tracker), 문서, API와 같은 제3자 도구와 통신하는 방식입니다.
~/.codex/config.toml에 작성된 기본적인 MCP 설정 예시:
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
...
MCP가 구성되면 Codex에게 다음과 같이 지시할 수 있습니다:
"GitHub의 오픈 이슈를 확인하고, 로그인 타임아웃에 관한 이슈를 찾은 뒤,
데이터베이스에서 영향을 받은 사용자를 조회하고, 수정 사항을 작성하세요."
MCP가 없다면 도구 사이에서 복사하여 붙여넣기를 반복해야 합니다. MCP가 있다면 Codex가 이를 한 번에 처리합니다.
9. 보이지 않는 토큰 예산 — 비용이 발생하는 지점
모든 ChatGPT 플랜에는 Codex가 포함되어 있지만, 한계가 있습니다. OpenAI는 토큰 소비에 대해 5시간 이동 창 (5-hour rolling window) 제한을 적용합니다. 한도에 도달하면 속도가 제한(throttled)됩니다.
단 한 번의 복잡한 /goal 작업이 몇 시간 만에 수백만 개의 토큰을 소모할 수 있습니다. OpenAI의 벤치마크 실행 결과, 최대 추론 모드의 최상위 모델을 사용하여 25시간 동안 1,300만 개의 토큰을 소모했습니다.
할당량을 아끼는 실질적인 습관:
- 일상적인 작업에는 GPT-5.5 대신 GPT-5.3-Codex (최적화 버전)를 사용하세요.
AGENTS.md에 명시적인 중단 조건 (stop conditions)을 설정하세요 (무한 루프 방지).- 큰 작업은 명확한 종료 상태를 가진 더 작은
/goal조각으로 나누세요. - TUI의 토큰 카운터를 주기적으로 확인하세요 — 잊어버리기 쉽습니다.
월간 허용량을 가장 빨리 소진하는 방법은 금요일 오후에 모호한 지시사항과 함께 /goal을 시작하고 자리를 뜨는 것입니다.
10. 매 세션 종료 후 반드시 감사 (Audit) 하세요
Codex는 무엇을 변경했는지 알려주지 않습니다 — 그저 변경할 뿐입니다. 매 세션이 끝난 후, 무엇인가를 커밋(commit)하기 전에 다음 3단계 감사 과정을 실행하세요:
# 1. 변경된 모든 사항 확인
git diff --stat
git diff
...
Codex는 코드를 작성하는 데는 탁월합니다. 하지만 언제 멈춰야 할지를 아는 데는 형편없습니다. 철저하게 감사하세요. 한 번 건너뛰는 그 순간, Codex가 당신의 결제 모듈을 조용히 다시 작성해 버릴 수 있습니다.
보너스: 첫날 바로 복사해야 할 config.toml
# ~/.codex/config.toml
approval_policy = "on-request"
...
이것을 저장하고, 프로젝트 루트에 AGENTS.md를 하나 설정하면 준비가 끝납니다.
ChatGPT 내부의 Codex는 진정으로 중요한 변화입니다. 기술이 새로워서가 아니라, 에이전트 기반 코딩 (agentic coding)을 한 번도 사용해 본 적 없는 4억 명의 사람들 앞에 가져다 놓았기 때문입니다. 이를 안전하게 사용하는 법을 배우는 사람들이 그 누구보다 빠르게 구축할 것입니다.
이 10가지 팁을 건너뛰는 사람들은 고생하며 배우게 될 것입니다. 첫 번째 그룹이 되십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기