#RAG
62개의 포스트

기억력 시험은 만점, 심부름은 낙제 — MemoryArena가 보여 준 에이전트 기억의 진짜 시험
LoCoMo 같은 기억력 시험에서 90점대를 받는 에이전트가, 어제 산 카메라에 맞는 렌즈를 오늘 사 오는 심부름은 거의 못 합니다. ICML 2026 논문 MemoryArena는 기억을 '회상'이 아니라 '다음 행동'으로 채점합니다. 묶음 쇼핑·단체 여행·점진 검색·수학/물리 증명 사슬 701과제(하위 과제 4,850개)에서 롱컨텍스트·기억 에이전트·RAG 13가지 방식의 과제 성공률은 모두 0.20 이하였고, 단체 여행은 전원 0이었습니다. 기억 장치를 붙였다고 나아지지도 않았습니다. 왜 이런 시험이 필요해졌는지 1990년대 인지과학과 POMDP부터 건초더미 속 바늘, LoCoMo·LongMemEval까지 거슬러 올라가고, 네 경기장의 설계와 표·그림·부록 사례·공개 심사평을 하나씩 읽습니다. 공개 데이터로 '기억해 내기'와 '기억으로 행동하기'를 직접 갈라 재 보니, 같은 모델이 같은 기억으로 앞 여행자의 선택을 97% 떠올렸지만 그 선택을 기준 삼은 행동은 36%만 맞혔고, 필요한 사실을 정답으로 쥐여 줘도 31%였습니다. 모델이 직접 쓴 요약 메모는 취향만 적고 결정을 버려 회상 0%였습니다. 인터랙티브 5개.

지도와 심판 — 임베딩과 판정 모델, 언제 무엇을 쓰나: 업무 12가지와 조합 실측 (로컬 모델 실측 3편)
1편에서 임베딩 모델 아홉 개를, 2편에서 판정 모델 세 개를 같은 맥에서 한국어로 쟀습니다. 3편은 그 둘을 한 자리에 놓고 묻습니다. 어느 일에 어느 쪽을 쓰나. 임베딩은 지도입니다. 수백만 건 중 어디를 볼지 알려 주고, 좌표를 저장해 두고 재사용합니다. 판정 모델은 심판입니다. 눈앞의 후보 몇 개 중 무엇이 맞는지, 규정에 비춰 되는지 안 되는지를 확률과 함께 말합니다. 이 글은 네 가지 질문으로 두 자리를 가르는 진단표, 고객 문의 라우팅·환불 규정·감성 점수·인젝션 탐지·도구 호출 가드·민원 배정·LLM 라우팅 일곱 업무의 실측(판정 모델 세 개 대 임베딩 유사도 대 27B 채팅 모델), 코어닷투데이가 실제로 만나는 업무 열두 가지의 추천 조합·예시·함정, 그리고 '작은 임베딩 + 판정 모델이 큰 임베딩을 따라잡는가'를 1편의 모델 다섯으로 확인한 조합 실험을 담았습니다. 마지막은 메모리·지연·비용·데이터 반출을 한 표로 놓은 운영 체크리스트입니다. 인터랙티브 4개와 삽화 6장.

맥 한 대에 임베딩 모델 아홉 개 — Qwen3·BGE-M3·Nomic·Arctic·EmbeddingGemma 1·2를 한국어로 다시 재다 (로컬 모델 실측 1편)
10월 1일 다섯 모델을 쟀던 글 뒤로 열흘 사이에 많은 것이 바뀌었습니다. 구글이 EmbeddingGemma 2를 냈고, Ollama 0.40이 애플 실리콘에서 MLX 러너를 기본으로 켰고, 같은 맥에 올라 있는 임베딩 모델이 아홉 개가 됐습니다. 이 글은 그 아홉 개 — Qwen3-Embedding 8B·4B·0.6B, BGE-M3, Nomic Embed v2 MoE, Snowflake Arctic Embed 2.0, EmbeddingGemma 300M, EmbeddingGemma 2 740M·440M — 를 코어닷투데이 문서 660건과 한국어 질문 85개로 같은 조건에서 다시 쟀습니다. 모델마다 '무엇을 하려고 만든 모델인지'를 뼈대(인코더·디코더·온디바이스) 기준으로 쉽게 풀고, 결과에서 가장 놀라운 한 줄 — 308M짜리 1세대 EmbeddingGemma가 4B 모델과 같은 점수를 냈고 2세대는 그보다 낮았다 — 이 왜 나왔는지, 접두어 한 줄이 0.08을 바꾸는 이유, 같은 문서를 토크나이저가 얼마나 다르게 쪼개는지, 벡터를 256차원으로 잘라도 되는지를 실제 값으로 보여 줍니다. 인터랙티브 7개와 삽화 6장. 2편은 글자를 쓰지 않는 판정 모델 tev1·Nimble, 3편은 두 종류를 언제 어떻게 쓰나입니다.

