Codex Cloud(레거시) 서비스는 코드 리뷰와 Linear 및 GitHub 연동에 필요한 환경을 계속 지원합니다.
웹, 모바일, 데스크톱에서 현재 제공되는 클라우드 환경을 사용하는 방법은 클라우드 환경 가이드를 참고하세요.
환경을 설정하면 클라우드 채팅 중에 Codex가 무엇을 설치하고 실행할지 정할 수 있습니다. 예를 들어 종속성을 추가하거나 린터와 포매터 같은 도구를 설치하고 환경 변수를 설정할 수 있습니다.
Codex 설정에서 환경을 구성하세요.
Codex 클라우드 채팅의 실행 과정
작업을 제출하면 다음 순서로 진행됩니다.
- Codex가 컨테이너를 만들고 리포지터리에서 선택한 브랜치 또는 커밋 SHA를 체크아웃합니다.
- Codex가 설정 스크립트를 실행합니다. 캐시된 컨테이너를 재개할 때는 유지 관리 스크립트가 있으면 해당 스크립트도 실행합니다.
- Codex가 인터넷 액세스 설정을 적용합니다. 설정 스크립트는 인터넷에 액세스할 수 있습니다. 에이전트의 인터넷 액세스는 기본적으로 꺼져 있지만, 필요하면 제한적으로 허용하거나 제한 없이 허용할 수 있습니다. 에이전트 인터넷 액세스를 참고하세요.
- 에이전트는 터미널 명령어를 반복해서 실행합니다. 이 과정에서 코드를 수정하고 검사를 수행하며 작업 결과를 검증하려고 합니다. 리포지터리에
AGENTS.md가 있으면 에이전트는 이 파일에서 프로젝트별 린트 및 테스트 명령어를 찾습니다. - 작업을 마치면 에이전트가 답변과 함께 수정한 파일의 변경 내역을 diff로 보여 줍니다. PR을 열거나 후속 질문을 할 수 있습니다.
기본 범용 이미지
Codex 에이전트는 universal이라는 기본 컨테이너 이미지에서 실행됩니다. 이 이미지에는 자주 사용하는 언어, 패키지, 도구가 미리 설치되어 있습니다.
환경 설정에서 패키지 버전 설정을 선택해 Python, Node.js 등 런타임의 버전을 고정하세요.
설치된 항목은 openai/codex-universal에서 확인하세요. 참고용 Dockerfile과 로컬 환경에서 내려받아 테스트할 수 있는 이미지가 있습니다.
codex-universal에는 빠르고 편리하게 시작할 수 있도록 여러 언어가 미리 설치되어 있습니다. 설정 스크립트로 컨테이너에 패키지를 추가로 설치할 수도 있습니다.
환경 변수와 시크릿
환경 변수는 설정 스크립트 실행 단계와 에이전트 실행 단계를 포함해 채팅이 진행되는 동안 계속 적용됩니다.
시크릿은 환경 변수와 비슷하지만 다음과 같은 차이가 있습니다.
- 저장할 때 추가로 암호화하며, 작업을 실행할 때만 복호화합니다.
- 설정 스크립트에서만 사용할 수 있습니다. 보안을 위해 에이전트 실행 단계가 시작되기 전에 시크릿을 제거합니다.
자동 설정
일반적인 패키지 관리자(npm, yarn, pnpm, pip, pipenv, poetry)를 사용하는 프로젝트에서는 Codex가 종속성과 도구를 자동으로 설치할 수 있습니다.
수동 설정
개발 환경을 설정하는 과정이 더 복잡하다면 다음 예시처럼 직접 작성한 설정 스크립트를 제공할 수도 있습니다.
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
설정 스크립트와 에이전트는 서로 다른 Bash 세션에서 실행되므로 export 같은 명령어의 효과는 에이전트 실행 단계까지 유지되지 않습니다. 환경 변수를 계속 사용하려면 ~/.bashrc에 추가하거나 환경 설정에서 지정하세요.
컨테이너 캐싱
Codex는 새 채팅과 후속 요청을 더 빠르게 처리하기 위해 컨테이너 상태를 최대 12시간 동안 캐시합니다.
환경을 캐시할 때는 다음과 같이 진행됩니다.
- Codex가 리포지터리를 복제하고 기본 브랜치를 체크아웃합니다.
- Codex가 설정 스크립트를 실행한 후 컨테이너 상태를 캐시합니다.
캐시된 컨테이너를 재개할 때는 다음과 같이 진행됩니다.
- Codex가 해당 채팅에 지정된 브랜치를 체크아웃합니다.
- 유지 관리 스크립트가 있으면 Codex가 실행합니다. 이전 커밋에서 설정 스크립트를 실행해 종속성을 업데이트해야 할 때 유용합니다.
설정 스크립트, 유지 관리 스크립트, 환경 변수 또는 시크릿을 변경하면 Codex가 자동으로 캐시를 무효화합니다. 리포지터리가 변경되어 캐시된 상태와 호환되지 않으면 환경 페이지에서 캐시 초기화를 선택하세요.
Business 및 Enterprise에서는 환경에 액세스할 수 있는 모든 사용자가 캐시를 공유합니다. 캐시를 무효화하면 워크스페이스에서 해당 환경을 사용하는 모든 사용자에게 영향을 줍니다.
인터넷 액세스와 네트워크 프록시
설정 스크립트 실행 단계에서는 종속성을 설치할 수 있도록 인터넷 액세스를 허용합니다. 에이전트 실행 단계에서는 인터넷 액세스가 기본적으로 꺼져 있지만, 제한적으로 허용하거나 제한 없이 허용하도록 설정할 수 있습니다. 에이전트 인터넷 액세스를 참고하세요.
환경은 보안과 악용 방지를 위해 HTTP/HTTPS 네트워크 프록시 뒤에서 실행됩니다. 인터넷으로 나가는 모든 트래픽은 이 프록시를 거칩니다.
Agent Security의 명령어 네트워크 액세스 요구 사항
워크스페이스에서 Agent Security로 명령어의 네트워크 액세스를 관리한다면 관리형 정책과 해당 환경의 인터넷 설정을 모두 확인하세요. 이러한 제어가 명령어에 어떻게 적용되는지는 네트워크 격리를 참고하세요.