logo

프롬프트 작성

프롬프트

Codex와 상호작용할 때는 원하는 작업을 설명하는 프롬프트를 보냅니다.

프롬프트 예시는 다음과 같습니다.

transform 모듈이 어떻게 동작하고, 다른 모듈에서 어떻게 사용되는지 설명해 줘.
JSON을 출력하는 `--json` 명령줄 옵션을 새로 추가해 줘.

프롬프트를 제출하면 Codex는 반복적인 작업 흐름으로 동작합니다. 먼저 모델을 호출하고, 모델 출력이 지시하는 작업을 수행합니다. 여기에는 파일 읽기, 파일 수정, 도구 호출 같은 작업이 포함될 수 있습니다. 이 과정은 작업이 완료되거나 사용자가 취소할 때까지 계속됩니다.

ChatGPT와 마찬가지로 Codex도 사용자가 제공하는 지시가 명확할수록 더 효과적으로 동작합니다. Codex에 프롬프트를 작성할 때는 다음 점을 고려하는 것이 좋습니다.

  • Codex는 자신의 작업을 검증할 수 있을 때 더 좋은 결과를 냅니다. 문제를 재현하는 방법, 기능을 확인하는 방법, 린트와 pre-commit 검사를 실행하는 방법을 함께 알려 주는 것이 좋습니다.
  • 복잡한 작업은 작고 집중된 단계로 나눌 때 Codex가 더 잘 처리합니다. 작은 작업은 Codex가 테스트하기도 쉽고, 사용자가 검토하기도 쉽습니다. 작업을 어떻게 나눠야 할지 모르겠다면 Codex에게 먼저 계획을 제안해 달라고 요청할 수 있습니다.

스레드

스레드는 하나의 작업 세션입니다. 하나의 스레드에는 사용자의 프롬프트, 그에 따른 모델 출력, 도구 호출이 포함됩니다. 스레드는 여러 개의 프롬프트를 포함할 수 있습니다. 예를 들어 첫 번째 프롬프트에서는 Codex에게 기능 구현을 요청하고, 이어지는 프롬프트에서는 테스트를 추가해 달라고 요청할 수 있습니다.

Codex가 어떤 스레드에서 능동적으로 작업 중이면 그 스레드는 "실행 중"이라고 볼 수 있습니다. 여러 스레드를 동시에 실행할 수는 있지만, 두 스레드가 같은 파일을 동시에 수정하지 않도록 주의해야 합니다. 또한 나중에 같은 스레드에 새 프롬프트를 이어서 보내 작업을 재개할 수도 있습니다.

스레드는 로컬 또는 클라우드에서 실행될 수 있습니다.

  • 로컬 스레드는 사용자의 컴퓨터에서 실행됩니다. Codex는 파일을 읽고 수정하며 명령을 실행할 수 있으므로, 어떤 변경이 일어나는지 직접 확인하고 기존 개발 도구를 그대로 사용할 수 있습니다. 작업 공간 밖에서 원하지 않는 변경이 발생할 위험을 줄이기 위해 로컬 스레드는 샌드박스 안에서 실행됩니다.
  • 클라우드 스레드는 격리된 환경에서 실행됩니다. Codex는 저장소를 복제하고 작업할 브랜치를 체크아웃합니다. 클라우드 스레드는 작업을 병렬로 실행하거나 다른 기기에서 작업을 위임하고 싶을 때 유용합니다. 저장소에서 클라우드 스레드를 사용하려면 먼저 코드를 GitHub에 push해야 합니다. 현재 작업 상태를 포함해 로컬 컴퓨터에서 작업을 위임할 수도 있습니다.

Codex 앱에서는 프로젝트를 선택하지 않고 채팅을 시작할 수도 있습니다. 채팅은 저장된 저장소나 프로젝트 폴더에 연결되지 않습니다. 코드베이스에서 시작할 필요가 없는 조사, 계획 수립, 연결된 도구를 사용하는 작업 등에 사용할 수 있습니다. 채팅은 Codex가 관리하는 threads 디렉터리를 작업 위치로 사용합니다. 기본 위치는 Codex 홈 아래의 ~/.codex/threads입니다. 이 상태 데이터의 기본 위치를 바꾸려면 CODEX_HOME을 설정하면 됩니다.

컨텍스트

프롬프트를 제출할 때는 Codex가 사용할 수 있는 컨텍스트를 함께 제공하는 것이 좋습니다. 예를 들어 관련 파일이나 이미지를 참조할 수 있습니다. Codex IDE 확장은 열려 있는 파일 목록과 선택한 텍스트 범위를 자동으로 컨텍스트에 포함합니다.

에이전트가 작업하는 동안에도 컨텍스트는 계속 쌓입니다. Codex는 파일 내용, 도구 출력, 지금까지 수행한 작업과 아직 해야 할 작업에 대한 기록을 컨텍스트로 수집합니다.

하나의 스레드에 포함된 모든 정보는 모델의 컨텍스트 창 안에 들어가야 합니다. 컨텍스트 창의 크기는 모델마다 다릅니다. Codex는 남은 공간을 모니터링하고 알려 줍니다. 긴 작업에서는 Codex가 관련 정보를 요약하고 덜 중요한 세부 사항을 버리는 방식으로 컨텍스트를 자동으로 압축할 수 있습니다. 반복적으로 압축을 수행하면 Codex는 여러 단계에 걸친 복잡한 작업도 계속 이어갈 수 있습니다.

Previous
Claude Code에서 Codex로