MemoryLake
모든 글로 돌아가기
Tutorial2026년 7월 29일·6 분 소요

컨텍스트 손실 없이 Codex에서 Claude Code로 마이그레이션하는 방법 (2026)

많은 개발자들이 지난 7월 Codex를 다시 고민하는 시간을 보냈습니다. Codex의 GPT-5.6 기본 입력 컨텍스트가 조용히 축소되었기 때문입니다. 공식 발표가 아닌 GitHub 설정 변경을 통해 발견된 이 변화로 인해, 기존 약 372k 토큰에서 272k 토큰으로 약 27%가 줄어들었습니다. 이는 긴 에이전트 작업에서 압축(compaction)이 더 빨리 발생하여 기존 요구사항을 유실하게 만듦을 의미합니다. 만약 Claude Code로 전환을 고려 중이시라면, 마이그레이션 과정이 대부분 수동으로 진행되며 가장 아쉬운 부분은 아예 내보낼 수 없다는 사실을 알게 되실 것입니다.

요약하자면, Codex에서 Claude Code로의 자동 임포터는 존재하지 않습니다. `AGENTS.md` 파일은 수동으로 `CLAUDE.md`로 변환해야 하지만, 세션 수준의 이해(에이전트가 사용자와 함께 도출한 결정, 수정 사항, 아키텍처 등)는 내보낼 방법이 없으므로 Claude Code는 리포지토리를 처음부터 다시 grep하며 시작해야 합니다.

이 가이드에서는 Codex 설정을 Claude Code로 이전하는 방법, 이전되지 않는 항목, 그리고 두 번째 에이전트에게 코드베이스를 처음부터 다시 가르치지 않고 전환하는 방법을 다룹니다.

Codex 컨텍스트가 Claude Code로 인계되지 않는 이유

각 도구가 저장하는 정보

Codex는 시작할 때 AGENTS.md를 읽고, 그 외의 모든 것(열었던 파일, 내린 결정, 진행 중인 계획 등)은 컨텍스트 창에 보관하며 창이 가득 차면 이를 압축합니다. Claude Code도 동일한 방식으로 작동합니다. 시작할 때 CLAUDE.md를 읽고, 나머지는 세션 컨텍스트에 보관합니다. 정적 지침 파일은 직접적으로 대응되는 항목이 있지만, 동적인 이해는 두 도구 모두에 저장할 공간이 없기 때문에 서로 전달할 수 없습니다.

이전되지 않는 기술적 이유

AGENTS.mdCLAUDE.md는 단순한 마크다운 파일이므로 복사하여 수정하면 됩니다. 하지만 세션 상태는 구조적으로 일시적(ephemeral)입니다. Codex는 긴 작업 중에 이를 압축하여 없애고 세션이 끝나면 폐기하므로, Claude Code에 임포터가 있더라도 내보낼 데이터가 없습니다. 즉, 에이전트의 메모리를 마이그레이션하는 것이 아니라, 설정 파일을 마이그레이션한 후 메모리를 수동으로 재구축하는 것입니다.

이로 인해 발생하는 비용

첫 번째 에이전트가 이미 이해하고 있던 코드베이스에 두 번째 에이전트를 다시 온보딩해야 합니다. 동일한 컨벤션, 동일한 아키텍처 설명, 동일한 수정 사항을 반복해야 하죠. AGENTS.md에 기록되지 않은 Codex의 모든 학습 내용은 그대로 사라집니다. 그리고 결국 이전과 똑같은 상황에 처하게 됩니다. Claude Code 역시 세션 간에 상태를 유지하지 않으므로(stateless), 내일이 되면 다시 빈손으로 시작합니다. 근본적인 문제를 해결하지 못한 채 도구만 바꾼 셈입니다.

단계별 가이드: Codex에서 Claude Code로 수동 마이그레이션하기

기본적인 방법은 수동이지만 핵심적인 부분은 이전할 수 있습니다.

1단계: Codex가 보유한 정보 추출하기

  1. 에이전트가 따르던 컨벤션, 명령어, 제약 조건이 담긴 AGENTS.md를 복사합니다.
  2. 최근 Codex 세션을 검토하여 파일에 기록되지 않은 결정 사항과 제약 조건(기각된 접근 방식, 아키텍처 선택, 알려진 함정 등)을 기록합니다.
  3. Codex 설정이 의존하고 있던 MCP 서버와 도구들을 파악합니다.

