LLM의 망각을 막는 결정론적 메모리 구조
LLM이 긴 대화 과정에서 기존에 확립한 사실을 잊거나, 이미 틀렸다고 판명된 가정을 계속 유지하는 문제를 해결하기 위해 '레마로그(Lemmalog)'가 개발됐다. 이 시스템은 LLM이 자연어와 소스 코드, 디버거 출력물 같은 모호한 정보에서 사실(Fact)을 추출하면, 이를 데이터로그(Datalog) 엔진이라는 결정론적 데이터베이스에 저장해 관리하는 방식을 취한다. 데이터로그는 사실과 규칙을 정의해 새로운 사실을 유도하는 선언적 논리 프로그래밍 언어다.
성능 검증을 위해 진행한 LongMemEval 벤치마크에서 레마로그는 0.429 F1 점수를 기록했다. 이는 GPT-4.1에 전체 대화 내용을 그대로 입력한 풀 컨텍스트(Full-context) 방식의 0.197 F1보다 2배 이상 높은 수치다. 특히 새로운 정보가 들어왔을 때 기존 지식을 수정하는 '지식 업데이트' 항목에서는 0.579점을 기록하며, 기존 메모리 시스템인 PropMem(0.528)보다 우수한 성능을 보였다. LoCoMo 벤치마크에서도 약 0.53의 F1 점수를 얻으며 전용 메모리 시스템들 사이에서 상위권에 진입했다. 주목할 점은 답변 모델에 전달되는 컨텍스트 크기가 풀 컨텍스트 방식보다 약 38배나 작다는 것이다.
시맨틱 검색에서 '상태 유지'로의 흐름 변화
기존의 LLM 메모리 솔루션은 주로 벡터 데이터베이스를 활용한 시맨틱 검색(Semantic Search)에 의존했다. 하지만 시맨틱 검색은 질문과 유사한 내용을 찾아낼 뿐, 해당 정보가 2시간 전에 이미 거짓으로 판명되었는지, 혹은 특정 결론이 어떤 근거에 의존하고 있는지를 추적하지 못한다. 레마로그는 이를 '검색'의 문제가 아니라 '상태 유지'의 문제로 정의하고 프로그램 분석(Program Analysis) 기법을 도입했다.
데이터로그 엔진의 핵심은 증거의 출처(Provenance)를 추적하고 증분 평가(Incremental Evaluation)를 수행하는 것이다. 예를 들어 'A라는 관찰 결과 때문에 B라는 결론이 나왔다'는 의존 관계를 저장해두면, 나중에 A가 틀렸음이 밝혀졌을 때 이와 연결된 B 결론을 자동으로 무효화할 수 있다. 이는 LLM에게 과거 대화 기록을 다시 읽히고 스스로 모순을 찾아내길 기대하는 방식보다 훨씬 정확하다. 또한 사실에 유효 기간(Validity Intervals)을 부여해, 과거의 잘못된 가정이 왜 세워졌는지는 기록하면서도 현재의 추론에는 영향을 주지 않도록 설계했다.
AI 실무자가 관찰해야 할 비용과 제약 조건
실무자가 주목할 지점은 컨텍스트 윈도우를 무조건 확장하는 대신, 정교한 중간 표현(IR)을 구축해 상태를 관리하는 것이 추론 정확도와 비용 효율성을 동시에 잡을 수 있는 대안이 된다는 점이다. 레마로그의 구조를 적용하면 매 쿼리마다 전체 히스토리를 다시 지불해야 하는 풀 컨텍스트 방식과 달리, 최초 1회 추출 비용만 지불하고 이후에는 필요한 상태만 호출해 사용할 수 있다. 대화가 길어질수록 비용 절감 효과와 컨텍스트 제한 문제 해결 능력이 커진다.
다만, 자연어를 구조화된 사실로 변환하는 '추출' 단계에서 정보 손실이 발생할 수 있다는 제약이 있다. 벤치마크 결과에서도 단순 사실 회상이나 지식 업데이트는 강했지만, 복잡한 추론(Inference) 단계에서는 성능이 낮게 나타났다. 이는 모든 기억을 무조건적인 튜플(Tuple) 형태로 저장하려 할 때 발생하는 한계다. 따라서 향후 AI 에이전트 설계 시에는 모든 정보를 구조화하기보다, 조건부 지식은 그대로 유지하고 필요할 때 원문 텍스트를 함께 참조하는 하이브리드 구조를 검토해야 한다. 결국 핵심은 모델의 크기를 키우는 것이 아니라, 모델 주변에서 상태를 얼마나 정교하게 관리하느냐에 달려 있다.



