
장시간 돌아가는 에이전트의 고질병, "기억 상실"
Claude Code나 Cursor, Devin 같은 도구를 며칠씩 붙여놓고 써보신 분들은 느끼셨을 거예요. 처음엔 잘 맞춰주다가 대화가 길어지면 아까 말한 걸 또 물어보거나, 이미 정한 방침을 어기고 다른 방향으로 가버리는 현상이 생겨요. 어제 "이 프로젝트는 pnpm 쓴다"고 알려줬는데 오늘은 npm install을 치고 있고, 이 파일은 건드리지 말라고 했는데 다음 세션에서는 태연하게 수정해버리는 식이죠.
원인은 단순해요. LLM의 컨텍스트 윈도우(한 번에 기억할 수 있는 글자의 한계)가 아무리 크다고 해도 무한하지 않고, 세션이 끝나면 그 기억은 날아가거든요. 100만 토큰 컨텍스트라고 해도 며칠간 돌아가는 복잡한 프로젝트의 모든 대화, 파일 변경, 의사결정을 담기에는 한참 부족해요. 그래서 긴 프로젝트에서는 에이전트가 "금붕어 수준의 기억력"을 보여주게 되는 거예요.
Remoroo라는 프로젝트가 바로 이 문제를 풀겠다고 나섰어요. "long-running coding agents를 위한 메모리 계층"을 만드는 게 목표예요.
메모리 시스템은 어떻게 설계되나
이게 뭐냐면, 사람 뇌가 단기 기억과 장기 기억을 분리해서 운영하는 것과 비슷한 구조를 에이전트에도 만들어주는 거예요. 지금 당장 처리하는 대화는 짧은 컨텍스트 윈도우에 두고, 오래 유지해야 할 지식(프로젝트 규칙, 결정 사항, 사용자 선호, 과거 실수)은 외부 저장소로 빼내서 필요할 때만 꺼내 쓰게 만드는 거죠.
이런 시스템이 제대로 동작하려면 몇 가지 어려운 문제를 풀어야 해요. 첫째는 무엇을 기억하고 무엇을 버릴지예요. 모든 대화를 다 저장하면 금방 쓰레기가 쌓이고, 너무 공격적으로 버리면 중요한 걸 놓쳐요. 둘째는 어떻게 찾아낼지예요. 장기 메모리에 100MB짜리 기록이 쌓여 있어도, 지금 이 상황에 맞는 조각을 빠르게 꺼내오지 못하면 무용지물이거든요. 임베딩 기반 검색, 지식 그래프, 태그 기반 분류 같은 방법들이 연구되고 있어요. 셋째는 모순되는 기억을 어떻게 처리할지예요. 사용자가 한 달 전엔 "Tailwind 쓰자"고 했다가 최근엔 "vanilla CSS로 바꾸자"고 했다면, 에이전트는 최신 결정을 따라야 해요. 단순히 저장만 해두면 헷갈리니까 업데이트와 덮어쓰기 로직이 필요해요.
Remoroo 같은 도구는 이런 문제들을 개별 개발자가 매번 직접 풀지 않아도 되게, 재사용 가능한 메모리 레이어로 제공하려는 시도예요. 에이전트 프레임워크(LangGraph, CrewAI 등)와 붙여 쓸 수 있도록 표준화된 API를 제공하는 게 중요 포인트가 되겠죠.
업계 맥락 – 에이전트 메모리는 뜨거운 영역
이 분야엔 이미 여러 플레이어가 들어와 있어요. Mem0는 오픈소스 메모리 레이어로 꽤 많은 스타를 모았고, Letta(예전 MemGPT)는 운영체제의 페이징 개념을 LLM 메모리에 적용한 걸로 유명해요. Zep은 시간축 기반의 지식 그래프로 메모리를 관리하고요. Anthropic이 Claude에 내장한 Projects나 Memory 기능, OpenAI의 ChatGPT Memory도 사실 같은 문제를 제품 차원에서 풀려는 시도예요.
Claude Code 자체도 CLAUDE.md라는 파일을 두고 프로젝트별 지시사항을 영속화하는 방식으로 메모리 문제를 우회하고 있고, Cursor는 .cursorrules, Continue는 config.json 같은 식으로 각자 방식이 달라요. 공통점은 "컨텍스트에 매번 넣기엔 무겁고, 완전히 잊기엔 중요한 정보"를 어떻게 다룰지 고민한다는 거예요.
Remoroo가 다른 제품과 차별화되려면 결국 세 가지가 중요해져요. 통합의 쉬움(기존 에이전트에 몇 줄로 붙일 수 있는가), 검색 품질(지금 맥락에 맞는 기억을 정확히 꺼내오는가), 그리고 프라이버시(회사 코드와 의사결정 기록을 어디에 보관하는가)예요.
한국 개발자에게 주는 시사점
사내에서 코딩 에이전트를 실험해보신 분들이라면 다들 느끼셨을 거예요. 데모는 화려한데 실제 장기 프로젝트에 붙이면 "얘가 우리 코드베이스를 이해 못 하네" 하는 순간이 옵니다. 이걸 해결하는 방법이 크게 두 가지인데요, 하나는 CLAUDE.md 같은 규칙 파일을 정성껏 관리하는 것이고, 다른 하나는 Remoroo/Mem0 같은 메모리 레이어를 도입하는 거예요.
현실적인 출발점은 규칙 파일이에요. 프로젝트 루트에 "이 저장소는 이런 스택이고, 이런 컨벤션을 지키고, 이런 파일은 건드리지 마라" 같은 내용을 잘 정리해두는 것만으로도 에이전트의 삽질이 확 줄어요. 그다음 단계로 반복적으로 같은 실수를 한다면 메모리 레이어 도입을 검토할 만해요. 예를 들어 팀 전체가 공유하는 "에이전트 실수 모음집"을 만들어서, 새 세션이 시작될 때 자동으로 불러오도록 하는 식이죠.
한 가지 조심할 부분은 보안과 프라이버시예요. 메모리 레이어가 외부 SaaS라면 회사 코드 스니펫이나 내부 의사결정이 외부 서버에 쌓일 수 있어요. 도입 전에 데이터가 어디 저장되는지, 모델 학습에 쓰이지는 않는지, 암호화는 어떻게 되는지 꼭 확인해보셔야 해요. 가능하면 셀프 호스팅 옵션이 있는 솔루션을 고르시는 게 안전하고요.
마무리
결국 "모델이 얼마나 똑똑한가"만큼이나 "모델에게 무엇을 기억하게 할 것인가"가 에이전트 시대의 핵심 설계 포인트가 되고 있어요. 컨텍스트 윈도우가 아무리 커져도 기억의 큐레이션은 별개의 공학 문제거든요.
여러분은 AI 코딩 에이전트가 기억을 잃어버려서 답답했던 경험이 있으세요? 지금은 어떻게 우회하고 계시는지, 그리고 전용 메모리 레이어를 팀에 도입한다면 어떤 기능이 가장 필요할지 의견 듣고 싶어요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공