AI의 기억과 컨텍스트
언어모델이 지식을 품는 두 방식(파라미터와 컨텍스트), 긴 입력의 함정, 그리고 경험을 쌓는 에이전트 메모리의 흐름을 정리한 개념 뼈대 글이다.
고친 내용: 초판
왜 기억이 문제인가
대규모 언어모델은 학습이 끝난 뒤에는 기본적으로 변하지 않는 가중치를 품고 대화에 임한다. 이전 대화에서 알려준 사실, 어제 정한 약속, 조금 전에 읽은 문서 같은 것은 가중치 안에 들어 있지 않다. 모델이 한 번의 응답을 만들 때 참고할 수 있는 것은 결국 그 순간 함께 건네받은 입력, 즉 컨텍스트뿐이다. 그래서 AI에게 기억이란 인간의 회상과 전혀 다른 설계 문제다. 무엇을 가중치에 새기고, 무엇을 그때그때 입력으로 주며, 무엇을 외부에 두고 찾아오게 할 것인가.
이 문제는 실용적인 이유에서 중요하다. 모델의 세계 지식은 학습 시점에 고정되므로 새로운 사실을 반영하려면 다시 학습하거나 별도의 통로가 필요하다. 또한 모델이 어디에서 가져온 근거로 답했는지 출처를 대는 일, 지식이 바뀌었을 때 낡은 답을 고치는 일은 가중치만으로는 풀기 어렵다. 검색 증강 생성 논문이 서두에서 바로 이 두 가지를 열린 연구 문제로 지목한 것은 우연이 아니다. 출처 귀속과 지식 업데이트는 이 주제 전체를 관통하는 숙제다.
두 종류의 기억: 파라미터와 컨텍스트
검색 증강 생성(RAG) 논문은 기억을 두 층으로 나누는 언어를 제시했다. 하나는 모델 가중치 속에 든 파라메트릭 메모리이고, 다른 하나는 Wikipedia 같은 외부 인덱스에 두고 필요할 때 꺼내 읽는 비파라메트릭 메모리다. 논문은 사전학습된 seq2seq 모델과 dense vector 인덱스, 그리고 둘을 잇는 neural retriever를 결합해 두 기억을 함께 쓰는 생성 모델을 만들었다고 보고한다. 이 구분 자체가 이 주제의 뼈대다. 이후의 많은 설계는 결국 무엇을 어느 층에 둘 것인가를 다투는 변형이다.
이 구분을 받아들이면 흔한 질문들에 답하기 쉬워진다. 모델이 학습하지 않은 최신 사실을 알아야 한다면 외부 기억에 두고 검색으로 건네면 된다. 말투나 추론 방식 같은 것은 가중치 쪽이 맡는다. 다만 경계가 항상 깔끔한 것은 아니다. 검색 결과도 결국 컨텍스트로 들어가 모델의 해석을 거치므로, 외부 기억은 가중치의 판단력에 의존한다. 두 층은 경쟁 관계가 아니라 분업 관계라는 것이 이 글의 해석이다.
컨텍스트가 길어진다고 다 읽는 것은 아니다
한 번에 입력할 수 있는 분량이 늘어나면서 모든 자료를 그냥 입력에 밀어 넣으면 해결될 것 같다는 기대가 생겼다. Lost in the Middle 연구는 이 기대에 제동을 건 관찰이다. 다중 문서 질의응답과 key-value 회상이라는 두 태스크에서 관련 정보의 위치만 바꿔도 성능이 크게 달라졌고, 정보가 입력의 앞이나 끝에 있을 때 가장 잘 읽고 중간에 있을 때 눈에 띄게 못 읽는 경향이 관찰되었다. 명시적으로 긴 입력을 받도록 만든 모델에서도 같은 경향이 나타났다고 보고되었다.
이 발견의 실무적 함의는 분명하다. 입력 칸이 넓어졌다는 것과 모델이 그 안의 정보를 골고루 쓴다는 것은 다른 이야기다. 중요한 사실을 긴 자료의 한가운데에 묻어두는 설계는 위험할 수 있다. 그래서 검색으로 범위를 좁힌 뒤 핵심만 앞에 배치하거나, 구조를 나눠 여러 번 묻는 식의 보완이 필요해진다. 다만 이 연구는 특정 모델과 특정 평가 설정에서의 관찰이므로, 모든 긴 입력이 항상 못 쓰인다는 일반화로 읽어서는 안 된다.
경험을 쌓는 기억: 에이전트 메모리
대화가 길어지고 에이전트가 여러 날에 걸쳐 일하기 시작하면서 또 다른 기억의 층이 필요해졌다. Generative Agents 연구는 에이전트의 경험을 자연어로 전부 기록하는 메모리 스트림, 시간이 지나며 이를 상위 수준의 성찰로 종합하는 과정, 행동 계획 시점에 필요한 기억을 동적으로 꺼내는 회상이라는 세 부품을 제안했다. 25개 에이전트가 사는 작은 마을 실험에서 이 구조 위에 초대 확산이나 약속 같은 사회적 행동이 나타났다고 보고되었다. 기억이 단순한 저장소가 아니라 행동을 빚는 재료로 쓰인 사례다.
A-MEM은 같은 방향의 더 새로운 제안으로, 2025년 2월 arXiv에 공개된 프리프린트다. 이 제안은 메모 작성법으로 유명한 Zettelkasten의 원칙을 빌려, 새 기억이 들어올 때마다 맥락 서술과 키워드, 태그를 담은 구조화 노트를 만들고 과거 기억과의 연결을 맺는다. 나아가 새 기억의 통합이 기존 기억의 표현을 고치는 memory evolution까지 제안한다. 아직 프리프린트 단계이므로 효과 수치를 인용하지 않지만, 기억을 고정된 덩어리가 아니라 진화하는 네트워크로 보는 관점 자체가 주목할 만하다.
실무에서 기억을 설계한다는 것
이상의 논의를 실무의 언어로 번역하면 선택지는 세 갈래다. 자주 쓰고 변하지 않는 것은 모델과 프롬프트 쪽에 두고, 방대하고 자주 바뀌는 것은 외부에 두고 검색으로 가져오며, 진행 중인 맥락은 대화 안에 유지하되 길어지면 요약하거나 구조화해 다듬는다. 이 판단은 비용과도 연결된다. 검색은 인덱스 구축과 유지 비용이 들고, 긴 입력은 매 호출의 계산 비용을 키우며, 요약은 정보 손실의 위험을 안는다. 정답은 하나가 아니라 태스크의 성격에 따라 달라진다.
한 가지 덧붙일 것은 기억의 품질이 검색의 품질에 묶여 있다는 점이다. 외부 기억을 둔다고 해서 모델이 저절로 진실을 말하게 되지는 않는다. 엉뚱한 문서를 가져오면 그럴듯한 오답의 재료만 늘어날 뿐이다. 그래서 기억 설계의 절반은 검색 설계이며, 나머지 절반은 가져온 것을 어떻게 배치하고 검증할 것인가의 문제다. 이 대목은 검색 증강 생성 주제 글과 함께 읽기를 권한다.
열린 문제
아직 풀리지 않은 질문이 많다. 기억이 서로 충돌할 때 무엇을 믿을 것인가. 낡은 기억을 언제 버리고 어떻게 고칠 것인가. 기억의 출처를 응답과 함께 끝까지 추적할 수 있는가. 그리고 기억 시스템 자체를 어떻게 공정하게 평가할 것인가. 특히 마지막 질문은 어렵다. 최종 답의 품질만 보면 기억이 기여한 몫을 분리하기 힘들기 때문이다. 이 서가가 다루는 범위를 넘어서는 논의도 많으므로, 이 글은 문제의 지형도까지만 그리고 개별 해법의 우열은 판단하지 않는다.
현재 판 출처 (이 개정의 출처 보관본 아님) 4건
아래는 현재 판의 출처 목록을 고리 풀이용으로 그대로 둔 참조이며, 이 개정의 출처 보관본이 아니다.