MemoryLake
모든 글로 돌아가기
Tutorial2026년 10월 21일·10 분 소요

Codex 채팅을 내보내고 해결된 내용을 보존하는 방법 (2026년 가이드)

긴 Codex 세션에는 최종 diff 이상의 정보가 담겨 있습니다. 처음 시도했던 접근 방식과 그것이 실패한 이유, 마침내 테스트를 통과하게 만든 플래그, 그리고 Codex가 무시하기를 멈출 때까지 두 번이나 설명해야 했던 제약 조건 등이 포함되어 있습니다. 세션이 종료되면 이러한 추론 과정은 채팅에 그대로 남게 되며, 채팅은 나중에 다시 열어볼 가능성이 가장 낮은 부분입니다.

Codex에는 이를 꺼내기 위한 명령어가 있습니다. CLI에서 /export를 사용하면 전체 대화를 마크다운(Markdown) 형식으로 파일이나 클립보드에 기록할 수 있습니다. 마지막 답변을 가져오거나, 긴 채팅을 요약하거나, 스크립트 실행 결과를 캡처하는 명령어들도 제공됩니다.

이 가이드에서는 각 명령어가 어떻게 작동하는지, Codex가 어떤 로컬 기록을 유지하고 설정에 의해 어떻게 제한되는지, 그리고 내보낸 채팅을 다음 세션에서 사용할 수 있는 형태로 변환하는 방법을 다룹니다. 목록에서 사라진 채팅을 찾고 계신다면, 누락된 Codex 채팅 기록 찾기 가이드를 참고하세요. 채팅을 저장하는 대신 브랜치를 따고 싶다면, Codex 채팅 포크 가이드에서 /fork 사용법을 확인하실 수 있습니다.

Codex 채팅을 내보내는 데 1분을 투자할 가치가 있는 이유

로컬 기록은 설정에 따라 달라집니다

기본적으로 Codex는 로컬 기록을 유지합니다. OpenAI의 구성 가이드에 따르면 "기본적으로 Codex는 로컬 세션 기록을 CODEX_HOME(예: ~/.codex/history.jsonl) 아래에 저장합니다." 나중에 필요한 내용이 보존될지 여부는 설정에 따라 다릅니다.

두 가지 설정이 이를 변경합니다. [history] 아래의 persistence를 none으로 설정하면 로컬 기록 저장이 비활성화됩니다. 그리고 history.max_bytes는 파일 크기를 제한합니다: "파일이 제한을 초과하면 Codex는 가장 오래된 항목을 삭제하고 최신 기록을 유지하면서 파일을 압축합니다." codex exec 실행의 경우, --ephemeral 플래그는 "세션 롤아웃 파일을 디스크에 저장하지 않고" Codex를 실행합니다.

귀하 또는 귀하의 팀이 이러한 설정을 적용한 경우, 나중에 검색하려는 대화 기록이 남아있지 않을 수 있습니다.

압축(Compaction)은 채팅을 재작성합니다

긴 세션은 model_auto_compact_token_limit에 설정된 임계값에 따라 자동으로 압축되거나 수동으로 압축될 수 있습니다. /compact 명령어는 "이전 턴을 간결한 요약으로 대체하여 컨텍스트를 확보하는 동시에 중요한 세부 정보를 유지합니다." 이는 컨텍스트 창(context window)을 관리하는 데는 유용하지만, 활성 채팅의 이전 대화가 요약본으로 대체됩니다. 압축하기 전에 내보내기를 수행하면 전체 대화를 보존할 수 있습니다.

삭제는 영구적입니다

보관(Archiving)과 삭제(Deleting)는 다릅니다. /archive는 세션 목록에서 세션을 제거하되 대화 기록은 유지하며, codex unarchive로 복원할 수 있습니다. 반면 /delete는 복원을 지원하지 않습니다: "Codex는 대화 기록과 생성된 하위 세션을 영구적으로 삭제합니다."

메모리도 채팅을 그대로 보존하지 않습니다

