Codex App 을 사용하다 보면 비슷한 불편함을 겪은 적이 있을 것입니다. 새 대화를 시작할 때마다 기본 설정을 반복해야 하거나, 예상보다 더 많은 시스템 명령을 실행해 버리는 경우가 그렇습니다.
이러한 고빈도 불편 사항의 핵심은 Codex 에 안정적인 장기 기억이 없다는 점입니다. 이러한 비효율적인 반복 커뮤니케이션을 완전히 해결하려면 Codex 에 완전한 메모리 시스템을 구축해야 합니다.
이 글에서는 AGENTS.md 와 Memories 기능을 설정하여 Codex 에 지속적인 메모리를 부여하고, 사용자의 의도를 진정으로 이해하며 효율성을 높이는 방법을 소개합니다.
1. AGENTS.md
1. AGENTS.md란?
AGENTS.md 는 Codex 가 시작될 때마다 자동으로 읽는 사전 작성된 규칙 지침 세트입니다.
AGENTS.md 가 없으면 Codex 는 매번 빈 상태로 시작되어 사용자의 작업 습관, 프로젝트 배경 또는 실행 작업의 경계를 알지 못합니다.
관련 규칙을 설정하면 이러한 컨텍스트가 영구적으로 적용되며, 동일한 문제를 반복해서 설명할 필요가 없습니다.
2. 설정 및 사용 방법
1️⃣ 글로벌 레이어: 로컬 컴퓨터의 ~/.codex/AGENTS.md 디렉토리에 저장되며 모든 프로젝트에 적용됩니다. 글로벌 개인 환경 설정 및 일반 규칙을 작성하는 데 적합합니다.
Codex App 에서는 개인 설정 페이지의 "Custom Instructions" 섹션에 해당합니다.

