약 2분

기억을 정리하는 AI, 아직은 우회로

허예찬의 에이전트 메모리 설계를 보고 든 생각. 포인터, wiki 컴파일, 그리고 아직 풀리지 않은 문제.

허예찬이 에이전트 메모리 설계에 대해 이야기하는 걸 봤다. MEMORY.md에 대화마다 배운 것들을 쌓다 보면 한 달쯤 지나서 파일이 거대해지고, 에이전트가 그걸 통째로 끌어안고 응답하기 시작한다는 거다. 장기 기억이 오히려 짐이 되는 상황. 에이전트 쓰는 사람이면 한 번쯤은 부딪히는 문제다. 나도 그랬다.

허예찬의 접근은 MEMORY.md에 실제 내용을 넣지 않는 거였다. 포인터만 남기고, 실제 기억은 카테고리별로 분산 저장한다. 에이전트가 MEMORY.md를 읽으면 “이 기억은 저기 있구나” 하고 팔로우업 툴콜을 한다. 한 번에 안 끝나니까 얼핏 비효율 같지만, 1.8MB짜리 기억을 통째로 올리는 것보다 낫다. 거기에 사람이 잠자면서 기억을 정리하듯이 주기적으로 메모리를 정리하는 프로세스를 달아두면, 장기 기억이 꽤 깔끔하게 유지된다고.

들으면서 안드레 카파시가 LLM에게 wiki를 컴파일하게 하는 것과 비슷한 맥락이 아닌가 싶었다. 거대한 정보를 모델이 한 번에 소화하게 하는 게 아니라, 구조화된 색인을 만들어서 필요한 부분만 찾아가게 하는 방식. 접근은 다른데 풀려는 문제는 같다.

다만 이런 것들이 컨텍스트 문제를 본질적으로 푸는 건 아니라고 생각한다. 지금 가장 viable한 방식을 택해서 작업하고 있는 거지, 모델이 인간의 장기기억처럼 맥락을 유지할 수 있게 되기 전까지는 결국 우회로다. 포인터든 wiki 컴파일이든 메모리 에이전트든, 전부 “지금은 이게 최선”인 방법들이다.

그래도 우회로가 나쁜 건 아니다. 문제가 풀릴 때까지 가만히 있을 수는 없으니까, 각자 자기 방식대로 돌아가는 길을 만들고 있는 거다. 허예찬은 포인터로, 카파시는 컴파일로, 나는 내 프로젝트에서 내 방식으로.

이 글은 Omo con에서 허예찬의 발표를 보고 쓴 기록입니다.