YouMind
로그인

저장 공간은 저렴하지만, 주의력은 비쌉니다. 이 차이를 활용하는 시스템을 사용하고 계신가요?

@S_BatMan
영어2026년 5월 26일
1.3M
305
37
11
179

TL;DR

19 개의 AI 시스템을 분석한 결과, 가장 효과적인 에이전트는 컨텍스트 관리를 위해 계층형 메모리 아키텍처를 사용하는 것으로 나타났습니다. 핫(hot), 웜(warm), 콜드(cold) 데이터를 분리함으로써 이러한 시스템은 검색을 최적화하고 노이즈를 최소화합니다.

계층화(Tiering)가 효과를 발휘하는 비대칭성

에이전트 메모리를 설계할 때 한 가지만 바꾼다면, 저장 비용과 주의 비용을 같은 것으로 취급하는 것을 멈추라는 것이다.

19개의 시스템을 깊이 파고든 결과, 계속해서 드러나는 발견은 메모리를 잘 처리하는 시스템이 반드시 가장 정교한 검색(Retrieval)을 가진 것은 아니라는 점이다. 오히려 어떤 메모리를 프롬프트에 포함시킬지 파악한 시스템들이었다. 이는 다른 문제이며, 다른 해결책이 필요하다.

저장은 저렴하다. 주의는 비싸다. 128k 컨텍스트 모델이 110k의 평범한 컨텍스트를 읽는 것이, 경험적으로, 8k의 정제된 컨텍스트를 읽는 동일한 모델보다 더 나은 에이전트가 아니다. 이에 대한 연구는 일관적이다: 컨텍스트에 노이즈가 쌓일수록 검색 품질이 저하되며, 그 저하는 선형적이지 않다. 모델은 단순히 관련 없는 자료를 무시하지 않는다. 그것을 처리하며, 그 처리 과정이 신호를 압도한다.

저장에는 이런 특성이 없다. 데이터베이스에 있는 사실은 유지하는 데 비용이 들지 않는다. 비용은 검색하여 프롬프트에 로드할 때만 발생한다. 즉, 문제는 "이걸 저장해야 하나?"가 아니라 "이걸 검색해야 하나, 그리고 언제?"인 것이다.

이러한 재구성이 계층화가 등장하는 지점이다. 각 메모리 항목마다 접근 패턴이 다르다. 에이전트가 매 턴마다 필요한 것들: 사용자 이름, 현재 프로젝트, 명시된 선호도. 자주 필요하지만 항상은 아닌 것들: 최근 결정, 미해결 질문, 지난 몇 세션의 일화적 사실. 필요할 때 찾을 수 있어야 하지만 매 턴을 부담해서는 안 되는 것들: 3개월 전 회의 노트, 완료된 작업, 원본 대화록, 일회성 참고 자료.

평면 저장소는 세 가지 범주를 모두 동일하게 취급한다. 핫 항목은 콜드 항목의 검색 비용을 부담한다. 콜드 항목은 노이즈로 프롬프트를 부풀린다. 항목이 더 관련성이 높아짐에 따라 승격되는 메커니즘이 없고, 관련성이 낮아짐에 따라 노후화되는 메커니즘도 없다. OS 비유가 정확하다: CPU에 L1, L2, L3, RAM, SSD, 디스크가 있는 것은 바이트가 다르기 때문이 아니라 접근 빈도가 수십 배 차이 나기 때문이다. 조사한 19개 시스템 중 7개는 이미 명시적인 계층화를 구축한 상태였다. 그중 2개는 자세히 이해할 가치가 있다.

참조 구현으로서의 MemoryOS

MemoryOS는 19개 시스템 중 계층화 메모리의 가장 명확한 구현체다. 세 가지 계층으로, 각각 고유한 데이터 형태, 지연 시간 예산, 역할을 가진다.

단기 계층(Short-term tier)은 최대 길이 10개의 QA 쌍을 가진 Python deque다. 임베딩, 검색 인덱스, 히트 추적이 없다. 순수한 대화 원자재, 마지막 10개의 교환으로, 마이크로초 지연 시간으로 제공된다. Deque가 가득 차면 가장 오래된 쌍이 중기 계층으로 이동한다.

