여러 사람이 뒤섞여 대화하는 자리에서 AI가 "누가 무슨 말을 했고, 그게 누구에 관한 것이며, 시간이 지나며 상황이 어떻게 바뀌었는지"까지 기억하게 만든 연구다. SpeakerMem-R1은 화자별 원문과 거기서 뽑아낸 상태 정보를 두 트랙으로 나눠 저장하고, 질문이 들어오면 두 트랙을 인물·사건·시간 기준으로 합쳐 답한다. 여러 명이 오가는 대화를 다루는 기존 메모리 시스템을 앞서는 성능을 보고했다.
대부분의 AI 메모리 시스템은 "일대일 대화"를 전제로 설계됐다. 사용자 한 명과 AI가 주고받는 상황에서는 "무슨 말이 오갔나"만 잘 저장하면 된다. 화자는 어차피 둘뿐이라 굳이 구분할 이유가 크지 않다.
그런데 단체 채팅방이나 회의처럼 여러 명이 오가는 자리(다자 대화, multi-party dialogue)는 이야기가 완전히 달라진다. 관련 내용을 찾아오는 것만으로는 부족하다.
프로젝트 PM이 팀 채팅방을 몇 달간 지켜봤다고 하자. 그는 "이 말은 A가 B를 두고 한 얘기였고, C는 그때 이미 담당에서 빠진 상태였다"처럼 사람·관계·시점을 겹쳐서 기억해야 한다. 이처럼 뒤섞인 정보 속에서 ①누가 누구에 대해 말하는지(화자 귀속과 관계)와 ②시간에 따라 각자의 상황이 어떻게 바뀌는지(상태 재구성)를 추적하는 것이 핵심 난제다.
①은 발언을 올바른 화자에게 붙이고(화자 귀속, message attribution), 그 말이 누구에 관한 것인지, 사람들이 서로를 어떻게 인식하는지, 그룹 전체가 공유하는 정보가 무엇인지까지 함께 붙잡는 문제다. ②는 여기저기 흩어진 발언을 모아 "지금 이 사람의 상태"를 다시 조립하는 문제다. 이 논문은 기존 범용 LLM 메모리가 바로 이 두 지점에서 무너진다고 지적한다. 사람과 그룹 사이의 관계를 잃어버리고, 구성원·그룹·시간에 흩어진 단서를 하나로 통합하지 못하기 때문이다.
SpeakerMem-R1의 중심은 이중 트랙 메모리(dual-track memory), 즉 기억을 성격이 다른 두 갈래로 나눠 보관하는 구조다.
트랙 1은 화자 이름표를 단 원문(verbatim)이다. 누가 정확히 뭐라고 말했는지를 그대로 남긴다. 회의 녹취록을 발언자 표시까지 살려 보관하는 것과 같아서, 나중에 "그 사람이 정확히 어떻게 표현했나"를 따질 근거가 된다.
트랙 2는 원문에서 요약·추론해 뽑아낸 상태(derived states)다. 이때 두 관점으로 나눠 정리한다. 개인별 정보는 인물 단위(person-level)로, 집단이 공유하는 정보는 그룹 단위(group-level)로 둔다. 녹취록과 별개로 "각 사람 프로필 카드"와 "팀 공용 게시판"을 따로 관리하는 셈이다.
질문이 들어오면 두 트랙을 그냥 나란히 놓지 않고 인물(entity)·사건(event)·시간(time) 세 축으로 양쪽 증거를 맞춘다. "이 사람에 관한 질문"이면 인물 축으로, "이 일이 언제 어떻게 됐나"면 사건·시간 축으로 원문과 상태를 대조해 답을 만든다.
문제는 이런 구조화된 기억을 만드는 과정에서 오류가 난다는 점이다. 발언을 엉뚱한 사람에게 붙이거나(귀속 오류), 상태를 잘못 갱신하는(업데이트 오류) 일이 생긴다. 게다가 자체 서버에서 돌리는 로컬 배포를 하려면 거대한 외부 모델에만 기댈 수도 없다.
그래서 저자들은 기억을 쓰는 모델 Writer-R1을 따로 학습시킨다. 여기에 두 장치가 들어간다.
정리하면, 구조(이중 트랙)로 "무엇을 기억할지"를 정하고, 학습(Writer-R1과 두 장치)으로 "그 기억을 정확히 쓰는 능력"을 끌어올렸다.
수치를 보기 전에 채점 방식부터 짚자. 여기서 말하는 이진 정확도(binary accuracy)는 모델이 생성한 답을 정답이냐 오답이냐(1/0)로 채점한 값이다. 둘 중 하나를 고르는 양자택일 문제를 맞힌 비율이 아니라서, 찍어서 나오는 무작위 기준선과 단순 비교할 수 있는 수치가 아니다. 그래서 절대 점수가 다소 낮아 보여도 이상하지 않다. 다자 대화를 장기간 기억하는 일 자체가 그만큼 어렵다는 신호로 읽어야 한다.
이 논문이 보고한 성과는 다음과 같다(모두 초록 기준).
| 벤치마크 | 이진 정확도 |
|---|---|
| GroupMemBench | 47.9% |
| SocialMemBench | 69.2% |
| EverMemBench | 61.9% |
여기에 더해:
평가는 이진 정확도와 함께 token-F1(정답과 토큰 단위로 얼마나 겹치는지)도 보고한다. 또 구성요소를 하나씩 빼보는 절제 실험(ablation)에서, 원문 트랙과 상태 트랙이, 그리고 인물 단위와 그룹 단위 관점이 서로를 보완한다는 점을 확인했다. 어느 한쪽만으로는 부족하고, 둘을 함께 둘 때 성능이 산다는 뜻이다.
결국 이 논문은 "다자 대화 기억은 검색만 잘해서 되는 문제가 아니다"라는 주장을 구조와 수치로 뒷받침한다. 원문 보존과 구조화된 상태 관리를 한 시스템에 함께 두고, 화자 정보를 학습 신호로 직접 쓴 것이 핵심 기여다.
솔직하게 남는 지점들도 있다.
이러한 한계는 역설적으로 이 기술을 어디에 어떻게 써야 하는지를 알려준다.
온틀은 AI 프로젝트 매니저를 파견하는 서비스다. PM 성격의 에이전트가 여러 사람이 오가는 협업 현장(슬랙 채널·회의·단체 대화)을 지켜보며 일한다는 점에서, 이 논문의 문제의식은 곧 우리 문제다. 그리고 앞의 한계들은 그대로 "어떻게 써야 하는가"의 답이 된다.
다만 절대 점수가 아직 낮다는 사실은 냉정하게 받아들여야 한다. 중요한 귀속·상태 판단일수록 자동 실행에 바로 걸기보다 사람이 한 번 확인하도록 두는 편이 안전하다. 정확도와 비용의 트레이드오프가 분명한 지금 단계에서는, 이 기억 구조를 "사람의 판단을 대신하는 장치"가 아니라 "사람이 빠르게 확인하도록 정리해 주는 장치"로 쓰는 것이 합리적이다.
이름표(원문 트랙)는 "누가 말했나"는 지켜 주지만 "지금 이 사람의 상태가 무엇인가"에는 답하지 못합니다. 흩어진 발언을 모아 상태로 정리하는 두 번째 트랙이 있어야 "지금 담당이 누구인지" 같은 질문에 답할 수 있고, 원문과 대조해 상태가 틀렸을 때 바로잡을 수도 있습니다.
다자 대화용으로 특화한 시스템이 정작 가장 단순한 일대일 대화에서는 오히려 약해지는 부작용이 없는지 확인하는 안전장치입니다. 특수 기능을 넣고도 기본기가 흔들리지 않는지 보는 경계 시험이라고 이해하면 됩니다.
설계 아이디어(화자 보존, 원문과 상태 분리, 인물과 그룹 관점 분리)는 바로 참고할 만합니다. 다만 절대 정확도가 아직 높지 않으므로, 핵심 판단은 자동화에 곧장 맡기기보다 사람 확인을 한 단계 두는 쪽을 권합니다.