logo

목표

목표는 Codex 스레드에 붙는 지속적인 완료 조건입니다. 일반 프롬프트가 "다음 작업을 해줘"에 가깝다면, 목표는 "이 상태가 참이 될 때까지 계속 작업해줘"에 가깝습니다.

목표를 설정하면 Codex는 작업을 한 번 수행하고 멈추는 대신, 현재 증거를 확인하고 아직 완료되지 않았다고 판단되면 다음 행동을 이어갈 수 있습니다. 이때 완료 여부는 모델의 느낌이 아니라 테스트, 벤치마크, 로그, 생성된 산출물, 조사 증거 같은 구체적인 자료로 확인되어야 합니다.

목표 문장을 잘 쓰는 방법은 AI 에이전트와 일하기의 목표 모드를 참고하십시오. 이 문서는 Codex에서 /goal을 사용하는 방법과 동작 방식을 다룹니다.

언제 사용하는가

목표는 끝 상태는 분명하지만 거기까지 가는 경로가 불확실한 작업에 적합합니다.

  • 성능 개선처럼 측정과 수정이 반복되는 작업
  • 불안정하게 실패하는 테스트의 재현과 원인 분석
  • 의존성 마이그레이션이나 여러 단계의 리팩터링
  • 벤치마크 기반 튜닝
  • 최종 보고서가 필요한 조사와 연구 작업

한 줄 수정, 간단한 설명, 짧은 코드 리뷰처럼 한 번 답하고 멈추면 되는 작업에는 일반 프롬프트가 더 낫습니다.

목표 기능은 Codex 0.128.0부터 사용할 수 있습니다.

목표 설정하기

입력창에서 /goal 뒤에 원하는 끝 상태를 적습니다.

/goal 결제 벤치마크에서 p95 지연 시간을 120ms 아래로 낮추고 정확성 테스트 묶음은 계속 통과하게 해줘

목표가 활성화되면 Codex는 관련 코드를 살펴보고, 필요한 명령을 실행하고, 파일을 수정하고, 결과를 테스트할 수 있습니다. 목표가 아직 충족되지 않았다면 스레드가 대기 상태가 되었을 때 다음 작업을 이어갈 수 있습니다.

같은 명령으로 목표의 상태를 관리합니다.

  • /goal: 현재 목표를 봅니다.
  • /goal pause: 활성 목표를 일시 중지합니다.
  • /goal resume: 일시 중지된 목표를 다시 시작합니다.
  • /goal clear: 현재 목표를 제거합니다.

목표가 멈추는 이유는 성공만이 아닙니다. 사용자가 일시 중지하거나 제거할 수도 있고, 입력 대기, 중단, 예산 제한, 더 진행하려면 사용자의 결정이 필요한 차단 요인 때문에 멈출 수도 있습니다.

활성 목표의 동작

목표가 활성화되면 Codex의 작업 방식이 세 가지 면에서 달라집니다.

첫째, 원래 목표가 스레드에 계속 남습니다. 테스트가 실패하거나 벤치마크가 일부만 개선되어도 Codex는 원래 완료 조건을 잃지 않습니다.

둘째, 스레드가 대기 상태일 때 이어서 작업할 수 있습니다. Codex는 다른 작업 차례가 실행 중이거나, 사용자 입력이 대기열에 있거나, 다른 스레드 작업이 남아 있을 때는 자동으로 이어서 작업하지 않습니다. 안전한 경계에서만 다음 작업을 이어갈지 판단합니다.

셋째, 완료 판단은 증거 기반이어야 합니다. 목표는 "아마 된 것 같다"가 아니라 관련 파일, 테스트 결과, 명령 출력, 벤치마크, 생성 산출물, 조사 근거를 확인한 뒤 완료되어야 합니다.

Codex에서 목표가 저장되는 방식

목표는 전역 메모리나 프로젝트 지침이 아니라 스레드 상태로 저장됩니다. 따라서 목표는 현재 스레드의 맥락, 즉 Codex가 읽은 파일, 실행한 명령, 본 로그, 만든 변경 내용, 이어 온 판단 흐름과 함께 유지됩니다.

이 경계가 중요합니다. 목표는 프로젝트 전체에 영구 적용되는 규칙이 아니며, 모든 새 대화에 자동으로 적용되는 기억도 아닙니다. 특정 스레드에서 특정 완료 조건을 추적하기 위한 계약입니다.

Codex의 목표 상태는 활성, 일시 중지, 완료, 예산 제한처럼 나뉩니다. 이 상태에 따라 Codex가 계속 작업할지, 사용자를 기다릴지, 진행 상황과 차단 요인을 요약할지가 달라집니다.

계속 실행을 막는 안전장치

목표는 무한 반복을 만들기 위한 기능이 아닙니다. Codex는 보수적으로 작업을 이어갈지 판단합니다.

  • 다른 작업 차례나 사용자 입력이 있으면 이어서 작업하지 않습니다.
  • 중단이 발생하면 목표는 멈출 수 있습니다.
  • 목표가 계획만 세우는 작업으로 끝났다면 자동으로 이어서 작업하지 않습니다.
  • 이어진 작업 차례에서 도구 호출이 없으면 다음 자동 이어가기는 억제되어 불필요한 반복을 피합니다.
  • 예산에 도달하면 실질적인 작업을 멈추고 진행 상황, 차단 요인, 다음에 필요한 입력을 요약해야 합니다.

핵심은 Codex가 계속 움직일 수 있게 하는 것이 아니라, 사용자가 정의한 완료 조건 안에서만 움직이게 하는 것입니다. 목표가 완료되었는지는 항상 증거가 결정해야 합니다.

더 보기

Previous
프롬프팅