Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

OpenAI Codex CLI: 터미널에서 사용할 수 있는 오픈 소스 코딩 에이전트

Young-jae

Young-jae

Updated on April 16, 2025

명령줄 인터페이스(CLI)는 많은 개발자들의 명확한 영역으로 남아 있으며, 효율성, 강력함, 그리고 개발 생명주기로의 깊은 통합의 장소입니다. 이제, 편안한 터미널을 떠나지 않고도 코드를 이해하고, 파일을 편집하고, 명령을 실행하고, 솔루션을 반복할 수 있는 지능형 에이전트를 상상해보십시오. 이것이 바로 OpenAI Codex CLI의 약속입니다. 이는 npm(@openai/codex)을 통해 사용할 수 있는 경량 코딩 에이전트로, 터미널에서 작업하는 개발자를 위해 특별히 설계되었습니다.

이는 단순한 챗봇이 아닙니다. Codex CLI는 ChatGPT 수준의 추론을 제공하며, 작업을 실행할 수 있는 실용적인 능력을 결합하는 것을 목표로 합니다. 이는 파일과 상호작용하고, 안전하게 셸 명령을 실행하며, 버전 관리와 매끄럽게 통합되어 당신의 저장소 맥락을 이해하는 진정한 챗 기반 개발 파트너입니다.

💡
아름다운 API 문서화를 생성하는 훌륭한 API 테스트 도구가 필요하신가요?

개발 팀이 최대 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼이 필요하신가요?

Apidog는 귀하의 모든 요구를 충족시키며, Postman을 훨씬 더 저렴한 가격에 대체합니다!
버튼

OpenAI Codex CLI 시작하기:

Codex CLI를 시작하는 것은 간단하게 설계되었으며, "제로 설정" 철학(API 키 제공을 제외하고)을 반영합니다.

Codex CLI를 실행하려면 시스템이 다음 요구 사항을 충족해야 합니다:

  • 운영 체제: macOS 12+, Ubuntu 20.04+/Debian 10+, 또는 Windows 11 via WSL2.
  • Node.js: 버전 22 이상 (LTS 권장).
  • Git (선택 사항, 권장): 완전한 기능을 위해 버전 2.23+, 특히 버전 관리 통합 및 잠재적인 PR 도우미 기능.
  • RAM: 최소 4 GB, 권장 8 GB.

GitHub - openai/codex: Lightweight coding agent that runs in your terminal
Lightweight coding agent that runs in your terminal - openai/codex

설치: Node.js 도구로서, 설치는 npm(또는 yarn)을 통해 진행됩니다. codex 명령을 어디서나 사용할 수 있도록 전역적으로 설치하십시오:

npm install -g @openai/codex

(표준 조언을 기억하십시오: sudo npm install -g는 피하십시오; 필요에 따라 npm 권한을 올바르게 설정하십시오).

API 키 설정: Codex CLI는 작동하려면 OpenAI API 키가 필요합니다. 이를 환경 변수로 설정해야 합니다:

export OPENAI_API_KEY="your-api-key-here"

중요하게도, 이 export 명령은 일반적으로 현재 터미널 세션에 대해서만 변수를 설정합니다. 이를 영구적으로 만들려면 이 줄을 쉘의 구성 파일에 추가해야 합니다. 예를 들어 ~/.zshrc, ~/.bashrc, 또는 ~/.bash_profile와 같은 파일에 추가합니다.

Codex 실행: Codex와 상호작용하는 방법은 몇 가지가 있습니다:

대화형 모드: 단순히 codex를 입력하여 명령 및 지시를 전달할 수 있는 대화형 세션(REPL - Read-Eval-Print Loop)을 시작하십시오.

직접 프롬프트: 명령 줄에서 직접 초기 프롬프트를 제공하십시오:

codex "이 코드베이스를 설명해주세요"

자동 실행: 프롬프트와 승인 모드를 결합하여 보다 자동화된 작업을 수행하십시오(자세한 내용은 이후에 설명합니다):

