Δ-Mem: Efficient Online Memory for Large Language Models
TL;DR Highlight
LLM의 컨텍스트 윈도우를 늘리지 않고도 과거 정보를 효율적으로 기억할 수 있는 경량 메모리 모듈 δ-mem을 제안한 논문. 모델 자체를 바꾸거나 파인튜닝 없이 기존 LLM에 붙여서 장기 기억 성능을 높일 수 있어 에이전트 시스템 개발자에게 관심을 끌고 있다.
Who Should Read
장기 대화나 에이전트 시스템을 개발 중인데 매번 긴 컨텍스트를 넣는 토큰 비용이 부담스러운 AI 엔지니어나 연구자. LLM에 메모리 기능을 붙이는 방법을 찾고 있는 백엔드/ML 개발자.
Core Mechanics
- δ-mem은 기존 LLM(frozen 상태, 즉 가중치를 고정한 채)에 붙이는 경량 메모리 모듈이다. 모델 자체를 바꾸거나 전체 파인튜닝 없이 추가할 수 있다는 게 핵심 포인트다.
- 과거 정보를 고정 크기(fixed-size)의 상태 행렬(state matrix)에 압축해서 저장하는 방식을 쓴다. 컨텍스트 윈도우를 단순히 늘리는 것과 달리 메모리 크기가 입력 길이에 따라 무한정 커지지 않는다.
- 학습 방식으로 delta-rule(연상 기억 업데이트 규칙의 일종)을 사용하고, 이 메모리의 출력을 기존 어텐션 계산에 low-rank(저차원) 보정값으로 주입한다. LoRA처럼 소수의 파라미터만 개입하는 방식이다.
- 메모리 상태 크기를 8×8 행렬로만 설정해도 효과가 있었다. 기본 모델 대비 평균 점수 1.10배, 기존 메모리 기법 중 가장 강한 베이스라인 대비 1.15배 성능이 나왔다.
- 메모리를 많이 요구하는 벤치마크에서는 더 큰 향상이 나타났다. MemoryAgentBench에서 기본 모델 대비 1.31배, LoCoMo 벤치마크에서 1.20배 향상을 기록했다.
- 일반적인 언어 능력(general capabilities)은 대부분 유지됐다고 보고한다. 메모리 모듈 추가로 인해 기존 능력이 크게 떨어지지 않는다는 뜻이다.
- 컨텍스트 윈도우 확장, 백본 모델 교체, 전체 파인튜닝 없이도 효과적인 메모리 기능을 구현할 수 있다는 걸 보여주는 게 이 논문의 주요 주장이다.
Evidence
- 고정 크기 메모리가 진짜 '메모리 용량 문제'를 해결하지는 못한다는 비판이 있었다. 입력 쿼리가 조금만 달라져도 내부 활성값이 크게 달라지기 때문에, 연상 기억 방식으로 정보를 정확히 불러오는 게 근본적으로 어렵다는 지적이다. 진짜 필요한 건 의미 기반 컨텍스트 검색(contextual search)이지 이 논문의 방식으론 '메모리'를 의미 있게 개선하기 어렵다는 의견이었다.
- 실무 관점에서 '에이전트가 레포지토리 가이드라인 파일 4개를 매 세션마다 다시 넣지 않아도 기억할 수 있느냐'는 실용적인 질문이 나왔다. 이는 현재 AI 코딩 에이전트 사용자들이 실제로 겪는 토큰 낭비 문제를 반영한다.
- 기술적으로 봤을 때 이 논문이 DeltaNet 하이퍼네트워크를 기존 LLM에 붙인 것에 불과하다는 평가가 있었다. 완전히 새로운 아이디어는 아니고 적당히 흥미로운 수준이라는 냉정한 반응이다.
- 논문에서 메모리 모듈을 추가하는 데 드는 실제 메모리/연산 비용이 명확히 언급되지 않았다는 지적이 있었다. 모델 파라미터 수만큼이나 실제 RAM 요구량, 추론 지연(latency), 토큰 처리 속도 같은 실용적 지표를 같이 공개해야 한다는 의견이었다.
- AI 메모리 관련 기법이 논문으로는 많이 나오는데 실제 코딩 에이전트에서 유용하다고 검증된 사례는 드물다는 회의적인 시각도 있었다. 특히 코딩 에이전트에서 실제로 효과가 있음을 입증한 연구를 보고 싶다는 의견이 공감을 받았다.
How to Apply
- 매 세션마다 긴 시스템 프롬프트나 문서(예: 프로젝트 가이드라인, 코딩 컨벤션 파일)를 반복적으로 넣어야 해서 토큰 비용이 과도하게 드는 에이전트를 개발 중이라면, δ-mem처럼 고정 크기 온라인 메모리를 붙이는 아키텍처를 검토해볼 수 있다. 모델 자체를 교체하지 않아도 된다는 점에서 기존 파이프라인에 통합 비용이 낮다.
- 장기 대화(멀티턴 어시스턴트)를 구현 중인데 컨텍스트 윈도우 한계로 인해 오래된 대화 내용이 잘리는 문제를 겪고 있다면, 이 논문의 접근처럼 associative memory(연상 기억) 기반 압축 상태를 어텐션에 연결하는 방식이 하나의 대안이 될 수 있다. MemoryAgentBench 같은 장기 기억 벤치마크로 자체 검증해보는 것을 권장한다.
- LLM에 메모리 기능을 추가하는 방법을 리서치 중이라면, 이 논문이 제안한 delta-rule 기반 상태 업데이트 방식과 low-rank 어텐션 보정 구조를 DeltaNet 등 기존 선행 연구와 함께 비교해서 읽으면 현재 이 분야의 접근법들을 빠르게 파악하는 데 도움이 된다.
Terminology
Related Papers
How Claude Code works in large codebases
Anthropic이 수백만 줄짜리 모노레포, 레거시 시스템, 수십 개 마이크로서비스 환경에서 Claude Code를 운영한 패턴을 정리한 글이다. RAG 방식 대신 에이전틱 검색을 쓰는 이유와 실제 현장의 한계를 함께 확인할 수 있다.
Show HN: Needle: We Distilled Gemini Tool Calling into a 26M Model
Gemini의 함수 호출(tool calling) 능력만 뽑아서 26M(2600만) 파라미터짜리 초경량 모델로 만든 프로젝트로, 폰/워치/스마트글라스 같은 엣지 디바이스에서 직접 실행 가능하다.
Show HN: Agentic interface for mainframes and COBOL
수십 년 된 메인프레임(z/OS) 환경을 AI 에이전트로 조작할 수 있게 해주는 개발 도구로, COBOL 코드 작성부터 JCL 실행, 디버깅까지 자연어로 처리할 수 있어 레거시 시스템 유지보수 비용을 크게 줄일 수 있다.
Show HN: Statewright – Visual state machines that make AI agents reliable
AI 에이전트에게 40개 이상의 도구를 주면 오히려 성능이 떨어지는 문제를 State Machine으로 각 단계별 사용 가능한 도구를 제한해 해결하는 오픈소스 프로젝트다. 더 큰 모델 대신 더 작은 문제 공간을 만들어 신뢰성을 높이는 접근이 핵심이다.
Show HN: adamsreview – better multi-agent PR reviews for Claude Code
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
How Fast Does Claude, Acting as a User Space IP Stack, Respond to Pings?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.