Codex CLI /goal로 설계하는 장기 실행 에이전트와 멀티환경 운영

Codex CLI /goal의 상태 지속, 체크포인트, 목표 분해, 멀티환경 전환과 Amazon Bedrock 통합 구조를 실무 관점에서 정리한다.

2026-08-14 · 최초 발행 2026-05-21

터미널 세션보다 오래 살아남는 목표

OpenAI Codex CLI v0.128.0은 2026년 4월 30일 /goal 워크플로우를 도입했다. 이전 세션에서는 터미널 프로세스와 작업의 수명이 사실상 묶여 있었다. 6시간짜리 리팩토링을 실행하더라도 5시간 뒤 네트워크가 끊기거나 랩탑이 종료되면 진행 컨텍스트를 잃을 수 있었다.

/goal은 긴 프롬프트를 한 번 실행하는 방식과 다르다. 목표와 진행 상태를 별도의 app-server에 보관하고, 런타임이 다시 시작되면 저장된 상태에서 작업을 이어간다. 네트워크 중단이나 랩탑 종료뿐 아니라 사용자가 의도적으로 멈춘 경우에도 같은 목표를 복원할 수 있다. 이를 지속적 작업 계약(Persistent Task Contract)으로 볼 수 있다.

NoNoYesYes개발자: /goal '결제 모듈TypeScript 마이그레이션'Goal 파싱 목표 분해App-Server 상태 저장(목표 + 서브태스크 목록)에이전트 실행 시작실행 중단?(네트워크/종료)서브태스크 진행+ 상태 업데이트목표 달성?완료 보고+ 상태 초기화App-Server상태 유지세션 재개자동 복원

같은 릴리스에는 턴별 dev/staging/remote 환경 전환과 Amazon Bedrock 통합도 포함됐다. 목표의 수명을 터미널 밖으로 확장하는 동시에, 실행 환경도 단일 로컬 컨텍스트에 고정하지 않는 구조다.

목표 상태를 이루는 데이터와 제어 지점

/goal 시스템은 5개 핵심 요소를 중심으로 동작한다.

저장된 목표(Stored Objective)는 활성 스레드가 추구하는 고수준 목표다. 에이전트는 매 턴 이 값을 기준으로 현재 작업이 목표에서 벗어나지 않았는지 확인한다.

런타임 컨티뉴에이션(Runtime Continuation)은 중단 이전의 컨텍스트를 복구한 뒤 다음 단계를 선택한다. 프로세스만 다시 띄우는 것이 아니라 논리적으로 이어지는 실행을 만드는 메커니즘이다.

토큰 및 시간 계산(Token & Wall-Clock Accounting)은 경과 시간, 사용 토큰, 완료한 서브태스크 수를 추적한다. 예산 한도에 가까워지면 작업 방향을 조정하거나 실행을 일시 정지한다.

App-Server Goal API는 /goal set, /goal get, /goal clear 엔드포인트로 목표를 관리한다. 이 인터페이스를 이용하면 CI/CD 파이프라인에서도 목표를 주입할 수 있다.

TUI 제어(Terminal UI Controls)는 생성(create), 일시정지(pause), 재개(resume), 초기화(clear)로 이어지는 목표 생명주기를 터미널에서 다룬다.

중단 지점을 복원 가능한 체크포인트로 남기기

장기 실행 에이전트가 재개되려면 목표 문장만 저장해서는 부족하다. 현재 서브태스크와 완료한 변경, 최근 실행 기록, 어느 환경에서 작업했는지까지 함께 직렬화해야 한다.

직렬화 대상에이전트 실행 상태직렬화 레이어목표 텍스트+ 서브태스크 목록완료된 파일 변경(Git diff 형태)도구 호출 히스토리(마지막 N회)환경 컨텍스트(dev/staging/remote)App-Server영속 스토리지체크포인트ID 발급재개상태 복원다음 서브태스크자동 선택

체크포인트는 서브태스크가 끝나는 시점마다 저장한다. 다시 시작할 때는 완료 항목을 반복하지 않고 남은 서브태스크를 선택한다. 파일 변경은 Git-aware 직렬화를 적용해 불완전한 중간 변경이 저장되지 않도록 원자성을 확보한다.

컨텍스트 복원 비용을 줄이려면 전체 대화 이력 대신 핵심 요약과 최근 N개 도구 호출을 남긴다. 체크포인트 포맷에는 버전을 부여해 Codex CLI를 업그레이드한 뒤에도 이전 세션을 복원할 수 있어야 한다.

에픽에서 파일 단위 검증까지 목표를 쪼개는 법

고수준 목표는 그대로 실행하기 어렵다. Codex /goal은 목표 텍스트를 계층적으로 분해해 실제 변경과 검증으로 연결한다.

  1. 에픽(Epic)은 전체 목표를 나타낸다. 예시는 "결제 모듈 TypeScript 마이그레이션"이다.
  2. 스토리(Story)는 "타입 정의 추가", "호출부 수정", "테스트 업데이트"와 같은 주요 단계다.
  3. 태스크(Task)는 "payment.js → payment.ts 변환"처럼 개별 파일에서 수행할 작업이다.
  4. 검증(Verification)은 각 태스크를 마친 뒤 빌드와 테스트를 실행하는 단계다.