'지난달 글'은 누가 계산하나 — 시간 표현과 검색, 계산하게 할 것인가 고르게 할 것인가 (한국어 검색 스택 11편)
8편에서 '2026년 4월에 올라온 RAG 글'은 정규식 몇 줄로 풀렸습니다. 날짜가 숫자로 적혀 있었기 때문입니다. 그런데 사람은 그렇게 묻지 않습니다. '지난달 RAG 글', '올봄에 쓴 보안 글', '도커 첫걸음 시리즈가 나온 다음에 쓴 Git 글'. 이 글은 오늘을 2026년 10월 14일로 고정하고 이런 질문 38개로, 시간 표현을 날짜 범위로 바꾸는 일을 누구에게 맡겨야 하는지 쟀습니다. 정규식은 하나도 읽지 못했습니다. 로컬 LLM은 날짜를 직접 계산해 nDCG@10 0.735까지 올렸지만 '두 달 전'을 하루짜리 날짜로 읽어 결과가 텅 빈 질문을 만들었습니다. Jev에게 글마다 날짜를 판정시키면 '지난달'은 완벽했지만 '지난 분기'는 56%였습니다. 같은 Jev가 코드가 펼쳐 준 기간 후보 20개 중에서 고르게 하자 26개를 전부 맞혔고, 사건 기준 질문은 검색이 기준 글을 찾게 한 설계가 0.832로 상한선(0.851)에 다가갔습니다. 계산은 코드가, 판단은 Jev가, 찾기는 검색이. Jev 2,627회 호출에 0.06달러. 인터랙티브 4개와 삽화 7장.

기억에 유효기간을 적다 — Graphiti 시간 그래프, 개념부터 코드까지
AI 비서가 '서울 사세요?'라고 묻는다면, 그건 기억을 못 해서가 아니라 기억은 하는데 언제의 기억인지를 몰라서입니다. Graphiti는 사실마다 '참이었던 기간'과 '알게 된 때'라는 두 개의 시계를 달아, 옛 사실을 지우지 않고 닫습니다. 1986년 데이터베이스 연구자들이 만든 이중 시간 모델이 어떻게 2026년 에이전트 메모리의 핵심이 됐는지, 네 개의 타임스탬프가 무엇을 뜻하는지, 옛 사실이 닫히는 규칙이 실제 코드에서 어떻게 생겼는지를 처음부터 따라갑니다. 다섯 개의 인터랙티브와 그림으로 시간 그래프를 직접 만져 봅니다.
![[특집] 기억에도 종류가 있다 — MemoType이 바꾼 질문: 'AI는 무엇을 기억하나'에서 '어떤 기억을, 어떻게 찾나'로](/_next/image?url=https%3A%2F%2Ffiles.core.today%2Fstorage%2Fcoredot%2Fpublic%2Fblog%2Fmt-cover.webp&w=3840&q=75)
[특집] 기억에도 종류가 있다 — MemoType이 바꾼 질문: 'AI는 무엇을 기억하나'에서 '어떤 기억을, 어떻게 찾나'로
"지난달 조지랑 태산 다녀왔어"라고 말해 둔 AI에게 4주 뒤 "조지는 어디 갔었지?"라고 물으면 왜 엉뚱한 답이 돌아올까. 2026년 10월 8일 arXiv에 올라온 NeurIPS 2026 채택 논문 「Memory Type Varies」는 원인을 '모든 기억을 같은 방식으로 찾기 때문'이라고 진단한다. 1972년 심리학자 엔델 털빙이 나눈 일화 기억과 의미 기억을 대화 AI에 맞게 세 갈래(에피소드·개인 의미·일반 의미)로 다시 나누고, 6,000개 대화에 라벨을 단 TriMEM 데이터셋으로 1.7B 라우터를 학습시켜, 기억의 종류마다 다른 검색법을 쓰는 MemoType을 만들었다. 단일 검색 전략에는 넘을 수 없는 천장이 있다는 정리, 기억 구축 비용을 최대 248분의 1로 줄인 비용표까지 — 논문의 그림과 표를 하나씩 읽고, 털빙에서 ChatGPT·Claude·Gemini의 2026년 메모리까지 이어지는 계보와 함께 인터랙티브 다섯 개로 풀어 본다.

