[Open AI 공식문서 번역 ]Codex Prompting Guide 정리

마운틴 스타·2026년 2월 25일

AI

목록 보기
3/4
post-thumbnail

“코딩 에이전트, Codex”를 제대로 사용하는 방법

OpenAI Cookbook의 Codex Prompting Guide (2026.02.25)gpt-5.2-codex를 단순 코드 생성 모델이 아니라, 자율적으로 동작하는 코딩 에이전트로 설계하라는 가이드다.

Codex가 왜 그런 방식으로 사용해야 성능이 올라가는지를 모델 내부 작동 관점에서 설명한다.


1️⃣ Codex는 어떻게 추론하는가

Codex는 기본적으로 다음 토큰을 예측하는 확률 모델이다.
그러나 CLI 환경에서는 단순 텍스트 생성기가 아니라, 다음 정보를 모두 입력으로 받아 추론한다:

  • 현재 열려 있는 파일
  • 레포 전체 구조
  • 이전 대화
  • 툴 실행 로그
  • 테스트 출력
  • diff 변경 내역

중요한 점은

모델은 입력된 모든 텍스트를 동일한 추론 재료로 사용한다.

즉, 좋은 정보와 노이즈를 구분하지 못한다. 단지 “확률적으로 다음에 올 법한 토큰”을 계산할 뿐이다.

따라서:

  • 로그가 길어질수록
  • 불필요한 JSON이 많을수록
  • 중복 설명이 많을수록

추론이 분산되고 집중도가 떨어진다.

이 때문에 가이드는 “문장을 잘 써라”가 아니라, 입력 구조를 설계하라고 말하는 것이다.


2️⃣ 왜 행동 설계가 중요한가 — 추론 경로 통제

Codex는 다음과 같은 패턴으로 작동한다:

  1. 문제를 해석
  2. 가능한 해결 경로를 내부적으로 샘플링
  3. 가장 확률이 높은 경로를 선택
  4. 텍스트 또는 툴 호출 생성

이때 문제는, 모델이 “실제로 옳은 경로”가 아니라 “통계적으로 그럴듯한 경로”를 선택한다는 점이다.

그래서 다음과 같은 현상이 발생한다:

  • 계획만 말하고 멈춤
  • 존재하지 않는 파일 가정
  • 느린 grep 사용
  • 전체 파일 재작성

행동 규칙은 이 확률 공간을 좁힌다.

예:

✔ rg 사용
→ 검색 경로 제한

✔ apply_patch 사용
→ 수정 범위 강제

✔ 병렬 호출
→ 불필요한 반복 추론 감소

즉, 행동 설계는
모델의 탐색 공간을 줄이는 장치다. 탐색 공간이 줄어들수록 hallucination 확률도 줄어든다.


3️⃣ AGENTS.md — 컨텍스트 기본값 고정

모델은 매 요청마다 “이 레포의 기본 전제”를 다시 추론한다.
AGENTS.md는 이 전제를 고정한다.

왜 이것이 중요한가?

LLM은 명시되지 않은 조건을 확률적으로 보완하려 한다.

이 과정에서:

  • npm vs pnpm 혼동
  • 테스트 생략
  • 스타일 규칙 무시

같은 일이 발생한다.

AGENTS.md는 “확률 보완”을 “강제 조건”으로 바꾼다.


4️⃣ Compaction — 컨텍스트 길이와 추론 품질의 관계

LLM은 컨텍스트 전체를 Attention으로 처리한다.
토큰이 길어질수록:

  • 계산 복잡도 증가
  • 노이즈 증가
  • 핵심 정보 가중치 희석

이 발생한다.

모델은 중요도를 판단하지 못한다.

Compaction은:

  1. 중간 로그 제거
  2. 핵심 요약 유지
  3. 상태 보존

을 통해 Attention 분산을 줄인다.
결과적으로 긴 작업에서도 추론 밀도가 유지된다.


5️⃣ apply_patch — 왜 diff가 hallucination을 줄이는가

전체 파일 재작성은 모델에게 “구조 전체 재해석”을 요구한다.
이는 확률 공간을 넓힌다.