이 구조는 재개 지점을 명확하게 만든다. 세션이 중단되더라도 어느 태스크까지 끝났고 무엇을 검증해야 하는지 체크포인트에서 판단할 수 있다.

턴마다 실행 환경을 바꾸는 샌드박스

Codex CLI v0.130은 2026년 5월 8일 턴별 환경 전환 기능을 추가했다. 한 목표를 처리하는 동안에도 턴의 목적에 따라 dev, staging, remote 컨텍스트를 선택할 수 있다.

프로덕션 컨텍스트스테이징 환경 컨텍스트개발 환경 컨텍스트devstagingremote에이전트시작환경 선택(Turn-Scoped)로컬 개발 환경(localhost)스테이징 서버(VPN 필요)프로덕션 준비(읽기 전용)로컬 DB+ 서비스개발 API(낮은 권한)스테이징 DB(복제 데이터)스테이징 API(중간 권한)프로덕션 데이터(읽기 전용)프로덕션 자격증명(최소 권한)작업 실행환경별 정책검사결과 수집+ 다음

환경 전환은 자격증명까지 함께 분리해야 의미가 있다. dev 턴에서는 production API 키나 DB 접속 정보에 접근할 수 없어야 하며, 환경이 바뀌면 해당 네트워크 정책도 함께 적용돼야 한다. 이렇게 해야 의도하지 않은 크로스 환경 호출을 차단할 수 있다.

프로덕션 컨텍스트에는 최소 권한 원칙을 적용한다. 쓰기 작업은 정책으로 막고 읽기와 분석만 허용한다. 롤백 포인트 역시 환경별로 독립시켜 스테이징에서 발생한 문제를 되돌릴 때 dev 환경의 변경이 영향을 받지 않도록 한다.

AWS 경계 안에서 Codex를 실행하는 Bedrock 통합

Codex CLI v0.124.0부터 제공된 Amazon Bedrock 통합은 2026년 2월 발표된 OpenAI-Amazon 전략적 파트너십과 최대 500억 달러 투자에 따른 결과다.

Bedrock 엔드포인트 인증에는 AWS SigV4 서명을 사용한다. 자격증명은 IAM 역할, 환경 변수, ~/.aws/credentials 파일 순서로 자동 감지하며, 리전에 맞는 Bedrock 엔드포인트도 메타데이터를 이용해 선택한다. Codex v0.130에는 헤드리스 app-server를 제어하는 remote-control 엔트리포인트가 추가됐다.

이 통합을 사용하면 기업 AWS 인프라 안에서 Codex를 실행해 데이터가 외부로 전송되지 않도록 구성할 수 있다. VPC 내부의 Bedrock 프라이빗 엔드포인트와 결합하면 네트워크가 격리된 환경에서도 AI 코딩 에이전트를 운영할 수 있다.

Claude Code와 다른 장기 작업 접근법

Codex CLI /goal과 Claude Code는 장기 실행 코딩 작업을 서로 다른 방식으로 다룬다.

관점 Codex CLI /goal Claude Code
세션 모델 App-server 기반 지속 상태 터미널 세션 기반
컨텍스트 윈도우 목표 중심 압축 1M 토큰 전체 유지
환경 전환 턴별 동적 전환 MCP 도구 통해 간접 접근
중단 복구 자동 재개 수동 재시작 필요
에이전트 자율성 목표 달성까지 자율 실행 대화형 승인 기반

Codex /goal은 고수준 목표를 받은 뒤 세부 실행 계획을 에이전트가 세우는 높은 자율성을 기본값으로 채택한다. Claude Code는 주요 단계마다 사용자 승인을 구하는 대화형 모델에 더 가깝다. 선택 기준은 우열보다 작업 특성과 팀이 원하는 감독 방식에 있다.

오래 실행되는 에이전트에 필요한 사용자 경험

자율 실행이 길어질수록 사용자가 현재 상태를 파악할 수 있어야 한다. 인터페이스에는 현재 서브태스크, 완료율, 예상 잔여 시간을 계속 표시한다. 멈춰야 할 때는 임의의 실행 중간보다 서브태스크 경계를 일시 정지 지점으로 삼는 편이 적합하다.

에이전트가 불확실한 판단에 도달하면 사용자의 개입을 명확하게 요청할 수 있어야 한다. 파일 삭제나 외부 API 호출처럼 되돌릴 수 없는 작업은 실행 전에 명시적인 확인을 받는다.

/goal이 바꾸는 것은 작업 시간이 아니라 작업의 생명주기다. 세션 직렬화, 체크포인트, 런타임 컨티뉴에이션을 결합하면 에이전트가 터미널 종료를 넘어 같은 목표를 계속 추구할 수 있다. 턴별 환경 전환과 Amazon Bedrock 통합은 이 지속 실행 모델을 엔터프라이즈 개발 환경과 보안 경계 안으로 확장한다.

Sources

Codex CLIAI 에이전트세션 지속성멀티환경Amazon Bedrock