조건이 둘, 셋이 되면 — 질문을 쪼개는 검색과 Jev의 조건별 판정, 한국어 실측 (한국어 검색 스택 10편)
8편이 풀지 못한 숙제가 있었습니다. 'AWS 보안 글', 'Claude Code에서 MCP를 쓰는 글'처럼 두 주제를 모두 만족해야 하는 질문입니다. 이 글은 조건 1개·2개·3개짜리 한국어 질문 52개와 조건 순서만 바꾼 쌍둥이 질문 40개로, 조건이 늘 때 검색이 어떻게 무너지는지와 그것을 어떻게 막는지를 쟀습니다. 질문을 한 번에 임베딩하면 nDCG@10이 조건 1개 0.940에서 2개 0.519, 3개 0.387로 떨어졌습니다. 질문을 조건별로 쪼개 따로 찾고 합치기만 해도 3개에서 0.592로 버텼고, 그 후보를 Jev가 판정하면 2개와 3개 모두 0.725였습니다. Jev는 한 호출에 질문을 여러 개 받으므로 조건마다 따로 물어도 조건 하나당 토큰 90개, 지연 2ms만 늘었고, 어느 조건이 빠졌는지까지 알려 줬습니다. 의외의 발견도 있었습니다. 판정할 문장 자체가 바뀌는 탓에 'Jev 한 질문'이 조건 순서에 가장 민감했고, 조건별로 묻자 그 흔들림이 사라졌습니다. Jev 9,544회 호출에 0.27달러. 인터랙티브 4개와 삽화 7장.
![[특집] 맞는 기억, 틀린 맥락 — AI 에이전트의 장기 기억에 '증거능력'을 묻다: 검색 허용성(Retrieval Admissibility) 완전 해부](/_next/image?url=https%3A%2F%2Ffiles.core.today%2Fstorage%2Fcoredot%2Fpublic%2Fblog%2Fram-cover.webp&w=3840&q=75)
[특집] 맞는 기억, 틀린 맥락 — AI 에이전트의 장기 기억에 '증거능력'을 묻다: 검색 허용성(Retrieval Admissibility) 완전 해부
AI 에이전트가 기억을 '못 찾는' 문제는 지난 몇 년간 많이 풀렸다. 2026년의 새 문제는 반대편에 있다. 너무 잘 찾는다. 질문과 딱 맞는 기억을 꺼냈는데 그게 다른 사람의 기억이거나, 이미 바뀐 옛 값이거나, 사용자가 잊어 달라고 한 내용이다. 2026년 10월 5일 아칸소 리틀록 대학 연구진이 arXiv에 올린 「The Right Memory in the Wrong Context」는 이 문제를 '관련성(relevance)'과 '허용성(admissibility)'의 분리로 정식화한다. 법정의 증명력과 증거능력처럼. 기억 한 건마다 범위·정책·수명 주기를 1/0/? 세 값으로 판정하고, 덜 가져와서 안전해 보이는 꼼수를 막기 위해 '같은 재현율'에서 경로를 비교하며, 기억 ID 하나를 저장→검색→노출→발설까지 추적한다. 3,767개 질의에서 네임스페이스를 먼저 걸면 필수 증거 재현율이 0.432에서 0.533으로 오르고 계산은 98.3% 줄었다. 본문만 읽는 LLM 검증기는 위반을 거의 잡지 못한 채 필수 증거를 지웠다. 논문의 그림과 표를 하나씩 풀고, RAG에서 MemGPT·ChatGPT 메모리·2026년 벤치마크까지의 역사, 클레이니 논리·맥락적 무결성·ABAC라는 오래된 뿌리, 벡터 DB의 사전·사후 필터 실무, 한국 개인정보 보호법과 AI 기본법까지 인터랙티브 여섯 개와 함께 읽는다.

'빼고'를 공짜로 고칠 수 있나 — 임베딩 트릭 대 Jev, 한국어 제외 질문 50개 실측 (한국어 검색 스택 9편)
8편에서 '쿠버네티스는 빼고 도커만'이라고 물으면 임베딩이 상위 10개의 절반을 쿠버네티스 글로 채운다는 것을 봤고, Jev가 그것을 고쳤습니다. 그런데 8월과 9월에 나온 두 논문(EXCISE, E-SENS)은 학습도 큰 모델도 없이 이 문제를 줄이는 방법을 내놓았습니다. 이 글은 한국어 제외 질문 50개(표지어가 분명한 30개, 돌려 말한 10개, 두 가지를 동시에 빼는 10개)로 그 공짜 방법들과 Jev를 정면으로 비교했습니다. 가장 큰 한 걸음은 놀랍도록 단순했습니다. 질문에서 빼라는 말을 떼어 내기만 해도 nDCG@10이 0.245에서 0.555로 뛰었습니다. 빼라는 단어가 든 글을 아래로 내리는 공짜 규칙은 0.676으로 8편의 Jev 방식(0.672)과 같은 자리까지 올라왔습니다. 하지만 그 규칙은 평범한 질문을 제외 질문으로 오인했을 때 정답을 100위로 보내는 위험도 있었습니다. 글자 강등으로 정리한 상위 20개만 Jev가 판정하는 조합이 0.790으로 가장 높았지만 강등의 위험을 그대로 물려받았고, 원래 질문과 뗀 질문의 후보를 합쳐 Jev에 주면(0.759) 평범한 질문을 하나도 해치지 않았습니다. Jev 3,405회 호출에 0.1달러. 인터랙티브 5개와 삽화 7장.