Codex에는 메모리 기능이 있지만, 이는 대화의 복사본이 아닙니다. OpenAI는 "ChatGPT 웹은 ChatGPT 메모리를 사용하는 반면, 로컬 Codex 클라이언트는 별도의 로컬 메모리 저장소 및 제어 기능을 사용합니다"라고 설명합니다. 데스크톱 앱에서 Codex 메모리는 "선택한 머신에 대해" 켜거나 끌 수 있습니다. 또한 OpenAI는 항상 적용되어야 하는 규칙에 대해 메모리에만 의존하지 말라고 권고합니다: "메모리는 유용한 보조 기억 레이어로 취급해야 하며, 항상 적용되어야 하는 규칙의 유일한 소스로 삼아서는 안 됩니다." Codex 로컬 메모리 활성화 가이드에서 작동 방식을 자세히 다룹니다.

Codex가 제공하는 채팅 내보내기 기능

/export: 마크다운 형식의 전체 대화

Codex CLI에서 /export를 입력하고 '클립보드에 복사(Copy to clipboard)' 또는 '파일로 저장(Save to file)'을 선택합니다. OpenAI의 슬래시 명령어 참조 문서에 따르면 "Codex는 전체 대화를 마크다운 형식으로 내보냅니다." 메뉴를 건너뛰고 파일을 직접 작성하려면 /export session.md를 실행하세요. 단, 한 가지 조건이 있습니다: "내보내기 전에 현재 턴이 끝날 때까지 기다리십시오."

/copy: 마지막 답변만 복사

마지막 결과만 필요한 경우, /copy는 "가장 최근에 완료된 Codex 출력을 클립보드에 복사"합니다. 메인 TUI에서 Ctrl+O를 누를 수도 있습니다. 턴이 아직 실행 중인 경우, 진행 중인 응답 대신 가장 최근에 완료된 출력을 복사합니다. 첫 번째 출력이 완료되기 전이나 롤백 직후에는 이 명령어를 사용할 수 없습니다.

/recap: 압축 없는 요약

/recap은 Codex가 유휴 상태일 때 현재 대화의 요약을 생성합니다. 참조 문서에서는 이 명령어의 목적을 "컨텍스트를 압축하지 않고 채팅 내용을 파악하는 것"으로 설명합니다. 자동 요약 기능을 꺼둔 경우에도 작동합니다. 요약본은 개인 노트를 작성할 때 좋은 시작점이 되지만, 이는 요약일 뿐 대화 기록 원본은 아닙니다.

스크립트 실행: 출력을 파일로 기록

codex exec로 시작된 실행의 경우, 슬래시 명령어 없이도 두 개의 플래그를 통해 출력을 캡처할 수 있습니다. --json은 "형식화된 텍스트 대신 줄바꿈으로 구분된 JSON 이벤트를 출력"합니다. 그리고 --output-last-message는 "어시스턴트의 최종 메시지를 파일에 기록"하며, OpenAI는 이를 "다운스트림 스크립팅에 유용하다"고 설명합니다.

Resume 및 fork: 채팅 자체에서 계속 작업하기

때로는 파일이 전혀 필요 없고 세션을 다시 불러오기만 하면 될 때도 있습니다. codex resume은 "ID로 이전 대화형 세션을 계속하거나 가장 최근의 채팅을 재개"합니다. 스크립트 실행의 경우, codex exec resume은 세션 ID를 인자로 받거나, --last를 사용하여 "현재 작업 디렉토리에서 가장 최근 세션을 계속"하고, --all을 사용하여 모든 디렉토리의 세션을 고려할 수 있습니다. codex fork는 "원본 대화 기록을 보존하면서" 이전 채팅에서 새 채팅을 생성합니다.

이러한 기능들은 대화를 계속 이어가게 해주지만, 세션이 여전히 디스크에 남아 있어야 작동합니다. 내보내기(export)는 디스크 보존 여부에 영향을 받지 않는 안전한 복사본을 만듭니다.

데스크톱 앱

/export 명령어는 CLI 참조 문서에 설명되어 있습니다. ChatGPT 데스크톱 앱의 키보드 단축키 목록에는 Codex 전용으로 표시된 '대화 경로 복사(Copy conversation path)'가 포함되어 있어 대화의 경로를 복사할 수 있습니다. 데스크톱 앱의 문서에는 내보내기 명령어가 별도로 설명되어 있지 않으므로, 전체 마크다운 내보내기를 원하신다면 CLI를 사용하는 것이 공식적인 방법입니다.