다음은 권장되는 기본 템플릿입니다. 위에 표시된 위치에 직접 복사하여 붙여넣은 후 필요에 따라 지속적으로 조정할 수 있습니다.
1# AGENTS.md23## 기본 동작45- 사용자가 특별히 다른 언어를 요청하지 않는 한 기본적으로 한국어로 답변합니다.6- 답변은 간결하고 직접적이어야 하며, 불필요한 잉여 표현이나 반복을 피합니다.7- 작업 설명이 불명확한 경우 실행을 시작하기 전에 확인을 요청합니다.8- 사용자의 의도 외에 추가적인 요구 사항을 능동적으로 추측하지 않고, 요청된 작업만 수행합니다.910## 안전 경계1112- 기본적으로 읽기 전용으로 설정하며, 사용자가 명시적으로 지시하지 않는 한 파일을 적극적으로 수정하거나 삭제하지 않습니다.13- 되돌릴 수 없는 작업(예: 파일 삭제, 덮어쓰기, 외부 API 호출을 통한 쓰기)을 수행하기 전에 반드시 확인을 받아야 합니다.14- 출력에 키, 토큰 또는 민감한 자격 증명을 출력하지 않습니다.1516## 엔지니어링 표준1718- 과도한 엔지니어링을 피하고, 명시적으로 요청되었거나 작업에 명백히 필요한 변경만 수행하여 솔루션을 단순하게 유지합니다.19- 요청되지 않은 기능 추가, 코드 리팩토링 또는 추가 최적화를 수행하지 않습니다.20- 변경되지 않은 코드에 주석, 타입 어노테이션 또는 독스트링을 추가하지 않습니다.21- 로직이 자명하지 않은 경우에만 주석을 추가합니다.22- 발생 가능성이 낮은 시나리오에 대한 오류 처리 또는 폴백 로직을 추가하지 않습니다.23- 한 번만 사용되는 유틸리티 함수나 추상화 계층을 생성하지 않습니다.24- 사용되지 않는 코드로 확인된 경우 직접 삭제하고, 주석 설명을 남기지 않습니다.
2️⃣ 프로젝트 레이어: 프로젝트 디렉토리에 저장되며, 주로 프로젝트의 주제와 특성에 따라 규칙을 사용자 지정하는 데 사용됩니다.
좋은 프로젝트 레벨 AGENTS.md 는 일반적으로 다음 측면을 다루어야 합니다.
- 프로젝트 배경 및 구조: 프로젝트가 무엇인지, 중요한 디렉토리가 어디에 있는지
- 실행 방법: 프로젝트를 시작, 실행 또는 운영하는 방법
- 표준 및 제약 사항: 따라야 할 표준과 명시적으로 수행할 수 없는 사항
- 완료 기준: 작업이 완료되었는지 판단하는 방법
3. AGENTS.md 모범 사례
기본 AGENTS.md 를 구성하는 것은 첫 번째 단계에 불과합니다. 다음 실용적인 원칙이 메모리 시스템의 상한선을 결정합니다.
1️⃣ 규칙 계층화, 명확한 책임 분담
Codex 에서 AGENTS.md 는 근접성 원칙을 따릅니다. 하위 디렉토리 > 루트 디렉토리 > 글로벌. 즉, 현재 작업 디렉토리의 규칙이 가장 높은 우선 순위를 갖습니다.
이는 프로젝트 레벨 규칙이 동일한 유형의 글로벌 설정을 직접 재정의할 수 있음을 의미합니다. 모든 규칙이 혼합되면 우선 순위가 높은 로컬 규칙이 글로벌 기본 로직을 쉽게 오염시키거나 손상시킬 수 있습니다.
따라서 합리적인 규칙 메모리 시스템은 "관심사 분리" 원칙을 따라야 합니다. 글로벌 레이어에는 언어 환경 설정, 안전 경계, 기본 행동 습관과 같은 일반 규칙만 포함됩니다. 프로젝트 레이어에는 빌드 명령, 코드 규칙, 모듈 설명 등 해당 프로젝트에 특화된 사양이 포함됩니다.
두 레이어는 각자의 역할을 수행하며 서로 간섭하지 않으므로 병합 시 충돌이 발생하지 않습니다.
2️⃣ 기본부터 시작, 필요에 따라 반복
AGENTS.md 는 한 번에 모두 작성할 필요가 없습니다. 가장 핵심적인 규칙부터 시작하십시오. Codex 가 동일한 실수를 반복할 때, 직접 실수를 검토하고 규칙을 업데이트하도록 지시하십시오. 예를 들어:
"방금 전과 같은 실수를 반복했어. 이유를 요약하고 관련 경험을 AGENTS.md 에 추가해 줘."
이러한 방식으로 규칙은 항상 실제 사용 마찰에서 비롯되며, AGENTS.md 는 사용됨에 따라 지속적으로 진화합니다.
3️⃣ 간결하게 유지하고, 복잡한 내용은 별도로 분리
사용이 깊어짐에 따라 AGENTS.md 의 내용이 늘어날 수 있습니다. 이때 모든 내용을 하나의 파일에 쌓아둘 필요 없이, 특정 주제에 대한 내용을 별도의 파일로 작성한 후 메인 파일에서 참조하는 것이 좋습니다.
예를 들어, 프로젝트 아키텍처 설명은 ARCHITECTURE.md 로 별도 작성하고 AGENTS.md 에는 한 줄의 참조만 포함시킵니다.
"이 프로젝트의 핵심 아키텍처 및 디렉토리 규칙은 현재 디렉토리의 ARCHITECTURE.md 파일을 참조하세요."
2. Memories 기능
관련 규칙을 능동적으로 구성하는 것 외에도 Codex 는 능동적인 메모리 기능을 지원합니다. 이 기능은 설정(Settings) - 개인 설정(Personalization) - 메모리(Memory)에서 활성화할 수 있습니다. 아래와 같습니다.

버튼을 켠 후, Codex 는 대화에서 유용한 정보와 주요 환경 설정을 능동적으로 요약하여 메모리에 저장합니다. Codex 가 추가한 메모리를 확인하려면 ~/.codex/memory 디렉토리의 Memory.md 파일을 열면 Codex 가 추가한 메모리 내용을 볼 수 있습니다. 아래는 제 메모리입니다.

마지막으로
메모리 시스템을 구축하는 것은 시간이 지남에 따라 진화하는 과정입니다. 행동 규칙을 지속적으로 개선 및 업데이트하고 메모리를 꾸준히 축적하기만 하면 Codex 는 곧 당신을 가장 잘 이해하고 사용하기 가장 편리한 핵심 생산성 도구가 될 것입니다.