codex --approval-mode full-auto "가장 멋진 todo-list 앱 만들기"

일단 호출되면, Codex는 작업을 시작합니다. 파일 구조를 만들고, 샌드박스 내에서 코드를 실행하며, 필요한 종속성을 설치하고, 결과를 제시할 수 있습니다. 그런 다음 제안된 변경 사항(파일 차이, 명령 출력)을 검토하고, 작업 디렉터리에 커밋할 수 있도록 승인합니다.

왜 OpenAI Codex CLI를 선택해야 할까요?

Codex CLI는 기존 워크플로에 깊게 통합된 AI 도움을 찾는 개발자를 위한 특정 틈새를 창출합니다. 설계 철학에서 직접 파생된 주요 판매 포인트는 다음과 같습니다:

  • 터미널 네이티브: CLI를 선호하는 개발자를 위해 구축되었습니다. 웹 UI나 별도의 애플리케이션으로의 컨텍스트 전환을 피합니다.
  • 추론 + 실행: 단순히 코드를 제안하거나 개념을 설명하는 것 이상입니다. 강력한 AI 추론(예: ChatGPT)을 활용하지만, 코드를 실행, 파일을 조작, 및 솔루션을 반복할 수 있는 기능을 추가합니다.
  • 레포 인식: 특정 코드베이스 내에서 작동하고 있다는 점을 이해할 수 있습니다.
  • 제로 설정(거의): OpenAI API 키를 가져오고 패키지를 설치하면 준비 완료입니다.
  • 안전한 자동화: "풀 자동" 모드를 포함한 구성 가능한 자동화 수준을 제공하며, 네트워크 비활성화 및 디렉토리 샌드박싱을 통해 보안을 구현합니다.
  • 다중 모드 입력: 기능 구현을 위해 스크린샷이나 다이어그램을 입력으로 받을 수 있는 기능을 명시적으로 언급합니다. ✨
  • 오픈 소스: 전체 프로젝트가 오픈 소스이며, 투명성과 커뮤니티 기여, 신뢰를 촉진합니다.

OpenAI Codex CLI의 세 가지 모드 설명:

AI 도구에 파일을 편집하고 셸 명령을 실행할 수 있는 권한을 부여하려면 강력한 보안 모델이 필요합니다. Codex CLI는 --approval-mode 플래그(명령줄이나 온보딩 중 대화형 프롬프트를 통해 설정 가능)를 통해 투명성과 사용자 컨트롤을 제공합니다:

제안 모드(기본):

  • 요청 없이 허용: 저장소의 모든 파일을 읽을 수 있습니다.
  • 승인 필요: 모든 파일 쓰기/패치와 모든 셸/Bash 명령.
  • 사용 사례: 가장 안전한 모드로, 민감한 작업이나 툴을 배우거나 최대의 제어가 필요한 경우에 적합합니다.

자동 편집 모드:

  • 요청 없이 허용: 파일을 읽고 패치를 적용/파일에 변경 사항을 씁니다.
  • 승인 필요: 모든 셸/Bash 명령.
  • 사용 사례: 시스템 변경을 초래할 수 있는 명령에 대한 수동 제어를 유지하면서 코드 변경에 대한 자동화를 균형잡습니다. 리팩토링과 코드 생성을 가속화합니다.

풀 자동 모드:

  • 요청 없이 허용: 파일을 읽고/쓰며 셸 명령을 실행합니다.
  • 승인 필요: 없음(샌드박스 내에서).
  • 사용 사례: 신뢰할 수 있는 작업에 대한 최대 자동화.