2단계: Claude Code 설정하기

  1. AGENTS.md를 참고하여 리포지토리 루트에 CLAUDE.md를 생성하거나 업데이트합니다.
  2. 수집한 결정 사항과 제약 조건을 CLAUDE.md 또는 Claude Code가 시작할 때 읽을 문서 파일에 추가합니다.
  3. Claude Code의 MCP 설정에 기존 MCP 서버를 다시 추가합니다.

이렇게 하면 번역된 기준선(설정 파일과 수동으로 복구한 컨텍스트)을 얻을 수 있습니다. 세션 기록은 이전되지 않으며, 일부 작업을 위해 Codex를 계속 병행해서 사용하더라도 이 정보들은 동기화되지 않습니다.

마이그레이션 시 유실되는 항목

파일에 기록되지 않은 세션 수준의 프로젝트 이해도, 과거 버그 수정의 배경 논리, 그리고 지속성 문제 그 자체입니다. 두 에이전트 모두 정보를 압축하고 폐기하므로, 수동으로 관리하는 파일만이 두 에이전트가 안정적으로 시작할 수 있는 유일한 수단입니다. 세션을 초월하여 유지되는 레이어를 추가하기 전까지는 말이죠.

더 나은 방법: 두 에이전트 모두를 위한 단일 메모리 레이어

마이그레이션이 고통스러운 이유는 각 에이전트의 지식이 에이전트 내부에서 소멸하기 때문입니다. 프로젝트 지식을 중립적인 레이어에 두면 전환은 단순한 연결 작업이 됩니다. MemoryLake는 아키텍처, 결정 사항, 컨벤션을 한 번만 저장하여(검색 가능, Git 스타일 버전 관리, 종단간 암호화 적용) MCP를 통해 Claude Code와 Codex 모두에 제공합니다. 따라서 어떤 에이전트도 빈 상태로 시작하지 않으며 전환 비용도 발생하지 않습니다.

비교 항목수동 Codex → Claude CodeMemoryLake 레이어
필요한 단계설정 번역 + 수동 복구3단계 (최초 1회)
세션 수준 이해도대부분 유실됨유지 및 검색 가능
압축(Compaction) 후 유지 여부아니요예 (필요 시 검색)
점진적 전환 중 동기화 유지아니요
결정 이력 관리없음예 (Git 스타일)
추후 에이전트 전환 또는 추가 시다시 번역 필요연결만 하면 됨

1단계: API 키 생성하기

MemoryLake에 로그인하여 키를 생성하고 첫 번째 요청을 보냅니다. 약 30초 정도 소요됩니다.

MemoryLake API 키 생성하기
MemoryLake API 키 생성하기

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

두 에이전트 모두에 필요한 프로젝트 지식(아키텍처 노트, 결정 기록, 컨벤션, API 문서 등 - 문서, 이미지 및 기타 파일 모두 지원)을 하나의 도구 설정 파일에 가두는 대신 이곳에 업로드합니다.

MemoryLake에 첫 번째 메모리 업로드하기
MemoryLake에 첫 번째 메모리 업로드하기

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

두 에이전트 모두 MCP를 지원합니다. API 키를 사용하여 Claude Code와 Codex의 MCP 설정에 MemoryLake를 추가합니다. 점진적으로 전환하는 동안에도 어느 한쪽이 뒤처지지 않으며, 동일한 메모리가 OpenClaw 및 기타 MCP 지원 에이전트에도 전달되므로 다음 도구로 바꿀 때도 처음부터 다시 시작할 필요 없이 연결만 하면 됩니다.

MCP를 통해 AI 및 에이전트 연결하기
MCP를 통해 AI 및 에이전트 연결하기

에이전트 재온보딩에 실제로 드는 비용

두 번 지불하는 전환 비용

에이전트를 이동한다는 것은 이전 에이전트가 이미 알고 있던 코드베이스를 다시 가르쳐야 함을 의미합니다. 게다가 새로운 에이전트는 매 세션마다 리포지토리를 새로 탐색해야 하므로 매일 이 비용을 지불해야 합니다. 사용량 기반 요금제 도구에서는 이러한 탐색 과정 자체가 실제 작업을 시작하기도 전에 토큰을 소모하게 만듭니다.

재온보딩 대신 검색 활용하기