글·사진·소리·영상을 하나의 좌표로 — 내 폰 안에서 도는 740M 임베딩 모델, EmbeddingGemma 2 특집
2026년 10월 6일 구글 딥마인드가 공개한 EmbeddingGemma 2는 텍스트·코드·이미지·비디오·오디오를 하나의 768차원 공간에 놓는 7억 4천만 파라미터짜리 공개 임베딩 모델입니다. 텍스트만 쓰면 191MB, 전부 켜도 567MB로 스마트폰 안에서 돌고, 음성 메모로 영상을 찾고 사진으로 문서를 찾는 일이 서버 없이 가능해집니다. 이 글은 '단어는 친구를 보면 안다'는 1950년대 가설에서 word2vec의 왕−남자+여자=여왕, SBERT의 65시간→5초, CLIP의 N×N 행렬, ImageBind와 Gemini Embedding 2까지 임베딩이 걸어온 길을 되짚고, EmbeddingGemma 2의 모듈 구조·토큰 예산·마트료시카 절단·양자화를 논문 그림과 표로 뜯어봅니다. 구글이 비교하지 않은 경쟁 모델, 해커뉴스의 반론, 한국의 망분리·KURE, 그리고 단일 벡터의 이론적 한계까지 함께 다룹니다. 위젯 5개와 일러스트 9장.

도구는 넷, 자리는 넷 — BM25·임베딩·Jev·코드를 적재적소에 쓰는 한국어 검색 실측 (한국어 검색 스택 8편)
6편에서 Jev는 리랭커로 강했고, 7편에서는 환각 검문소로 강했습니다. 그렇다면 검색의 모든 단계를 Jev에 맡기면 될까요? 이 글은 한국어 질문 134개를 다섯 가족(키워드·의미·제외 조건·두 주제·날짜·카테고리)으로 나눠 BM25, 임베딩 둘, 하이브리드, Jev, 그리고 정규식 몇 줄짜리 코드 필터를 열세 가지 방식으로 조합해 실측했습니다. 질문의 종류가 바뀌면 이기는 도구가 바뀌었습니다. '쿠버네티스는 빼고'라고 하면 임베딩과 BM25는 쿠버네티스 글을 상위 10개의 절반쯤 가져왔고 Jev가 그것을 19%로 줄였습니다. 날짜 질문에서는 Jev가 날짜 판정 807쌍을 전부 맞혔는데도 코드 필터에 졌습니다. 판정이 아니라 후보가 문제였기 때문입니다. 각 도구를 제자리에 둔 설계는 모든 질문에 Jev를 쓰는 방식보다 점수가 높으면서 Jev 호출은 40%였습니다. Jev 9,521회 호출에 0.26달러. 인터랙티브 5개와 삽화 7장.

임베딩은 '아니다'를 못 읽는다 — Jev를 RAG 환각 검문소에 세우다 (한국어 검색 스택 7편)
임베딩 모델은 '매출이 30% 늘었다'와 '매출이 30% 줄었다'를 거의 같은 문장으로 봅니다. 검색에는 맞는 판단이지만, RAG 답변의 마지막 관문에서는 치명적입니다. 이 글은 6편에 이어 TypeSafe의 Jev를 한국어 검색 파이프라인의 새 자리, 답변 뒤의 '환각 검문소'에 세웁니다. 코어닷투데이 블로그 문단 87개로 참 주장 257개와 숫자·방향·주체를 바꾸거나 없는 사실을 덧붙인 거짓 주장 344개를 만들고, 임베딩 둘·크로스 인코더·NLI 모델·로컬 LLM 둘·Jev에게 같은 601쌍을 판정시켰습니다. 참 주장의 90%를 통과시키는 임계값에서 BGE-M3 코사인은 숫자를 바꾼 거짓의 3%만 잡았고, Jev는 100%를 잡았습니다(AUROC 0.995). 0.3B NLI 모델이 의외의 복병이었고(0.959), 숫자를 1만 바꿔도 잡던 Jev는 문서의 숫자로 계산해야 하는 주장에서 약해졌습니다. 601번 검문에 0.021달러. 인터랙티브 7개와 삽화 8장.