중기 계층(Mid-term tier)은 최대 2000개의 세션을 보유한다. 각 세션은 요약, 임베딩, 키워드 세트, 히트 카운터를 가진다. 계층은 Faiss로 인덱싱되고 코사인 유사도로 검색된다. 계층이 용량에 도달하면 가장 차가운 세션이 제거된다. 세션이 충분히 뜨거워지면 장기 계층으로 승격된다.

장기 계층(Long-term tier)은 90차원의 심리학 및 정렬 스키마, 두 개의 지식 베이스 deque(하나는 사용자 사실, 하나는 어시스턴트 사실, 각각 최대 100개 항목)로 구성된다. 이것이 지속 계층으로, 세션을 넘어 생존하며 사용자의 지속적인 모델을 유지한다.

승격을 관장하는 히트 공식은 12줄의 Python 코드다. 세 가지 신호: 방문 빈도(LFU 유사), 상호작용 깊이(주제적 참여의 대리 지표), 최신성 감쇠(24시간 반감기를 가진 지수 함수). 세그먼트는 5.0에서 승격 임계값을 넘는다. 승격 후 방문 및 상호작용 카운터는 0으로 재설정되고 히트는 약 1.0으로 다시 붕괴된다.

놓치기 쉬운 설계 결정: 히트는 검색이 아닌 승격을 제어한다. 검색기는 순수하게 의미적이며, 중기 임베딩에 대한 코사인 유사도다. 히트는 세그먼트가 장기 계층으로 졸업해야 하는지 여부를 결정하는 백그라운드 신호다. 두 관심사는 분리되어 있으며, 이 분리는 공식 자체보다 더 중요하다.

MemoryOS가 남겨둔 점을 언급할 가치가 있다. 계수는 1.0으로 하드코딩되어 있으며, 실제 사용 패턴에서 가중치를 학습하는 메커니즘이 없다. 강등 경로가 없다; 일단 장기 계층에 도달하면 그대로 남는다. 그리고 공식은 중요성보다 빈도를 최적화한다. 중요하지만 드문 사실(예: 파트너 이름, 의학적 상태, 엄격한 제약)은 한 번만 표면화되면 승격 임계값을 넘지 못할 수 있다. 중기 계층이 세그먼트를 제거하면 그 사실은 사라진다.

Hindsight의 이론 기반 계층

Hindsight은 완전히 다른 출발점에서 동일한 3계층 구조에 도달한다. MemoryOS가 OS 캐시 이론에 기반하는 반면, Hindsight은 인지 과학에 기반한다.

세 계층은 세계(World), 경험(Experience), 관찰(Observations)이다. 세계는 우주에 대한 객관적 주장, 근본 진리, 항상 켜져 있고 오래 지속된다. 경험은 시스템 자체의 1인칭 행동, 일화적 기록이다. 관찰은 세계와 경험 사실에서 파생된 통합된 신념으로, 출처 메모리 ID, 증명 횟수, 신념이 어떻게 진화했는지 추적하는 이력 필드를 가진다.

세 계층 모두 동일한 데이터베이스 테이블에 존재하며, 사실 유형 식별자(fact-type discriminator)로 구분된다. 사실 유형별로 부분 HNSW 인덱스가 구축된다. 스키마는 통합되어 있지만 접근 패턴은 그렇지 않다.

Hindsight의 승격은 카운터 기반이 아니다. 배치 LLM 기반 통합(batched LLM-driven consolidation)이다. 새로운 사실이 기록되면 비동기 작업 테이블에 대기열에 추가된다. 백그라운드 워커가 기존의 중복 관찰과 함께 새 사실을 가져와 배치 프롬프트를 구성하고 모델에 생성, 업데이트, 삭제를 요청한다. 출처 메모리는 재처리를 방지하기 위해 통합된 타임스탬프(consolidated-at timestamp)가 찍힌다. 접근 빈도와 관계없이 모든 새 사실은 관찰 계층으로의 승격을 위해 고려된다.

이것이 MemoryOS와의 핵심 차이점이다. 상위 계층 승격을 히트가 아닌 통합에 연결함으로써, Hindsight은 중요하지만 드문 사실에 대한 사각지대를 피한다. 단일 통합 패스가 모든 새 사실을 고려한다. 빈도는 졸업 여부와 무관하다.

