Codex로 첫 작업을 작게 끝내기
첫 요청에 기능 구현부터 커밋·배포까지 모두 넣으면 어디까지 확인되었는지 판단하기 어렵습니다. 이 실습에서는 읽기와 수정 단계를 분리하고, 결과를 사용자가 직접 확인합니다. 코드는 설명을 위해 만든 합성 예제이며, Codex에 보내 실행한 기록은 아닙니다.
작업 전에 현재 상태 확인
기존 변경이 있는 저장소라면 먼저 그 변경의 소유자와 범위를 확인하세요. 첫 실습은 다른 사람의 작업이 없는 연습용 저장소에서 하는 것을 권합니다.
pwd
git status --short
git branch --show-current
git status에 수정 파일이 보인다고 자동으로 되돌리거나 stash하지 않습니다. 어떤 변경인지 모르면 그대로 보존하고 질문합니다. 커밋·브랜치 생성도 프로젝트 정책에 맞게 사용자가 결정합니다.
먼저 설명만 요청
프로젝트 디렉터리에서 CLI를 시작하면 AI 세션을 사용할 수 있습니다. 계정·권한을 확인한 뒤 사용자가 실행하세요.
codex --sandbox read-only --ask-for-approval on-request
읽기 전용 샌드박스는 완전한 오프라인 실행 모드가 아닙니다. 모델 통신과 승인 요청 등은 별도입니다. 화면의 유효 권한을 확인하고 다음처럼 파일 읽기부터 요청합니다.
이 연습 저장소에서 테스트가 어디에 있는지 찾아줘.
파일만 읽고 수정·설치·명령 실행은 하지 마.
진입점, 테스트 파일, README의 실행 명령을 근거 경로와 함께 정리해줘.
출력된 경로를 직접 열어 확인합니다. 존재하지 않는 테스트 명령을 그럴듯하게 제안할 수 있으므로 README와 프로젝트 스크립트를 우선하세요.
수정할 문제는 하나만
예를 들어 연습 코드가 빈 이름을 처리하지 못한다고 가정합니다.
export function greeting(name) {
return `안녕하세요, ${name}!`;
}
원하는 동작을 먼저 정합니다. 여기서는 빈 문자열이나 공백만 있는 입력에 안녕하세요, 방문자!를 반환하는 것으로 정했습니다. 이 선택은 Codex의 기본 규칙이 아니라 이 예제의 요구사항입니다.
수정 권한이 필요하면 기존 세션을 끝낸 뒤 프로젝트 정책에 맞게 workspace-write 세션을 시작하거나 /permissions에서 허용 범위를 확인합니다. 권한을 바꾸는 것은 별도 결정입니다.
greeting 함수의 빈 문자열과 공백 입력만 수정해줘.
기존 정상 이름 입력은 유지해줘.
먼저 실패하는 테스트를 추가해 실제 실패를 확인하고, 최소 수정 후 다시 실행해줘.
의존성 추가·파일 삭제·커밋·push·외부 요청은 하지 마.
명령 실행이 필요하면 명령과 목적을 먼저 알려줘.
결과에서 확인할 증거
"완료했습니다"라는 문장 대신 실제 변경과 명령 출력을 봅니다.
- 변경 파일이 요청한 범위 안에 있는지
- 수정 전 테스트가 요구한 이유로 실패했는지
- 수정 후 관련 테스트와 기존 테스트가 통과했는지
- 실행하지 못한 명령이나 남은 오류가 있는지
- 외부 설치나 불필요한 설정 변경이 섞이지 않았는지
사용자는 git diff로 변경을 보고 프로젝트의 실제 테스트 명령을 다시 실행할 수 있습니다. 단위 테스트 성공만으로 브라우저 동작이나 운영 배포 성공까지 주장하지 않습니다.
예상과 다를 때
수정 범위가 커지거나 승인을 요구하면 바로 허용하기보다 원래 문제와 연결되는지 확인하세요. 다른 작업자의 변경을 지우는 일이나 운영 데이터를 건드리는 일은 이 예제 범위가 아닙니다. 반복 규칙이 생겼다면 AGENTS.md에 정리하고, 마지막 판단은 리뷰와 테스트 절차로 마무리합니다.
공식 한국어 도움말: ChatGPT 플랜과 Codex에서 계정별 이용 안내를 확인할 수 있습니다. 이 글은 해당 도움말의 공식 번역이 아니며, 계정 조건과 요금은 공식 안내를 우선합니다.
추가 공식 참조
- Quickstart — 제품 표면별 빠른 시작의 현재 절차는 공식 문서에서 확인합니다. 이 글의 로컬 CLI 합성 작업 예제와 동일한 실행 경로로 가정하지 않습니다.