반면 Unified Diff는:

  • 수정 범위 한정
  • 기존 맥락 유지
  • 변경 위치 명확화

를 제공한다.

모델은 이미 존재하는 텍스트를 기반으로 “변경 부분만 예측”하면 된다.

이것은 확률 분포를 극단적으로 좁힌다.

결과적으로:

  • 오타 감소
  • 기존 코드 손상 감소
  • 논리 붕괴 감소

가 발생한다.


6️⃣ Tool 응답을 자르는 이유 — Attention 집중도 유지

모델은 입력 전체에 Attention을 분배한다.

만약 5,000줄 로그를 그대로 넣으면 에러 한 줄의 비중은 극히 낮아진다.

앞/뒤 유지 방식이 좋은 이유는:

  • 상단 → 전체 구조 파악
  • 하단 → 최신 상태 확인

이라는 모델의 일반적 처리 패턴 때문이다.

중간 제거는 핵심 추론에 치명적이지 않은 경우가 많다.

핵심은:

많이 보여주는 것이 아니라
추론에 필요한 정보 밀도를 높이는 것.


7️⃣ phase — 상태 머신 기반 추론 안정화

장시간 작업에서 발생하는 문제는 “중간 메시지를 최종 결과로 오해하는 것”이다.

LLM은 기본적으로 대화를 선형 텍스트로 인식한다.

phase는 이를 상태 머신 구조로 바꾼다.

  • commentary → 진행 중 상태
  • final_answer → 종료 상태

assistant 출력에 phase를 저장하면
히스토리 복원 시:

  • 중간 메시지 재해석 방지
  • 조기 종료 방지
  • 상태 왜곡 방지

가 가능해진다.


8️⃣ 실전 Codex 활용 꿀팁

위 문서는 open ai에서 발행한 codex 설계 방식이기에 구조를 완벽 이해한 개발자가 아니라면 사용하기에 어려운 부분이 있다.

특히 codex를 사용해 바이브코딩을 하는 사람은 더욱이 막막할 것이다.

그래서 내가 인터넷에서 찾고, 직접 사용하며 얻은 Codex 활용 꿀팁들을 모았다.


8-1️⃣ 작업을 쪼개라

처음부터 모든 기 전체를 만들려고 하면, codex가 길을 잃을 수 있다.

단계별로 쪼개서 진행해야한다.

ex)

- 설계
- MVP 구현
- 테스트 추가
- 리팩토링

8-2️⃣ 프롬포트는 입력 + 완료조건을 세트로

❌ “로그인 기능 고쳐줘”

⭕ “auth.ts 수정, pnpm test 통과, 타입체크 clean”

Codex는:

  • 열린 파일
  • 선택 영역
  • 레포 전체 파일
  • 명령 출력

을 컨텍스트로 쌓아가며 작업한다.

반드시 명시해야할 것

  • 어떤 파일을 봐야 하는지
  • 어떤 테스트가 통과해야 하는지
  • PR 결과 형식은 무엇인지

8-3️⃣ 추측 금지 명시

모르면 파일/로그를 열어 근거를 제시하라.

이 문장은 확률적 보완을 차단한다.


8-4️⃣ 웹 브라우저보다 확장프로그램 사용 + Git 연동하기

  • 컨텍스트 유지와 프로젝트 일관성을 위해 git cloud를 활용하면 좋다
  • 추가로, 스레드별 기능을 분리해서 프롬포트를 작성해서 진행하면 수월하다

8-5️⃣ 개인화 기능

Codex 설정에 이런 성향을 박아두면 좋다:

1. Think Before Coding
→ 가정 명시, 불확실하면 질문

2. Simplicity First
→ 요청 안 한 기능 추가 금지

3. Surgical Changes
→ 요청된 부분만 수정

4. Goal-Driven Execution
→ “기능 추가” 대신 “테스트 통과”로 목표 변환

정리

Codex의 성능은
모델 지능보다 입력 구조에 의해 좌우된다.

  • 탐색 공간을 줄이고
  • 노이즈를 제거하고
  • 수정 범위를 제한하고
  • 상태를 보존하면

에이전트는 안정적으로 동작한다.


자료 출처

0개의 댓글