내장된 안전 장치:

  • 샌드박싱: 풀 자동 모드에서 명령은 방어 심화를 위해 상당한 제한 속에서 실행됩니다:
  • 네트워크 비활성화: 예기치 않은 외부 통신을 방지합니다(예: curl 호출은 기본적으로 실패합니다).
  • 디렉토리 격리: 작업은 현재 작업 디렉토리($PWD) 및 지정된 임시/캐시 영역($TMPDIR, ~/.codex 등)으로 제한됩니다.
  • Git 인식: Codex CLI는 대상 디렉토리가 Git에 의해 추적되고 있는지 확인합니다. 추적되지 않는 디렉토리에서 auto-edit 또는 full-auto 모드로 시작하려고 시도하면 경고/확인 프롬프트가 표시되어 항상 버전 관리의 안전성을 보장합니다.
  • 미래 개선: 추가 안전 장치가 신뢰하게 구현되면, 네트워크가 활성화된 상태로 자동 실행을 위한 특정 명령의 화이트리스트 허용 계획이 문서에 언급되어 있습니다.

플랫폼별 샌드박싱:

기본적인 하드닝 메커니즘은 호스트 운영 체제에 적응하여 사용의 투명성을 목표로 합니다:

  • macOS (12+): 네이티브 Apple Seatbelt 기술(sandbox-exec)을 사용합니다. 이 프로세스는 특정 쓰기 가능한 예외($PWD, $TMPDIR, ~/.codex)가 있는 읽기 전용 감옥에 배치됩니다. 아웃바운드 네트워크 접근은 차단됩니다.
  • Linux: 샌드박싱을 위해 Docker 사용을 권장합니다. Codex는 최소한의 컨테이너 이미지 내에서 자신을 실행할 수 있으며, 저장소를 읽기/쓰기로 마운트합니다. 사용자 정의 iptables/ipset 방화벽 스크립트는 OpenAI API와의 필요한 통신을 제외하고 모든 네트워크 출력을 거부합니다. 이는 호스트 머신에서 루트 권한이 필요하지 않고 결정론적이며 재현 가능한 실행을 제공합니다(자세한 내용은 run_in_container.sh에 있음).
  • Windows: WSL2(Windows Subsystem for Linux 2)를 통해 지원되며, WSL 환경 내에서 Linux 샌드박싱 접근 방식을 활용할 것으로 보입니다.

OpenAI Codex CLI 구성

기본 상호작용을 넘어서, Codex CLI는 행동을 조정하고 더 복잡한 워크플로에 통합할 수 있는 방법을 제공합니다.

CLI 참조:

  • codex: 대화형 모드.
  • codex "...": 초기 프롬프트와 함께하는 대화형 모드.
  • codex -q "..." 또는 codex --quiet "...": 비대화형 "조용한 모드", 스크립팅에 적합합니다. -json 플래그를 추가하면 JSON으로 출력됩니다.
  • 주요 플래그:
  • -model / m: 사용할 OpenAI 모델을 지정합니다(예: gpt-4, o4-mini).
  • -approval-mode / a: 자동화 수준 설정(suggest, auto-edit, full-auto).
  • -quiet / q: 비대화형 모드 활성화.

메모리 및 프로젝트 맥락:

Codex CLI는 Markdown 파일에서 프로젝트별 지침 및 맥락을 통합할 수 있으며, 이를 특정 우선 순위로 배치합니다:

  1. ~/.codex/instructions.md: 모든 프로젝트에 적용되는 개인적인 전역 지침.
  2. codex.md (저장소 루트에 위치): 전체 레포에 대한 공유 프로젝트 메모, 관습 또는 높은 수준의 맥락.
  3. codex.md (현재 작업 디렉토리에서): 하위 패키지 또는 디렉토리에 대한 특정 지침.

이렇게 하면 팀이 Codex가 사용할 수 있는 프로젝트 표준을 코드를 통해 직접 내장하거나 힌트를 제공할 수 있습니다. 이 기능은 --no-project-doc 플래그를 사용하거나 환경 변수 CODEX_DISABLE_PROJECT_DOC=1을 설정하여 비활성화할 수 있습니다.

비대화형 / CI 모드:

자동화를 위해 설계된 Codex CLI는 지속적 통합(CI) 파이프라인에서 헤드리스로 실행할 수 있습니다. --quiet (또는 -q) 플래그를 사용하거나 CODEX_QUIET_MODE=1 환경 변수를 설정하여 대화형 UI 요소가 억제됩니다.

