빠른 답
Codex는 실행을 시작할 때 전역 지침과 프로젝트 지침을 결합합니다. 전역 범위에서는 AGENTS.override.md가 있으면 AGENTS.md보다 먼저 선택됩니다. 프로젝트 범위에서는 프로젝트 루트부터 현재 작업 디렉터리까지 내려오며 디렉터리마다 최대 한 파일을 읽습니다.
가장 흔한 원인은 잘못된 CODEX_HOME, 예상하지 못한 override, 작업 디렉터리 불일치, 기본 32KiB 프로젝트 지침 한도, 또는 설정 변경 후 기존 세션을 계속 사용한 경우입니다.
5단계로 실제 로딩 경로를 확인하세요
1. 지금 실행이 사용하는 Codex home을 확인합니다
effective_codex_home="${CODEX_HOME:-$HOME/.codex}"
printf 'CODEX_HOME=%s\n' "$effective_codex_home"
ls -la "$effective_codex_home"/AGENTS.md \
"$effective_codex_home"/AGENTS.override.md 2>/dev/null || true
편집한 파일과 실행이 읽는 파일이 같은 경로인지 먼저 비교합니다. 셸, 데스크톱 앱, 자동화 프로세스가 서로 다른 CODEX_HOME을 사용할 수 있습니다.
2. 전역 override가 기본 파일을 가리는지 확인합니다
for candidate in \
"$effective_codex_home/AGENTS.override.md" \
"$effective_codex_home/AGENTS.md"; do
if [ -s "$candidate" ]; then
printf 'first non-empty global file: %s\n' "$candidate"
break
fi
done
전역 수준에서는 첫 번째 비어 있지 않은 파일 하나만 사용합니다. override가 남아 있다면 기본 AGENTS.md를 고쳐도 현재 실행에는 반영되지 않습니다.
3. 프로젝트 루트와 현재 디렉터리를 고정합니다
printf 'cwd=%s\n' "$PWD"
git rev-parse --show-toplevel 2>/dev/null || \
printf 'git project root not found\n'
find "$PWD" -maxdepth 1 \
\( -name 'AGENTS.override.md' -o -name 'AGENTS.md' \) \
-type f -print
Codex는 프로젝트 루트부터 현재 디렉터리까지의 경로만 확인합니다. 현재 디렉터리의 형제 폴더나 더 깊은 하위 폴더에 둔 파일은 현재 작업의 지침 체인에 포함되지 않습니다.
4. 지침 체인이 바이트 한도를 넘는지 확인합니다
# 후보 파일의 실제 바이트 수
wc -c AGENTS.md AGENTS.override.md 2>/dev/null || true
# 설정에 명시한 한도 확인
grep -n 'project_doc_max_bytes' \
"$effective_codex_home/config.toml" 2>/dev/null || \
printf 'default project limit applies\n'
공식 문서의 기본 프로젝트 지침 한도는 32KiB입니다. Codex는 결합된 프로젝트 지침이 project_doc_max_bytes에 도달하면 추가 내용을 중단합니다. 핵심 규칙을 앞쪽에 두고, 필요한 경우 한도를 올리거나 가까운 하위 디렉터리의 지침으로 범위를 나누세요.
5. 설정 변경 후 새 실행에서 확인합니다
codex --cd "$PWD" --ask-for-approval never \
"열려 있는 파일을 검색하지 말고, 실행 전에 자동 로드된 지침 출처와 각 첫 번째 제목을 순서대로 알려줘."
지침 체인은 실행 시작 시 만들어집니다. 이미 열린 세션에 파일이나 설정을 바꾼 뒤 같은 대화를 계속하면 새 로딩 결과를 증명할 수 없습니다. 새 명령 또는 새 세션에서 확인하세요.
관찰한 증거로 다음 행동을 고르세요
| 관찰 | 가장 가까운 원인 | 다음 행동 |
|---|---|---|
| 편집 경로와 CODEX_HOME이 다름 | 전역 프로필 불일치 | 실제 home의 지침을 고치고 새 실행 |
| 비어 있지 않은 전역 override가 있음 | 기본 지침 가림 | override를 의도대로 수정하거나 제거 |
| 프로젝트 파일이 루트부터 cwd 경로 밖에 있음 | 발견 경로 불일치 | 루트 또는 적용할 하위 경로로 이동 |
| 체인 끝의 규칙만 누락됨 | 바이트 한도 도달 | 크기 축소, 범위 분리 또는 한도 조정 |
| 새 실행에서는 정상, 기존 세션만 누락 | 기존 지침 체인 유지 | 세션을 새로 시작 |
| 전체 파일이 로드됐지만 행동만 누락 | 발견이 아닌 준수 문제 | 완료 기준을 짧고 검증 가능하게 재작성 |
중요한 규칙은 새 프로세스에서 증명하세요
파일 존재, 심볼릭 링크 또는 현재 대화의 기억만으로는 영속성을 증명할 수 없습니다. 규칙 끝에 고유한 검사 문장을 두고 새 실행이 그 문장을 실제로 회상하는지 확인합니다. 규칙이 길다면 전체 파일의 바이트 수와 설정 한도를 함께 기록하세요.
instruction_file="$effective_codex_home/AGENTS.md"
wc -c "$instruction_file"
# macOS와 Linux에서 파일 해시 기록
shasum -a 256 "$instruction_file" 2>/dev/null || \
sha256sum "$instruction_file"
공식 근거
- OpenAI, AGENTS.md 사용자 지침: 전역·프로젝트 발견 순서, override, 기본 32KiB 한도, 새 실행 검증.
- OpenAI, 프로젝트 지침 탐색: project_doc_max_bytes와 fallback 파일 설정.
이 글은 공개 진단 자료입니다. 저장소, 지침 원문, 비밀정보 또는 고객 데이터를 제출하도록 요구하지 않습니다.