/recap의 역할
OpenAI 문서의 단계는 간단합니다. "Codex가 유휴 상태일 때 /recap을 입력하세요." 그러면 Codex는 지금까지의 대화에 대한 간략한 요약을 작성하여 터미널에 표시합니다.
문서에는 두 가지 포인트가 더 추가되어 있습니다. 수동 recap은 설정과 관계없이 작동합니다: "tui.auto_recap = false인 경우에도 Codex는 대화 요약을 생성합니다." 또한 진짜 문제가 공간 부족이라면 다른 기능을 안내합니다: "context 공간을 확보하고 싶을 때는 /compact를 사용하세요."
즉, /recap은 독자인 사용자를 위한 것입니다. 채팅 공간을 확보하지 않으며, 문서에서는 채팅의 context를 그대로 유지하는 옵션으로 제시됩니다.
recap이 읽는 내용
Codex의 오픈 소스 코드를 보면 recap에 무엇이 포함되는지 알 수 있으며, 이는 전체 세션보다 범위가 좁습니다.
최근에 보이는 대화만 포함. 코드는 대화에서 볼 수 있는 메시지(사용자의 요청과 Codex의 응답)를 바탕으로 요약을 작성합니다. 도구 출력, 추론 과정, 다른 스레드의 기록은 제외됩니다.
제한된 창(Window). 코드는 최대 8개의 최근 대화를 가져와 지침을 포함하여 약 8,192 토큰의 고정된 예산 내에 맞춥니다. 기록이 길어지면 오래된 대화부터 삭제되고, 긴 메시지는 시작과 끝부분만 남기고 중간이 잘립니다.
최신 요청은 온전히 유지. 최신 메시지에 아직 답변이 달리지 않았다면, 코드는 이를 최신 응답과 함께 유지하여 요약에 사용자가 방금 요청한 내용이 반영되도록 합니다.
지시 사항(Steers) 연결 유지. Codex가 작업하는 동안 메시지를 보낸 경우, 코드는 인접한 사용자 메시지를 하나의 요청으로 처리합니다. 따라서 작업 중간의 수정 사항이 원래 요청과 함께 읽힙니다.
recap에 요구되는 내용
Codex가 해당 기록과 함께 보내는 지침은 작업에 복귀하는 사람을 위한 짧은 상황 파악을 요구합니다: 광범위한 목표, 의미 있는 진전, 그리고 모든 차단 요소(blocker)입니다. 또한 아직 설치되지 않은 수정 사항이나 실행되지 않은 테스트와 같은 미결 사항을 유지하고, 제안됨, 대기 중, 구현됨, 테스트됨, 게시됨 등의 작업 상태를 구분하도록 모델에 요청합니다. 목표 길이는 사용자 언어로 40~60단어이며, 80단어를 넘지 않아야 합니다.
recap에는 다음 작업(next action)이 포함될 수도 있지만, 사용자에게 답변되지 않은 질문이 있거나, 합의된 다음 단계가 있거나, 차단 요소에 대한 명확한 해결책이 있는 경우에만 해당됩니다. 코드는 요약을 700자로, 다음 작업을 200자로 제한합니다.
지침은 모델에게 대화를 데이터로 취급하고, 그것이 불완전하거나 발췌된 것일 수 있음을 기억하라고 지시합니다. 이는 사용자에게도 유효한 경고입니다. recap은 전체 기록이 아니라 최근 메시지로 구축된 빠른 오리엔테이션 도구입니다.
recap이 실행되는 위치
코드는 세션에서 사용 중인 것과 동일한 모델을 사용하여 별도의 임시 요청을 통해 요약을 생성합니다. 결과가 도착하면 터미널에 표시됩니다.
이러한 설계 덕분에 문서는 /recap을 압축 없이 내용을 파악하는 방법으로 설명할 수 있습니다. 작업이 대화와 별개로 진행되기 때문입니다. 요약을 생성하기 위해 채팅 기록이 요약되거나 대체되지 않습니다.
recap은 터미널 기능입니다. 클라우드 대화에서 /recap을 시도하면 대화 요약을 사용할 수 없다는 메시지가 표시됩니다. 이미 요약이 생성 중이거나 아직 대화가 없는 경우, Codex는 새로 시작하는 대신 해당 상태를 알려줍니다.
Codex가 스스로 요약을 만드는 시점
자동 요약은 기본적으로 켜져 있습니다. OpenAI의 구성 참조 가이드는 이 설정을 "터미널이 포커스되지 않은 동안 자동 대화 요약을 생성함(기본값: true)"으로 설명합니다.
오픈 소스 코드에는 구체적인 타이밍이 추가되어 있습니다:
- 터미널이 포커스에서 벗어나야 함. 터미널 창에서 다른 곳으로 전환하면 타이머가 시작됩니다. 요약이 만들어지기 전에 돌아오면 대기 중인 요약은 취소됩니다.
- 약 30분. 코드는 터미널이 포커스를 잃은 시점과 마지막 턴이 끝난 시점 중 더 늦은 시점으로부터 30분을 기다립니다.
- 충분한 대화량. 첫 번째 자동 요약이 나오기 전까지 최소 3번의 완료된 턴이 필요합니다.
- 지난 요약 이후 새로운 내용. 요약이 한 번 생성된 후에는 다시 생성하기 전까지 최소 2번의 완료된 턴이 더 필요합니다.
따라서 짧은 세션이나 터미널을 계속 지켜보고 있는 세션에서는 자동 요약이 생성되지 않습니다. 자리를 비운 긴 세션에서만 생성됩니다.
자동 요약 끄는 방법
이 설정은 Codex 0.153.0에서 도입되었으며, 릴리스 노트에는 다음과 같이 적혀 있습니다: "수동 /recap은 유지하면서 자동 요약을 비활성화하려면 tui.auto_recap = false로 설정하세요."
Codex 구성 파일의 [tui] 섹션 아래에서 auto_recap을 false로 설정하십시오. 구성 참조 가이드는 유지되는 기능을 확인해 줍니다: "자동 요약을 비활성화하려면 false로 설정하세요. /recap은 여전히 사용 가능합니다."
이 설정을 끄면 Codex는 자동 요약 예약을 중단하지만, 사용자가 요청할 때 /recap은 여전히 작동합니다.
/recap vs /compact
두 명령어 모두 요약과 관련이 있어 혼동되기도 합니다. 하지만 이들은 채팅에 정반대의 작용을 합니다.
/recap은 사용자를 위해 요약을 작성하고 대화는 그대로 둡니다. Codex는 동일한 기록을 가지고 계속 작업합니다.
/compact는 Codex를 위해 요약을 작성하고 이를 이전 턴 대신 사용합니다. 이렇게 하면 context 창의 공간이 확보되지만, 이전의 세부 사항은 요약으로 대체됩니다. Codex는 채팅이 한계에 도달하면 자동으로 압축을 수행하기도 합니다. Codex의 GPT-6.1 Sol 500k context 가이드에서 이 현상이 언제 발생하는지 설명합니다.
긴 세션에 복귀했을 때의 실질적인 순서: 먼저 recap을 읽어 현재 위치를 파악한 다음, 채팅 압축이 정말 필요한지 결정하세요.
Claude Code를 함께 사용하는 경우
Claude Code에도 같은 이름과 유사한 목적의 기능이 있지만, 두 도구를 번갈아 사용할 때 주의해야 할 세부 사항이 다릅니다.
Anthropic은 Claude Code 버전을 "지금까지 세션에서 일어난 일에 대한 한 줄 요약"으로 설명합니다. Codex보다 훨씬 짧은 시간을 기다립니다. 요약은 "마지막 완료된 턴으로부터 최소 3분이 지나고 터미널이 포커스되지 않았을 때 백그라운드에서 생성됩니다." Codex와 마찬가지로 어느 정도의 기록이 먼저 필요하며, Anthropic은 요약이 "절대 연속으로 두 번 나타나지 않는다"고 덧붙입니다.
제한 사항과 스위치도 다릅니다. "Claude Code는 자동 요약과 /recap 출력을 모두 400자로 제한합니다." 자동 요약은 구성 파일이 아닌 /config에서 끄며, 환경 변수를 통해 강제로 켜거나 끌 수 있습니다. Anthropic은 비용 가이드에서 "세션 요약 및 유휴 상태 압축은 유휴 상태일 때 토큰을 사용할 수 있다"고 명시합니다.
즉, 동일한 명령어 이름이라도 Codex에서는 더 긴 대기 시간 후에 더 긴 요약을 제공하고, Claude Code에서는 몇 분 후에 단 한 줄의 요약을 제공합니다.
recap이 대체할 수 없는 것
recap은 최근 메시지로부터 요청 시 생성됩니다. 이는 읽기 보조 도구일 뿐, memory나 인수인계 문서가 아닙니다.
작업을 새 채팅으로 옮기는 경우, recap의 길이와 창은 모든 내용을 전달하기에 너무 작습니다. 인수인계 프롬프트 작성 가이드에서 새 채팅에 필요한 내용을 다룹니다. 로컬과 worktree 사이 또는 다른 머신으로 채팅을 옮기는 경우, Codex 인수인계 가이드에서 무엇이 함께 이동하는지 설명합니다.
Codex가 모든 세션에서 알아야 할 사실에 대해, Codex는 자체 memory와 프로젝트의 AGENTS.md를 가지고 있습니다. Codex memories v2 가이드에서 이러한 정보가 어디에 저장되는지 다룹니다.
또한 채팅이 요약이 필요한 것이 아니라 사라진 것처럼 보인다면, 누락된 Codex 채팅 기록 찾기 가이드를 통해 Codex가 채팅을 보관하는 위치를 확인하세요.
사람들이 흔히 하는 실수
context를 확보하기 위해 /recap 사용. 압축되지 않습니다. 공간이 필요할 때는 /compact를 사용하세요.
전체 세션의 요약을 기대함. 고정된 예산 내에서 최대 8개의 최근 대화만 읽으며, 도구 출력은 제외됩니다.
recap을 기록으로 취급함. 복귀했을 때만 표시됩니다. 보관하고 싶은 내용은 직접 제어할 수 있는 곳에 저장하세요.
자동 요약을 끄면 /recap도 잃는다고 생각함. 자동 요약을 비활성화해도 수동 명령어는 유지됩니다.
클라우드 대화에서 /recap 시도. 그곳에서는 요약을 사용할 수 없습니다.
해결책: 요약은 방향 파악에만 사용하고, 기록은 다른 곳에 보관하기
1단계: 결정하기 전에 요약을 먼저 읽으세요
긴 세션에 복귀하면 먼저 요약을 읽으십시오. 실행되지 않은 테스트나 설치되지 않은 변경 사항 등 미결 사항이 기억과 일치하는지 확인하세요. 요약이 나타나지 않았다면 Codex가 유휴 상태일 때 /recap을 입력하세요. 요약에 다음 작업이 언급되어 있다면, 이를 Codex가 이미 수락한 지침이 아니라 확인해야 할 제안으로 취급하세요.
2단계: 요약이 알려주지 않아도 될 내용을 기록하세요
특정 접근 방식을 선택한 이유, 제외된 사항, 금지된 사항 등은 최근 메시지 요약에 의존해서는 안 됩니다. 기억이 생생할 때 이를 기록해 두세요.
3단계: 지속적인 사실은 모든 세션이 볼 수 있는 곳에 두세요
프로젝트 규칙은 AGENTS.md로 옮기고, 결정 사항은 직접 관리하는 노트에 보관하세요. 그러면 마지막 요약 내용과 관계없이 새 세션이 해당 정보와 함께 시작됩니다.
MemoryLake에서 설정하기
recap은 복귀 시 생성되는 최근 메시지의 짧은 뷰입니다. 작업 이면의 결정 사항은 그보다 오래 지속되며, recap의 작은 창은 오래된 대화부터 삭제합니다.
MemoryLake는 이러한 결정 사항을 직접 관리하는 한 곳에 보관하여 ChatGPT, Claude Code, Codex 등 연결된 어시스턴트들이 사용할 수 있게 해주는 memory 레이어입니다.
사용자는 자신의 언어로 직접 항목을 작성합니다. Codex 세션, recap, AGENTS.md 파일, Codex memories 또는 공급업체의 저장소에서 내용을 읽거나, 쓰거나, 삭제하지 않습니다. recap은 OpenAI가 설명한 방식 그대로 계속 작동합니다.
1단계: API 키 생성
로그인 후 대시보드에서 키를 생성합니다. 이 키는 MemoryLake 워크스페이스에 속하며 ChatGPT 및 Codex 계정과는 별개입니다.