내보내기가 캡처하는 것과 캡처하지 않는 것

내보내기 파일은 텍스트 형태의 대화 기록입니다. 코드 변경 사항 자체는 작업 트리(working tree)와 git 기록에 존재하므로, 커밋과 /diff가 변경 사항의 기록으로 남습니다. /diff는 "스테이징된 변경 사항, 아직 스테이징되지 않은 변경 사항, Git이 아직 추적하지 않은 파일"을 보여줍니다.

또한 내보내기는 내용을 자동으로 정리해 주지 않습니다. 3시간 동안 진행된 세션의 마크다운 기록에는 모든 막다른 길(dead end)과 모든 도구 호출이 포함되어 있습니다. 이는 아카이브로서는 유용하지만 참고 자료로 활용하기는 어렵습니다. 진짜 유용한 부분은 채팅을 통해 '해결된 내용'이며, 이를 추출하는 것은 별도의 단계입니다.

사람들이 흔히 먼저 시도하는 방식과 한계

로컬 기록에만 의존하기. 기본적으로 켜져 있지만, [history] 설정, 크기 제한 또는 codex exec 실행 시의 --ephemeral 플래그로 인해 필요할 때 대화 기록이 남아있지 않을 수 있습니다.

먼저 압축한 후 나중에 내보내기. /compact를 실행한 후에는 활성 채팅의 이전 대화가 요약본으로 대체됩니다.

정리를 위해 완료된 세션 삭제하기. /delete는 영구적입니다. /archive는 대화 기록을 유지하며 되돌릴 수 있습니다.

Codex 메모리를 공식 기록으로 취급하기. 메모리는 머신별 보조 기억 레이어일 뿐이며, OpenAI는 필수 지침을 AGENTS.md나 버전 관리 대상 문서에 보관할 것을 권장합니다.

내보낸 전체 내용을 다음 세션에 그대로 붙여넣기. 작동은 하지만, 긴 대화 기록은 쓸데없는 시도들로 컨텍스트 창을 가득 채우게 됩니다. 요약본을 사용하면 훨씬 적은 공간으로 동일한 결론을 전달할 수 있습니다.

내보낸 파일을 저장만 해두고 절대 열어보지 않기. 가공되지 않은 대화 기록은 아카이브일 뿐입니다. 중요한 내용을 추출하지 않으면 다음 세션에 도움이 되지 않습니다.

해결책: 전체 채팅을 내보내고, 해결된 내용을 추출한 뒤, 다음 세션이 찾을 수 있는 곳에 두기

1단계: 압축, 보관 또는 삭제하기 전에 내보내기

세션에서 보존할 가치가 있는 결과가 나오면, 세션이 온전할 때 내보내기를 수행하세요. 현재 턴이 끝날 때까지 기다린 다음, 세션의 목적을 나타내는 파일 이름과 함께 /export를 실행합니다(예: /export auth-retry-fix.md). 팀에서 세션 노트를 버전 관리 시스템에 보관하지 않는 한, 리포지토리 외부에 저장하는 것이 좋습니다.

컨텍스트를 확보하기 위해 /compact를 실행하려는 경우, 먼저 내보내기를 하세요. /delete를 실행할 때도 마찬가지입니다.

2단계: 결론 추출하기

내보낸 파일을 열고 짧은 요약을 작성합니다. 먼저 /recap을 실행하면 시작점을 잡는 데 도움이 됩니다. 다음 네 가지 정보를 정리하세요:

  • 결정 사항(Decisions): 선택한 내용과 그 이유.
  • 막다른 길(Dead ends): 시도했으나 작동하지 않았던 방법 (다음 세션에서 반복하지 않도록).
  • 작동하는 명령어 및 설정: 문제를 해결한 정확한 플래그, 환경 변수 또는 단계.
  • 남은 질문: 아직 해결되지 않은 부분과 다음에 확인해야 할 사항.

