난카이대학교, vivo AI Lab, 칭화대학교 등의 연구진이 장기 대화 에이전트의 기억을 관리하는 프레임워크 PreCoMem을 논문으로 발표하고 코드를 GitHub에 공개했다. 사용자의 상태를 확신도가 붙은 믿음으로 저장하고, 새 발화가 기존 믿음과 얼마나 어긋나는지에 따라 기억을 유지·보류·수정한다. 논문은 2026년 10월 21일 arXiv에 올라왔다.1
연구진은 LoCoMo, LongMemEval-S, PersonaMem-v2에서 일관되게 최고 수준의 정확도를 냈다고 밝혔다. 저장소에 따르면 PreCoMem은 자체 가중치를 배포하지 않고 별도 학습도 필요 없다. 임베딩 모델 Qwen/Qwen3-Embedding-0.6B와 모순 판별용 cross-encoder/nli-deberta-v3-base 두 공개 체크포인트는 models 추가 패키지를 설치했을 때 처음 사용하는 시점에 내려받는다. 이 패키지 없이 실행하면 해시 임베더와 휴리스틱 모순 판별기로 대체된다. 설치에는 Python 3.9 이상이 필요하다.1,2
기존 기억 시스템은 관찰한 내용을 모두 덧붙이거나 경험칙으로 옛 항목을 덮어써서, 일시적 잡음과 실제 생각의 변화를 구분하기 어렵다는 것이 연구진의 문제 제기다. PreCoMem은 예측 부호화에서 착안해 기억을 사용자 상태에 대한 확신도 가중 믿음으로 나타낸다.
기존 기억 시스템은 관찰한 내용을 모두 덧붙이거나 경험칙으로 옛 항목을 덮어써서, 일시적 잡음과 실제 생각의 변화를 구분하기 어렵다는 것이 연구진의 문제 제기다. PreCoMem은 예측 부호화에서 착안해 기억을 사용자 상태에 대한 확신도 가중 믿음으로 나타낸다.
핵심 신호인 유효 놀라움(Effective Surprisal)은 의미상 이탈과 모순 증거를 합친 값이다. 검색 결과가 흩어져 믿기 어려울 때는 이 값을 낮춘다. 두 개의 임계값으로 된 문턱이 매 대화 턴을 세 가지 결정적 갱신 중 하나로 보낸다.
문턱 판정 결과에 따라 뒷받침되는 믿음은 강화(MAINTAIN)된다. 애매한 단서는 낮은 확신도의 가설로 저장(PROFILE)되는데, 이 단계는 잡음에 성급히 확정하지 않도록 하는 대기실 구실을 한다. 믿을 만한 모순이 나온 사실은 가중치가 서서히 낮아진다(CORRECT).1
기본 설정의 문턱값은 (θ_low, θ_high) = (0.2, 0.6)이다. 가설은 반복해서 뒷받침되면 사실로 승격되고, 승격 기준은 0.80이다. 지지가 돌아오지 않으면 0.10 기준으로 삭제된다. 하위 LLM 에이전트는 어떤 믿음을 건드릴지와 강도만 정하고, 문턱 판정과 강화·감쇠·승격·삭제는 닫힌 형태의 수식이라 메모리 크기가 제한되고 갱신을 감사할 수 있다고 저장소는 설명한다.
답변 모델에 들어가는 입력은 질문에 맞춰 불러온 상위 10개 믿음, 연결된 에피소드 발췌 최대 8개, 최근 6턴 작업 창이다. 확신도 가중치는 답변 모델에 보여 주지 않는다.2
벤치마크 결과
모든 실행은 시드 13, 42, 1234 세 개로 했다. gpt-4.1-mini 1개와 gemini-2.5-flash 2개가 서로 다른 시스템 프롬프트로 채점하고, 정확도는 세 이진 판정의 평균이다.
LoCoMo는 적대적 범주 5를 뺀 1,540문항이다. PreCoMem의 전체 정확도는 gpt-4o-mini 기반 73.57, gpt-4.1 기반 85.06이다. 가장 강한 비교 대상 TiMem은 전체 71.88(gpt-4o-mini), 84.04(gpt-4.1)였다.
LongMemEval-S는 500문항이다. PreCoMem의 전체 정확도는 gpt-4o-mini에서 84.28, gpt-4.1에서 89.39다. 가장 강한 비교 대상 EverMemOS는 전체 82.32(gpt-4o-mini), 86.16(gpt-4.1)이었다.
PersonaMem-v2에서 gpt-4.1 기준 주관식 정확도는 32k 문맥 72.31, 128k 문맥 67.84로, EverMemOS보다 각각 3.37점, 2.89점 높다.2
신념 변화 전용 벤치마크 DiMoBench
연구진이 새로 만든 DiMoBench는 검색 방해가 있는 상황에서 점진적이고 암묵적인 신념 변화를 다뤄 쓰기 경로만 따로 검증한다. 변화 시점 이후 PreCoMem은 가장 빨리 회복해 84%에서 안정됐고, EverMemOS, TiMem, O-Mem은 78~80%에서 정체했다. 연구진은 잡음에 과민 반응하지 않으면서 변화에 적응한다고 밝혔다.1,2
기본 트랙은 10턴짜리 35개 세션이고 200번째 턴에서 변화가 생긴다. 세션 21의 암묵적 사건 4개가 변화를 일으키고, 세션 22~24에 단서가 몰려 있으며, 세션 25~35는 유지 구간이다. 30턴마다 교란 요소가 나오고, 200문항은 변화 전 90, 변화 시점 10, 변화 후 100으로 나뉜다. XL 트랙은 105개 세션, 속성 슬롯 5개, 280·580·870턴의 변화 3회로 구성되며, 변화마다 단서 22개를 쓰고 50턴 구간마다 20문항, 인물당 420문항을 둔다.
데이터는 인물 카드, 생활 골격, 대화, 문항, 검증, 감사의 여섯 단계로 만든다. 기본 설정에서 생성기는 GPT-4o, 검증기는 Gemini-2.5-Pro다. 검증은 여섯 기준으로 하고, 수정 요구 시 최대 3회 다시 생성하며 거부하면 폐기한다. 20% 층화 감사 표본과 Cohen's κ 계산 도구도 있다.2
실행과 재현
OpenAI 호환 엔드포인트라면 어느 백본이든 쓸 수 있고, --backbone과 --base-url로 지정한다. 백본과 주 채점기는 OPENAI_API_KEY, 보조 채점기와 DiMoBench 검증기는 GEMINI_API_KEY가 필요하다. models 추가 패키지 없이 실행하면 해시 임베더와 휴리스틱 모순 판별기로 대체되어 파이프라인은 돌지만 논문 수치는 재현되지 않는다. PRECOMEM_STRICT_EMBEDDER=1과 PRECOMEM_STRICT_NLI=1을 설정하면 이 대체를 오류로 바꾼다.
조정되는 값은 모순 판별기의 스칼라 온도 하나이며 MNLI 개발 세트로 맞춘다. 문턱을 데이터에 맞춰 바꾸는 PreCoMem(DT) 변형도 있다. 각 실행은 설정, 문항별 예측과 판정 표, 턴별 추적, 최종 믿음 저장소, 범주별 정확도 요약을 results 폴더에 남긴다. 오프라인 단위 테스트는 API 키나 모델 내려받기 없이 몇 초 안에 돈다.
모든 절제 실험은 설정 스위치로 켜고 끈다. 놀라움 신호 구성 요소, 신뢰도 가중, 대기실 단계, 문턱 개수 등을 하나씩 바꿔 볼 수 있다. AMemGym과 LoCoMo-Plus 결과는 해당 벤치마크의 공식 절차를 따르며 이 저장소 실행기에는 들어 있지 않다.2