2단계: 첫 번째 memory 업로드
해결책 2단계의 노트(결정 사항, 제외된 접근 방식, 경계 사항)부터 시작하세요. 항목당 한 가지 포인트씩 날짜를 기입합니다.

3단계: AI 및 에이전트 연결
Codex 및 사용하는 다른 어시스턴트를 연결하세요. 세션이 시작될 때마다 동일한 항목을 사용할 수 있습니다.

실제적인 변화
첫 번째 차이점은 더 빠른 복귀입니다. 요약이 현재 상황을 알려주며, 그것이 채팅 내용을 변경하지 않았음을 알 수 있습니다.
두 번째는 요약에 대한 의존도 감소입니다. 작업의 근거가 기록되어 있으므로 짧은 요약이 그 모든 내용을 담고 있을 필요가 없습니다.
세 번째는 더 안정적인 새 세션입니다. 마지막 몇 개의 메시지 요약 대신 사용자의 결정 사항과 함께 세션이 시작됩니다.
Codex 요약 활용 베스트 프랙티스
방향 파악에는 /recap을 사용하세요. 공간 확보에는 /compact를 사용하세요.
긴 세션에서는 자동 요약을 켜두세요. 방해가 된다면 tui.auto_recap으로 끄세요.
창(Window)의 한계를 기억하세요. 최대 8개의 최근 대화만 포함되며 도구 출력은 제외됩니다.
미결 사항을 확인하세요. 요약은 완료되지 않은 작업을 표시하도록 요청받지만, 직접 확인이 필요합니다.
터미널을 사용하세요. 클라우드 대화에서는 요약을 사용할 수 없습니다.
결정 사항은 내릴 때마다 기록하세요. 요약은 이를 보관하기에 적절한 장소가 아닙니다.
결론
/recap은 Codex에게 현재 대화의 짧은 요약을 요청합니다. 이는 최근에 보이는 대화를 바탕으로 채팅과 별개로 생성되므로 채팅의 context는 그대로 유지됩니다. Codex는 터미널이 약 30분 동안 포커스에서 벗어나 있고 대화가 충분히 진행된 경우 자동으로 요약을 생성하며, 수동 명령어는 유지한 채 tui.auto_recap = false로 자동 기능을 끌 수 있습니다.
요약을 사용하여 상황을 파악하고, 공간이 필요할 때는 /compact를 사용하세요. 작업 이면의 결정 사항은 모든 세션이 읽을 수 있는 곳에 보관하십시오.