자격 증명, 토큰, 고객 데이터 등 세션에서 처리된 민감한 정보는 모두 제외하세요. 디버깅 세션의 유용한 요약 예시는 다음과 같습니다: 재시도 버그는 두 곳에 설정된 타임아웃으로 인해 발생함; 클라이언트 값만 변경하는 것은 효과가 없었음; 둘 다 설정하고 워커를 재시작하여 해결함; 통합 테스트에는 여전히 느린 경로를 위한 픽스처가 필요함.

3단계: 다음 세션이 볼 수 있는 곳에 결론 두기

리포지토리 규칙 및 규정은 OpenAI가 필수 팀 지침을 보관하도록 권장하는 AGENTS.md 또는 버전 관리 대상 문서에 속합니다. 특정 라이브러리를 다른 라이브러리보다 선택한 이유와 같이 유용하지만 규칙은 아닌 노트는 개인 노트나 메모리 레이어에 저장할 수 있습니다.

다음 세션을 시작할 때, 전체 대화 기록 대신 요약본을 Codex에 제공하세요. 짧고 정확한 요약은 원본 대화보다 훨씬 적은 컨텍스트를 차지합니다. Codex가 프로젝트 컨텍스트를 잊어버리는 이유에 대한 가이드에서 Codex가 자체적으로 로드하는 항목들을 다룹니다.

MemoryLake에서 설정하기

내보내기는 문제의 절반만 해결합니다. 즉, 채팅이 저장되었을 뿐입니다. 남은 과제는 누군가 마크다운 기록을 일일이 뒤지지 않고도 Codex 및 동일한 프로젝트에 사용하는 다른 도구에서 해당 결론을 활용할 수 있도록 만드는 것입니다.

MemoryLake는 이러한 결론을 직접 관리하는 하나의 목록으로 유지하고, Codex 및 연결된 다른 어시스턴트(예: Claude Code, ChatGPT)에서 사용할 수 있도록 지원하는 메모리 레이어입니다.

항목은 본인의 언어로 직접 작성합니다. Codex 세션, history.jsonl, 내보낸 파일, Codex 메모리 또는 기타 공급업체의 저장소에서 데이터를 읽거나 쓰거나 삭제하지 않습니다. 자격 증명이나 팀 정책상 리포지토리에 보관해야 하는 정보는 제외하세요.

1단계: API 키 생성

로그인한 후 대시보드에서 키를 생성합니다. 이 키는 MemoryLake 워크스페이스에 속하며, ChatGPT 및 Codex 로그인과는 별개입니다.

에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔
에이전트에서 사용할 새 키를 생성하고 복사하는 API 키 화면을 보여주는 MemoryLake 콘솔

2단계: 첫 번째 메모리 업로드

해결책의 2단계에서 작성한 요약(내보낸 세션의 결정 사항, 막다른 길, 작동하는 명령어)으로 시작하세요. 항목당 하나의 요점을 작성하고, 날짜를 기입하고, 리포지토리나 작업으로 레이블을 지정합니다.

첫 번째 문서가 업로드되어 검색 가능한 메모리가 된 파일 목록을 보여주는 MemoryLake 워크스페이스
첫 번째 문서가 업로드되어 검색 가능한 메모리가 된 파일 목록을 보여주는 MemoryLake 워크스페이스

3단계: AI 및 에이전트 연결

Codex 및 사용하는 다른 어시스턴트를 연결합니다. 동일한 문제에 대한 다음 세션은 이전 세션이 해결한 내용에서부터 시작됩니다.

메모리 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크 목록을 보여주는 MemoryLake 연동 화면
메모리 레이어에 연결할 수 있는 AI 클라이언트 및 에이전트 프레임워크 목록을 보여주는 MemoryLake 연동 화면

실제 업무에서의 변화

첫 번째 차이점은 완료된 세션이 유용한 흔적을 남긴다는 것입니다. 전체 대화 기록이 저장되고, 결론은 실제로 다시 읽어볼 수 있는 형태로 기록됩니다.

두 번째는 다음 세션이 훨씬 앞선 지점에서 시작된다는 점입니다. 막다른 길과 작동하는 명령어를 이미 알고 있으므로, 첫 한 시간을 이를 다시 알아내는 데 허비하지 않습니다.

