AI 메모리 저장소에는 삭제 키가 필요합니다
요약
AI 애플리케이션의 메모리 관리에서 단순 추가 방식(append-only)의 한계를 지적하며, 데이터의 생애주기 관리가 필요함을 설명합니다. 모순, 노후화, 비용, 노이즈 문제를 해결하기 위해 생성, 승격, 통합, 망각의 4단계 메모리 관리 체계를 제안합니다.
핵심 포인트
- 단순 추가 방식은 데이터 증가 시 검색 품질 저하 및 비용 상승 초래
- 모순된 정보와 노후된 데이터가 검색 노이즈를 유발함
- 메모리 관리는 생성, 승격, 통합, 망각의 4단계 라이프사이클이 필요함
- 신뢰도와 엔티티 추출을 통해 데이터의 권위를 관리해야 함
대부분의 AI 애플리케이션을 위한 메모리 구현은 추가 전용 (append-only) 방식입니다. 새로운 메모리는 계속 추가되지만, 한 번 들어간 것은 절대 나오지 않으며, 저장된 모든 항목은 영원히 동일한 수준으로 검색 가능합니다. 처음 몇 백 개의 항목까지는 이 방식이 잘 작동합니다. 하지만 항목이 수천 개에 달하면 문제가 발생하기 시작하며, 그 실패는 조용히 찾아옵니다. 모든 대시보드는 여전히 정상적으로 보이지만, 검색 품질 (retrieval quality)이 떨어지기 때문입니다.
해결책은 더 큰 벡터 인덱스 (vector index)를 구축하는 것이 아닙니다. 그것은 라이프사이클 (lifecycle), 즉 메모리가 어떻게 생성되고, 강화되고, 병합되며, 최종적으로 삭제되는지에 대한 일련의 규칙을 만드는 것입니다.
추가 전용 메모리가 저하되는 이유
저장소가 커짐에 따라 네 가지 문제가 복합적으로 발생합니다.
모순 (Contradiction). 사용자가 1월에 새로운 프로젝트에는 Python을 선호한다고 말했습니다. 3월에는 Rust로 옮겼다고 말합니다. 두 메모리는 저장소에 동일한 가중치로 남아 있습니다. 4월에 어시스턴트가 코딩 질문에 대한 컨텍스트 (context)를 검색할 때, 둘 중 하나를 제시하거나 둘 다 제시할 수 있습니다. 단순한 벡터 저장소 (vector store)에는 3월의 정보가 1월의 정보보다 우선한다는 사실을 알 수 있는 장치가 없습니다.
노후화 (Staleness). 문서는 다시 작성되고, 엔드포인트 (endpoints)는 이동하며, 사람들의 역할은 바뀝니다. 결코 잊지 않는 저장소는 2년 전의 API 참조 문서를 어제 작성된 문서와 동일한 권위로 취급하며, 유사도 점수 (similarity scoring)는 때때로 더 길고 상세하다는 이유로 오래된 항목을 선호하기도 합니다.
비용 (Cost). 모든 메모리는 저장 공간, 임베딩 (embedding) 연산 비용, 그리고 검색 시 점수가 매겨지는 후보군 (candidate set) 내의 슬롯을 소모합니다. 5만 개의 메모리 중 3만 개가 노후화되었다면, 더 나쁜 답변을 얻기 위해 더 많은 돈을 지불하고 있는 셈입니다.
검색 노이즈 (Retrieval noise). Top-N 검색은 가장 유사한 N개의 항목을 반환합니다. 유용한 항목 대비 무용지물인 항목의 비율이 낮아질수록, N개의 슬롯 중 더 많은 부분이 쓰레기 데이터로 채워지며 사용자가 실제로 필요로 하는 정보가 밀려나게 됩니다.
메모리의 4단계
생성 (Create). 메모리는 내용, 추출된 엔티티 (entities), 임베딩 (embedding), 그리고 의도적으로 중간 수준으로 설정된 초기 신뢰도 (confidence)와 함께 입력됩니다. 이는 확인되지 않은 새로운 정보가 첫날부터 완전한 권위를 가질 수 없기 때문입니다. 엔티티 추출 (Entity extraction)은 또한 메모리를 그래프 (graph)에 연결하여, 텍스트 유사성 (text similarity)뿐만 아니라 연관 관계를 통해서도 검색이 가능하게 합니다.
승격 (Promote). 메모리는 사용을 통해 그 자리를 확보합니다. 원활하게 이루어지는 검색 (Retrieval)은 활성화 (activation)를 높이며, 서로 다른 대화에서 반복적으로 확인되는 과정은 신뢰도 (confidence)를 높입니다. 세 가지 서로 다른 맥락에서 확인된 정보는 단발성 발언보다 더 잘 부식 (decay)에 저항하는데, 이는 인간의 전문 지식이 작동하는 방식과 대략 일치합니다.
통합 (Consolidate). 몇 주가 지나면 동일한 CI 파이프라인에 대해 서로 다른 시점에 서로 다른 상세 수준으로 캡처된 네 개의 메모리가 축적될 수 있으며, 그중 하나는 이전의 실수를 바로잡는 내용일 수 있습니다. 통합 (Consolidation)은 이들을 하나의 권위 있는 항목으로 병합하여, 수정 사항은 유지하고 대체된 이전 버전은 폐기합니다.
망각 (Forget). 아무도 검색하지 않거나, 신뢰도가 낮거나, 혹은 통합된 버전에 의해 이미 대체된 항목들은 임계값 (threshold) 미만으로 떨어져 아카이브되거나 삭제됩니다. 여기서의 망각은 데이터 손실이 아니라 유지보수 (maintenance)입니다.
통합이 실제로 수행하는 작업
통합 (Consolidation)은 관리되는 라이프사이클 (lifecycle)을 가진 저장소와 단순히 추가만 되는 (append-only) 깔끔하지 않은 저장소를 구분 짓는 단계입니다. 통합은 엔티티 중첩 (entity overlap)과 의미적 유사성 (semantic similarity)을 사용하여 관련 메모리들을 클러스터링 (clustering)한 다음, 각 클러스터의 중복성과 모순 여부를 평가합니다.
중복된 항목은 가장 완전하고 최신인 버전으로 병합됩니다. 모순되는 항목은 최신성, 신뢰도, 확인 횟수 (corroboration count), 그리고 구체성 (specificity)을 기준으로 해결되며, 패배한 항목은 쿼리 (query) 시점에 경쟁하도록 내버려 두는 대신 강등되거나 제거됩니다.
병합된 항목은 결합된 신뢰도, 그룹 내에서 가장 강력한 활성화 값, 그리고 엔티티 연결의 합집합을 상속받습니다. 이를 통해 단일 소스였을 때보다 더 많은 경로를 통해 접근할 수 있게 됩니다.
실제로 만 개의 항목을 대상으로 매주 통합(consolidation) 과정을 거치면, 정보 손실 없이 6,000개에서 7,000개 정도의 항목이 남는 경향이 있습니다. 후보군(candidate pool)이 더 깨끗해지고 각 생존 항목이 더 많은 정보를 담게 되므로 검색(Retrieval) 성능이 향상됩니다.
작은 변화에는 이러한 과정이 필요하지 않습니다. 버전 번호나 직함이 변경될 때, 차이 기반 업데이트(diff-based update)는 기존 메모리를 제자리에서 수정하고 활성화 이력(activation history)을 그대로 이어받습니다. 이는 거의 중복된 항목을 옆에 쌓아두는 대신 수행됩니다.
도메인에 맞춘 감쇠(Decay) 조정
감쇠(Decay) 모델은 인지 과학(cognitive science)에서 유래했습니다. 에빙하우스(Ebbinghaus)는 1885년에 기억 유지력이 처음에는 급격히 떨어지다가 이후 길고 완만한 하락 곡선을 그리며 평탄해진다는 것을 보여주었으며, ACT-R은 이를 조정 가능한 감쇠 파라미터(decay parameter)를 가진 기본 수준 활성화 방정식(base-level activation equation)으로 공식화했습니다.
그 파라미터가 바로 고민해 볼 가치가 있는 조절 장치(knob)입니다. 고객 지원 시스템은 제품 세부 사항이 변경되고 오래된 문제 해결 단계가 빠르게 틀릴 수 있기 때문에 보통 더 빠른 감쇠를 원합니다. 반면 연구 및 법률 시스템은 2년 전의 문서가 여전히 해당 주제에 대한 권위 있는 자료일 수 있으므로 더 느린 감쇠를 원합니다.
감쇠는 신뢰도(confidence)와도 상호작용합니다. 강력한 엔티티 연결(entity connections)을 가진, 잘 입증된 메모리는 일회성 관찰보다 더 느리게 사라져야 합니다. 따라서 확립된 지식은 지속되는 반면 노이즈는 스스로 사라지게 됩니다.
시작하는 방법
현재 추가 전용(append-only) 저장소를 운영 중이라면, 가장 비용이 적게 드는 첫 번째 단계는 통합(consolidation)이 아닙니다. 타임스탬프(timestamps)와 감쇠 파라미터(decay parameter)를 도입하여, 검색(retrieval) 시 2년 된 항목과 최신 항목을 동일하게 취급하지 않도록 하는 것입니다. 모순 해결(Contradiction resolution)은 두 번째 단계입니다. 왜냐하면 모순은 사용자가 실제로 인지하고 불만을 제기하는 실패 지점이기 때문입니다.
중요도 점수 산정(importance scoring) 및 모순 처리(contradiction handling)를 포함한 라이프사이클(lifecycle)에 대한 전체 상세 내용은 여기에서 확인할 수 있습니다: https://www.adaptiverecall.com/memory-lifecycle/
이러한 단계들이 적용되는 메모리 시스템은 https://www.adaptiverecall.com/에서 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기