환경을 사용하면 클라우드 채팅 중에 Codex가 무엇을 설치하고 실행할지 제어할 수 있습니다. 예를 들어 종속성을 추가하고 린터나 포매터 같은 도구를 설치하며 환경 변수를 설정할 수 있습니다.
Codex 설정에서 환경을 구성하세요.
Codex 클라우드 채팅 실행 방식
프롬프트를 제출하면 다음 과정이 진행됩니다:
- Codex가 컨테이너를 생성하고 선택한 브랜치나 커밋 SHA로 레포지토리를 체크아웃합니다.
- Codex가 설정 스크립트를 실행하며, 캐시된 컨테이너를 재개할 때는 선택 사항인 유지 관리 스크립트도 실행합니다.
- Codex가 인터넷 액세스 설정을 적용합니다. 설정 스크립트는 인터넷 액세스가 허용된 상태에서 실행됩니다. 에이전트의 인터넷 액세스는 기본적으로 꺼져 있지만, 필요한 경우 제한된 액세스나 무제한 액세스를 사용 설정할 수 있습니다. 에이전트 인터넷 액세스를 참조하세요.
- 에이전트는 터미널 명령어를 반복해서 실행합니다. 코드를 수정하고 검사를 실행하며 작업 결과를 검증하려고 합니다. 레포지토리에
AGENTS.md파일이 있으면 에이전트는 해당 파일에서 프로젝트별 린트 및 테스트 명령어를 찾습니다. - 에이전트가 작업을 마치면 답변과 변경한 파일의 diff를 표시합니다. PR을 열거나 후속 질문을 할 수 있습니다.
기본 universal 이미지
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 및 엔터프라이즈 사용자의 경우 캐시는 해당 환경에 액세스할 수 있는 모든 사용자 간에 공유됩니다. 캐시를 무효화하면 워크스페이스에서 해당 환경을 사용하는 모든 사용자에게 영향을 줍니다.
인터넷 액세스 및 네트워크 프록시
설정 스크립트 단계에서는 종속성을 설치할 수 있도록 인터넷 액세스가 제공됩니다. 에이전트 단계에서는 인터넷 액세스가 기본적으로 꺼져 있지만 제한된 액세스나 무제한 액세스를 사용하도록 구성할 수 있습니다. 에이전트 인터넷 액세스를 참조하세요.
환경은 보안 및 악용 방지를 위해 HTTP/HTTPS 네트워크 프록시 뒤에서 실행됩니다. 모든 아웃바운드 인터넷 트래픽은 이 프록시를 통과합니다.