세 번째는 작업 내용이 도구 간에 이동할 수 있다는 것입니다. 프로젝트의 일부를 다른 에이전트로 전환하더라도 결론은 그대로 유지됩니다. Codex에서 Claude Code로 마이그레이션하는 가이드에서 이 전환을 다루며, Claude Code 세션을 다른 머신으로 내보내는 가이드에서 반대 방향의 전환을 다룹니다.

Codex 채팅 내보내기 모범 사례

채팅이 온전할 때 내보내기. /compact, /archive 또는 /delete를 실행하기 전에 수행하세요.

턴이 끝날 때까지 기다리기. OpenAI는 내보내기 전에 대화 턴이 완료될 때까지 기다릴 것을 권장합니다.

결과에 따라 파일 이름 지정하기. 나중에 더 빨리 찾을 수 있습니다.

단일 답변에는 /copy 사용하기. 메인 TUI에서 Ctrl+O를 눌러도 동일하게 작동합니다.

플래그를 사용하여 스크립트 실행 캡처하기. codex exec와 함께 --output-last-message 또는 --json을 사용하세요.

삭제 대신 보관하기. /archive는 대화 기록을 유지하며, codex unarchive로 세션을 다시 불러올 수 있습니다.

기록 설정 확인하기. [history], history.max_bytes 또는 --ephemeral이 적용 중인지 파악하세요.

요약한 다음 요약본 보관하기. 가공되지 않은 대화 기록은 아카이브일 뿐이며, 참고 자료가 아닙니다.

결론

Codex는 대화를 내보낼 수 있는 여러 가지 방법을 제공합니다. /export는 전체 채팅을 마크다운으로 기록하고, /copy는 마지막 답변을 가져오며, /recap은 압축 없이 요약하고, codex exec 플래그는 스크립트 출력을 캡처합니다. 로컬 기록은 기본적으로 존재하지만 설정을 통해 끄거나 제한할 수 있으며, /compact는 이전 대화를 요약으로 대체하고, /delete는 영구적입니다.

채팅이 온전할 때 내보내고, 결정 사항, 막다른 길, 작동하는 명령어를 추출한 뒤, 규칙은 AGENTS.md에 보관하고 그 외의 모든 것은 다음 세션이 찾을 수 있는 곳에 두세요.

자주 묻는 질문

Codex 채팅은 어떻게 내보내나요?

Codex CLI에서 /export를 입력하고 '클립보드에 복사(Copy to clipboard)' 또는 '파일로 저장(Save to file)'을 선택하거나, /export session.md를 실행하여 파일을 직접 작성합니다. Codex는 전체 대화를 마크다운 형식으로 내보냅니다. 먼저 현재 턴이 끝날 때까지 기다리십시오.

ChatGPT 데스크톱 앱에서 Codex 채팅을 내보낼 수 있나요?

/export 명령어는 Codex CLI 참조 문서에 설명되어 있습니다. 데스크톱 앱의 단축키 목록에는 Codex 채팅을 위한 '대화 경로 복사(Copy conversation path)'가 포함되어 있지만, 공식 문서에는 내보내기 명령어가 설명되어 있지 않습니다.

Codex는 채팅 기록을 어디에 저장하나요?

기본적으로 Codex는 로컬 세션 기록을 CODEX_HOME(예: ~/.codex/history.jsonl) 아래에 저장합니다. [history] 설정으로 저장을 비활성화하거나 history.max_bytes로 파일 크기를 제한할 수 있습니다.

/compact를 실행하면 Codex 채팅 기록이 삭제되나요?

컨텍스트를 확보하기 위해 활성 채팅의 이전 대화를 간결한 요약으로 대체합니다. 전체 대화 내용을 보존하려면 먼저 채팅을 내보내세요.

삭제된 Codex 세션을 복구할 수 있나요?

아니요. OpenAI에 따르면 /delete는 대화 기록과 생성된 하위 세션을 영구적으로 삭제합니다. 보관된 세션은 codex unarchive로 복원할 수 있습니다.

마지막 Codex 답변만 저장하려면 어떻게 해야 하나요?

/copy를 사용하거나 메인 TUI에서 Ctrl+O를 눌러 가장 최근에 완료된 출력을 복사합니다. codex exec 실행의 경우, --output-last-message를 사용하여 최종 메시지를 파일에 기록할 수 있습니다.