예제 GitHub Action 단계:

- name: Codex를 통해 변경 로그 업데이트
  run: |
    npm install -g @openai/codex
    export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
    codex -a auto-edit --quiet "최근 커밋을 기반으로 다음 릴리스를 위한 CHANGELOG 업데이트"

구성 파일:

Codex는 ~/.codex/ 디렉토리에서 구성을 찾습니다:

~/.codex/config.yaml: 기본 모델이나 자동 모드 오류에 대한 동작 등의 기본 설정을 정의합니다.

model: o4-mini # 호출 시 기본 모델
fullAutoErrorMode: ask-user # 오류 시 동작: 요청하여 사용자에게 묻거나 무시하고 계속하기

~/.codex/instructions.md: 위에서 언급했듯, 전역 사용자 정의 지침(예: "항상 이모지로 응답하기", "제가 명시적으로 언급하지 않는 한 git 명령 사용하지 않기")을 위한 것입니다.

실용적인 애플리케이션: 성공을 위한 레시피

README는 Codex CLI가 적합한 작업의 종류를 보여주는 몇 가지 구체적인 예제("레시피")를 제공합니다:

  1. 코드 리팩토링: codex "대시보드 컴포넌트를 React Hooks로 리팩토링해 주세요" - Codex는 클래스 컴포넌트를 분석하고, 다시 작성하려 시도하며, 테스트를 실행하고(npm test) 승인을 위해 diff를 보여줍니다.
  2. 마이그레이션 생성: codex "사용자 테이블을 추가하기 위한 SQL 마이그레이션을 생성해 주세요" - 사용 중인 ORM을 추론하고(예: Prisma, Sequelize), 필요한 마이그레이션 파일을 생성하고, 샌드박스된 데이터베이스 환경에서 실행할 수 있습니다.
  3. 단위 테스트 작성: codex "utils/date.ts용 단위 테스트를 작성해 주세요" - Codex는 테스트 케이스를 생성하고 실행하며(보통 npm test 또는 jest와 같은 셸 명령을 통해), 패스할 때까지 코드를 수정하거나 테스트를 반복할 수 있습니다.
  4. 대량 파일 작업: codex "git mv로 *.jpeg → *.jpg로 대량 이름 변경" - 필요한 git mv 명령을 생성하고 실행하며, 코드 내의 참조/임포트를 업데이트할 수 있습니다.
  5. 코드/정규 표현식 설명: codex "이 정규 표현식이 무엇을 하는지 설명해 주세요: ^(?=.*[A-Z]).{8,}$" - LLM의 설명 능력을 활용하여 사람이 읽을 수 있는 방식으로 설명합니다.
  6. 고수준 레포 분석: codex "이 레포를 주의 깊게 검토하고 3개의 고영향력 PR을 제안해 주세요" - 전략적인 코드 리뷰와 제안 생성을 보여줍니다.
  7. 보안 감사: codex "취약점을 찾아 보안 검토 보고서를 작성해 주세요" - AI의 지식 기반을 사용하여 잠재적인 보안 결함을 식별하고 설명합니다.

결론

오픈 소스이며 CLI 중심의 개발자를 위해 구축된 Codex CLI는 필수적이고 신뢰할 수 있는 코딩 에이전트가 되어 생산성을 향상시키고 개발자가 더 복잡한 도전에 집중할 수 있도록 돕는 것을 목표로 하고 있습니다. 계속해서 актив하게 개발됨에 따라, 개발자가 일상 업무에서 AI와 상호작용하는 방식을 상당히 변화시킬 잠재력을 가지고 있습니다.

💡
아름다운 API 문서화를 생성하는 훌륭한 API 테스트 도구가 필요하신가요?

개발 팀이 최대 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼이 필요하신가요?

Apidog는 귀하의 모든 요구를 충족시키며, Postman을 훨씬 더 저렴한 가격에 대체합니다!
버튼