공유 레이어를 사용하면 Claude Code가 컨벤션과 결정 사항을 매번 재구성하는 대신 필요할 때 가져오므로(pull), 첫날부터 정보를 파악하고 압축 후에도 이를 유지합니다. 더 빠른 시작, 반복적인 수정 감소, 비용 절감 효과를 얻을 수 있으며, MemoryLake의 토큰 절약 계산기(Token Saving Calculator)를 통해 실제 사용량에 따른 효과를 예측해 볼 수 있습니다.

크로스 에이전트 메모리 구축을 위한 모범 사례

전환하기 전에 먼저 복구하기

Codex가 보유한 세션 지식은 전환 시 가장 먼저 사라지는 부분입니다. 이를 공유 레이어에 먼저 캡처해 두면 마이그레이션 시 아무것도 잃지 않습니다.

컨벤션은 리포지토리에, 결정 사항은 레이어에 보관하기

CLAUDE.mdAGENTS.md는 각 도구가 시작할 때 읽는 안정적인 컨벤션을 보관하기에 좋습니다. 반면 날짜가 지정된 결정 사항, 기각된 접근 방식, 해결된 이슈 등은 압축으로 인해 유실되지 않도록 검색 가능한 메모리 레이어에 보관해야 합니다.

리포지토리별 스코프 지정

리포지토리별로 하나의 메모리 스코프를 유지하면 두 에이전트의 컨텍스트를 정확하게 유지하고, 한 프로젝트의 컨벤션이 다른 프로젝트로 유출되는 것을 방지할 수 있습니다.

결론

Codex에서 Claude Code로의 전환은 설정 파일 번역과 수동으로 재구축하는 메모리 작업으로 이루어집니다. 하지만 여기서 멈춘다면 문제를 해결한 것이 아니라 옮긴 것에 불과합니다. 새로운 에이전트 역시 이전 에이전트와 마찬가지로 세션 사이에 망각하기 때문입니다. 프로젝트의 지식을 두 에이전트가 모두 읽을 수 있는 레이어에 두면 전환은 단순한 연결이 됩니다. 첫날부터 정보가 반영된 세션을 시작하고, 압축에도 살아남는 결정을 내리며, 다음에 도구를 바꿀 때 다시 가르칠 필요가 없어집니다. 설정은 마이그레이션하되, 메모리는 유지하세요.

자주 묻는 질문

Codex 설정을 Claude Code로 임포트할 수 있나요?

아니요. AGENTS.md는 수동으로 CLAUDE.md로 변환할 수 있지만, 세션 상태는 두 도구 모두에서 일시적입니다. 내보낼 수 있는 데이터가 없으며, Claude Code에는 Codex 컨텍스트를 위한 임포터가 없습니다.

AGENTS.md를 CLAUDE.md로 번역하는 것만으로 충분한가요?

정적 컨벤션을 이전하는 것은 쉬운 부분입니다. 하지만 세션 중에 구축된 결정 사항, 기각된 접근 방식, 프로젝트에 대한 이해는 해당 파일에 저장되지 않으므로, 이를 직접 복구하거나 공유 메모리 레이어를 사용해야 합니다.

2026년 7월에 Codex 컨텍스트 성능이 저하된 이유는 무엇인가요?

개발자들은 GitHub 설정 변경을 통해 Codex의 GPT-5.6 기본 입력 컨텍스트가 기존 약 372k 토큰에서 272k 토큰으로 축소된 것을 확인했습니다. 공간이 줄어들면서 긴 작업 시 압축이 더 일찍 트리거되어 요구사항과 결정 사항이 더 빨리 유실됩니다.

전환 후 Claude Code가 제 프로젝트를 기억하나요?

자체적으로는 기억하지 못합니다. 시작할 때 CLAUDE.md를 읽고 매 세션마다 리포지토리에서 나머지를 다시 빌드합니다. 자세한 내용은 Claude Code가 프로젝트 컨텍스트를 잊어버리는 이유를 참조하세요. 지속성 레이어가 있어야 세션을 시작할 때부터 정보를 파악할 수 있습니다.

Codex와 Claude Code를 병행해서 실행할 수 있나요?

네, 오히려 그것이 더 매끄러운 방법입니다. MCP를 통한 공유 메모리를 사용하면 두 도구 모두 최신 상태를 유지하므로, 한 번에 전환하는 대신 작업을 점진적으로 이전하며 동등한 조건에서 비교할 수 있습니다. 관련 문서: Claude Code에 메모리 추가하기.