간단히 말해: 두 시스템, 다른 첫 번째 원칙, 다른 구현 언어, 다른 대상 사용 사례, 그리고 둘 다 세 계층(하단에 원자재, 중간에 작업 계층, 상단에 합성된 지속 계층)에 도달한다. 둘 다 비동기 승격을 사용한다. 둘 다 하위 계층으로의 출처를 유지한다. 이것이 소프트웨어 아키텍처에서 수렴 진화가 어떻게 보이는지이며, 패턴이 중요하다는 가장 강력한 신호다.

@supermemory의 장르 기반 계층화

supermemory는 관리형 API 배포 형태(managed API deployment shape)에서 운영되며, 이는 아키텍처를 변경하지 않으면서 구현을 변경한다. 세 계층은 정적 프로필(static profile), 동적 프로필(dynamic profile), 문서 및 청크 저장소(document and chunk store)다.

정적 프로필은 안정적인 장기 사실, 핫 계층을 보유한다. 프로필 엔드포인트에서 정적 배열로 반환되며, 에지에서 캐시되고 약 50ms의 지연 시간 예산을 가진다. 동적 프로필은 최근 및 일화적 컨텍스트, 웜 계층을 보유한다. 많은 항목에 TTL을 설정하는 forgetAfter 필드가 있다. 문서 및 청크 저장소는 콜드 계층이며, 필요할 때 검색 엔드포인트를 통해 쿼리된다.

계층 할당은 쓰기 시점에 발생한다. 추출 LLM이 각 수신 메모리를 isStatic 부울과 선택적 forgetAfter 값으로 분류한다. 분류는 모든 소비자에 대해 동일한 폐쇄 추출 프롬프트에 의해 강제된다.

관리형 API 배포 형태는 인프로세스 설계자가 직접 복사할 수는 없지만 이해해야 하는 세 가지를 가능하게 한다. 콜드 계층 데이터는 더 저렴한 하드웨어(원시 바이트용 객체 스토리지, 메타데이터 및 청크용 표준 관계형 저장소)에 있을 수 있으며, 핫 프로필은 에지에 별도로 캐시된다. 핫 계층은 검색 경로와 별도로 자체 SLA를 가진 자체 엔드포인트를 가진다. 그리고 추출 프롬프트는 중앙 집중화되어, 에이전트별 분류보다 일관된 계층 할당을 보장한다.

절충점은 분명하다. 원격 핫 계층은 네트워크가 빠를 때만 빠르다. 에이전트는 엔진의 계층 분류를 재정의할 수 없다. 추출 프롬프트는 블랙박스다. 하지만 아키텍처 패턴(핫 계층을 자체 엔드포인트로, 콜드 계층을 더 저렴한 하드웨어에, 쓰기 시점에 계층 할당)은 배포 형태와 무관하게 복사할 가치가 있다.

승격 vs 고정 유형론

mem9는 계층화가 무엇이 아닌지를 명확히 하는 대조 사례다.

mem9에는 pinned, insight, digest의 세 가지 값을 가진 memory-type 컬럼이 있다. Pinned 메모리는 명시적 콘텐츠 쓰기 경로로 할당되며, 수동으로 생성되고 LLM 조정으로부터 보호된다. Insight는 모든 LLM 추출 쓰기에 의해 할당되며, 가변적이고 버전 관리 가능하며 대체 가능하다. 둘 다 동일한 RRF 점수로 동일한 하이브리드 리콜에 참여한다. 유형 필드는 쓰기 보호 플래그이지, 검색 필터도 계층 신호도 아니다.

이것은 계층화가 아니라 유형론이다. 이 구분은 중요하다. 둘은 혼동되기 쉽기 때문이다. 유형론은 거버넌스를 설명한다: 누가 어떤 조건에서 이 메모리를 변경할 수 있는가. 계층화는 접근 패턴을 설명한다: 이 메모리가 얼마나 자주 필요하며, 어떤 저장 표현이 그 빈도에 가장 잘 부합하는가. 시스템이 둘 다 가질 수 있다. supermemory의 isStatic은 계층 신호인 반면, 별도의 isInference 플래그는 거버넌스 클래스에 더 가깝다. 그러나 둘을 혼동하면 실제로 가장 많은 모호성이 발생한다.

