Wiki Memory: AI 에이전트를 위한 파일 기반 메모리 | LangChain
요약
본 글은 AI 에이전트의 메모리 표준화 부재 문제를 지적하며, 원시 소스 데이터를 '위키(Wiki)'라는 파일 기반의 구조화된 지식 계층으로 변환하는 방법을 제안합니다. 위키는 단순 검색을 넘어 고수준의 종합(synthesis)을 사전에 계산하여 에이전트가 도메인을 빠르게 이해하도록 돕습니다.
핵심 포인트
- 위키 메모리는 원시 데이터를 압축하고 구조화된 지식으로 변환하는 방식입니다.
- 기존 RAG와 달리, 위키는 질의 시점이 아닌 사전에 고수준 종합을 계산합니다.
- DeepWiki나 AutoWiki 같은 사례가 존재하며, 코드베이스에 대한 정신 지도를 제공합니다.
- 이 패턴은 모든 도메인에서 원시 데이터를 압축하는 방식으로 적용될 수 있습니다.
에이전트의 메모리는 아직 초기 단계이며 표준화된 것이 거의 없습니다. '메모리'는 사람마다 의미가 다릅니다. 하지만 하나의 공통 패턴, 즉 wiki memory가 나타나고 있습니다.
아이디어는 간단합니다. 에이전트를 사용하여 원본 소스 데이터를 압축되고 영구적이며 에이전트가 읽을 수 있는 지식 계층으로 변환하는 것입니다.
왜 위키인가?
원본 데이터에는 많은 지식이 담겨 있지만, 이를 에이전트에게 직접 노출하는 것은 비효율적인 경우가 많습니다. 로그, 메모, 코드, 문서, 실험 기록, Slack 스레드, 녹취록 등은 너무 잡음이 많고 크기가 큽니다. 그래서 대신 그 데이터를 가지고 프로세스를 실행하여 더 밀도 높은 표현으로 변환합니다.
이는 기본적인 RAG와는 다릅니다. RAG는 보통 질의 시점에 원본 청크(chunk)를 검색합니다. 반면, 위키는 고수준의 종합(synthesis)을 사전에 계산하고 유지하므로, 에이전트가 매번 구조를 재발견할 필요가 없습니다.
이러한 욕구는 거의 모든 곳에 존재합니다. 연구 회사 친구와 대화했을 때, 그는 그들의 연구원들 머릿속의 모든 지식에 대해 이야기했습니다. 그는 만약 그들이 떠나더라도 회사가 계속 보유할 수 있도록 '그들의 뇌를 복제'하고 싶어 했습니다. 그의 희망은 그들이 수행한 실험, 작성한 메모, 취했던 행동들을 살펴봄으로써 이 '뇌 클론'을 근사치로 만들 수 있다는 것이었습니다.
위키는 이를 수행하는 하나의 실용적인 방법입니다. 모든 것을 저장하는 것이 아니라, 중요한 것들을 재사용 가능한 지식 기반으로 압축함으로써 말이죠.
'위키(wiki)'란 무엇인가?
위키는 원본 지식을 에이전트 친화적인 방식으로 나타내는 에이전트 관리형 데이터 구조입니다.
실제적으로 이는 종종 에이전트를 사용하여 특정 소스 자료에 대해 프로세스를 실행하고, 미래의 에이전트가 도메인을 더 빠르게 이해하는 데 사용할 수 있는 일련의 파일들을 생성하도록 요청하는 것을 의미합니다.
중요한 점은 이것이 문자 그대로 Wikipedia처럼 보인다는 것이 아닙니다. 중요한 것은 그것이 영구적이고(persistent), 구조화되어 있으며(structured), 검사 가능하고(inspectable), 시간이 지남에 따라 업데이트된다는 것입니다.
Cognition의 DeepWiki는 아마도 제가 본 첫 번째 사례일 것입니다. DeepWiki는 GitHub 저장소에 대한 AI 생성 문서를 만듭니다. 이는 인간과 코딩 에이전트에게 코드베이스의 더 높은 수준의 정신 지도(mental map)를 제공하여 이해하고 탐색하기 쉽게 만드는 것을 목표로 합니다.
Karpathy는 최근 자신이 'LLM Wiki' 또는 'LLM 지식 기반(knowledge base)'라고 부르는 것에 대해 글을 썼습니다. 이는 동일한 패턴의 더 일반적인 형태입니다. 코드에만 작동하는 것이 아니라 임의의 소스 파일에도 작동할 수 있습니다. 그의 관점은 LLM이 사용자와 원시 소스 사이에 위치하는 영구적인 마크다운 위키를 점진적으로 구축하고 유지한다는 것입니다.
Factory는 DeepWiki와 유사한 서비스로 AutoWiki를 출시했습니다. AutoWiki는 코드베이스를 분석하고, 저장소 변경에 따라 최신 상태를 유지하는 구조화되고 탐색 가능한 문서를 생성합니다.
이 패턴은 LangMem, Letta, Mem0, Zep과 같은 메모리 시스템과 인접해 있습니다. 해당 시스템들은 더 광범위한 에이전트-메모리 문제를 다루는 반면, 위키 메모리는 종종 가장 단순한 가능한 기질(substrate)인 파일들을 사용한다는 점에서 주목할 만합니다.
모든 도메인을 위한 위키
저는 모든 도메인에 잘 만들어진 지식 기반이 존재한다고 주장하고 싶습니다. 이 지식 기반은 단순히 원시 데이터가 아닙니다. 그것은 원시 데이터의 지능적으로 압축된 버전입니다.
여기에는 몇 가지 열린 질문들이 있습니다:
- 원시 데이터는 무엇인가요?
- 압축된 데이터에 가장 좋은 형식은 무엇인가요?
- 그 데이터를 어떻게 압축해야 하나요?
- 압축된 표현을 어떻게 최신 상태로 유지해야 하나요?
우리는 몇 가지 공통적인 답변들이 나타나기 시작하는 것을 보고 있습니다:
- 원시 데이터는 무엇인가요? → 에이전트가 읽거나 접근할 수 있는 모든 것
- 압축된 데이터에 가장 좋은 형식은 무엇인가요? → 파일
- 그 데이터를 어떻게 압축해야 하나요? → 에이전트
- 어떻게 유지해야 하나요? → 에이전트
파일들은 검사 가능하고(inspectable), 편집 가능하며(editable), 버전 관리 가능하고(versionable), 에이전트가 읽고 쓰기 쉬하기 때문에 매력적입니다.
Wiki는 모든 메모리를 포괄하는 것은 아닙니다. 단기적인 대화 상태(conversation state), 사용자 선호도(user preferences), 또는 고빈도 이벤트 로그(high-frequency event logs)보다는, 지속 가능한 도메인 지식(durable domain knowledge)에 가장 적합합니다. 하지만 많은 영역에서, 위키 메모리(wiki memory)는 우리가 가진 가장 간단하고 유용한 장기 메모리 패턴일 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기