대규모 언어모델(LLM)은 방대한 정보를 처리하고 복잡한 질문에 답하는 데 탁월하지만, 장시간에 걸친 추론이나 취약점 조사 같은 연속적인 작업에서는 치명적인 약점을 드러냅니다. 이미 폐기된 가설을 다시 제안하거나, 잘못된 전제에서 도출된 결론을 계속 믿는 '건망증' 문제가 바로 그것입니다. 이러한 LLM의 한계를 극복하기 위해 Datalog 기반의 상태 관리 엔진 'Lemmalog'가 개발되어 주목받고 있습니다.
Lemmalog는 과거 대화를 단순히 검색하는 대신, '현재 무엇이 참인가'를 사실과 규칙으로 관리하는 데 집중합니다. LLM이 자연어, 코드, 디버거 출력 등을 구조화된 사실로 변환하면, Lemmalog는 이 사실들을 바탕으로 현재의 분석 상태를 유지하고, 전제가 바뀌면 그에 의존한 결론을 자동으로 무효화합니다. 이는 마치 확률적 파서(LLM)를 앞에 둔 컴파일러처럼 작동하여, LLM은 해석을 담당하고 Lemmalog는 결정적인 상태 관리를 맡는 방식입니다. 특히, 각 결론을 지지하는 경로를 추적하여 모든 근거가 사라질 때만 결론을 철회하고, 사실에 유효 시간 구간을 부여하여 현재와 과거 상태를 명확히 구분하는 등 정교한 기능을 제공합니다.
이러한 접근 방식은 LLM의 추론 신뢰도를 높이는 동시에 효율성도 개선합니다. Lemmalog는 LongMemEval 벤치마크에서 F1 점수 0.463, LoCoMo 벤치마크에서 F1 점수 0.533을 기록하며 기존 전용 메모리 시스템과 경쟁할 만한 성능을 보였습니다. 특히, 지식 갱신(knowledge update) 작업에서 가장 높은 F1 점수를 기록했으며, 전체 대화를 입력하는 방식보다 질문당 문맥(context)을 약 6배에서 38배까지 줄여 비용 절감 효과도 입증했습니다. 이는 LLM이 더 많은 대화를 '기억'하게 하는 것이 아니라, '왜 특정 결론을 믿었는지'를 잊지 않게 하는 것이 핵심임을 보여줍니다. Lemmalog는 오픈소스로 공개되어 있으며, 데이터베이스와 프로그램 분석 분야에서 오랫동안 다뤄온 문제들을 LLM 시대에 새롭게 적용한 사례로 평가받고 있습니다.