메모리 행에 유형 필드를 추가하는 경우, 그 필드가 접근 패턴을 설명하는지 거버넌스 클래스를 설명하는지 질문해야 한다. 접근 패턴이라면 계층화를 구축하는 것이다. 거버넌스 클래스라면 유형론을 구축하는 것이다. 둘 다 유용하다. 그러나 같은 것은 아니다.

평면 저장소의 비용

평면 메모리 저장소를 운영할 때 발생하는 4가지 구체적인 문제가 있다.

핫 경로는 콜드 경로의 검색 비용을 부담한다. 모든 검색은 동일한 인덱스에서 동일한 항목을 스캔한다. 사용자 이름을 찾는 에이전트는 6개월 전 회의 노트를 찾는 에이전트와 동일한 검색 비용을 지불한다. 작은 규모에서는 보이지 않는다. 규모가 커지면 지연 시간 문제가 된다.

콜드 경로는 노이즈로 프롬프트를 부풀린다. 검색은 의미적으로 가까운 항목을 반환하며, 여기에는 상시 컨텍스트, 대체된 사실, 현재 턴과 관련이 없지만 사실적으로 올바른 자료가 포함된다. 모델은 이 모든 것을 처리한다. 저장소가 커질수록 컨텍스트 창의 신호 대 잡음비가 저하된다.

항목이 승격되는 메커니즘이 없다. 메모리는 정적이지 않다. 관계 초기의 일시적인 일화적 사실이 시간이 지남에 따라 사용자의 선호도나 제약에 대한 내구성 있는 신호가 될 수 있다. 평면 저장소는 그 전환을 알아차릴 메커니즘을 제공하지 않는다. 항목은 관련성이 어떻게 변했든 관계없이 쓰여진 동일한 표현에 남아 있다.

항목이 노후화되는 메커니즘이 없다. 강등은 삭제가 아니다. 평면 저장소가 오래된 자료를 제거하려면 삭제해야 한다. 계층화된 저장소는 더 차가운 표현으로 이동시켜 여전히 찾을 수 있고 핫 경로에 부담을 주지 않게 할 수 있다. 평면 저장소는 계층화된 저장소가 필요로 하지 않는 이진 선택을 강제한다.

최종 결론

19개 시스템 중 18개가 계층화를 구현하거나, 그 방향을 암시하거나, 명시적 권장 사항을 가지고 있다. 예외는 mem9로, 다른 문제를 해결하는 유형론 계층을 가지고 있으며, 그 위에 계층화를 추가하면 이점을 얻을 수 있다.

에이전트 메모리를 처음부터 구축한다면, 19개 시스템이 가리키는 진행 방향은 다음과 같다. 에이전트가 매 턴마다 필요한 것을 식별하라, 그것이 핫 계층이다. 자주 필요하지만 항상은 아닌 것을 식별하라, 그것이 웜 계층이다. 필요할 때 찾을 수 있어야 하지만 매 턴을 부담해서는 안 되는 것을 식별하라, 그것이 콜드 계층이다. 승격 메커니즘을 선택하라: MemoryOS의 히트 기반, Hindsight의 LLM 판단 기반, 또는 supermemory의 추출 시점 분류. 강등 메커니즘을 선택하라: 시간 감쇠, TTL, 또는 신선도 카테고리. 처음에는 승격과 검색 점수를 분리하라, 분리는 추가하기 쉽고 나중에 풀기 어렵다. 상위 계층에서 하위 계층으로의 출처를 추적하라, 그래야 합성된 신념이 어디서 왔는지 항상 답할 수 있다.

19개 시스템이 많은 것에 대해 만장일치는 아니다. 그러나 이것에 대해서는 그렇다: 단일 평면 메모리 저장소는 중요하지 않은 에이전트 메모리 시스템에는 잘못된 기본값이다.

저장은 저렴하다. 주의는 비싸다. 그 차이를 활용하는 시스템을 구축하라.

이 글이 흥미로우셨다면 공유해 주세요.

원클릭 저장

YouMind로 바이럴 글을 AI 심층 읽기

소스를 저장하고, 핵심 질문을 던지고, 주장을 요약해 바이럴 글을 다시 활용할 수 있는 노트로 바꾸세요. 하나의 AI 워크스페이스에서 모두 할 수 있습니다.

YouMind 둘러보기
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기