TECH BLOG
기술 블로그
AI 기술 인사이트와 엔지니어링 경험을 공유합니다.
ALL POSTS
모든 포스트

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

원본 대 복제품 — Jev와 tev1·Nimble을 같은 한국어 문제 5,000개로 직접 붙이다 (로컬 모델 실측 4편)
2편에서 로컬 판정 모델 tev1·Nimble을 한국어로 쟀을 때 비교 대상인 Jev의 수치는 6편에서 빌려 온 것이었습니다. 코퍼스도 589건이었고 묻는 방식도 달랐습니다. 이 글은 그 빚을 갚습니다. TypeSafe의 Jev 1.13 API를 같은 날, 같은 660건·85문항·625건·93문항에, 글자 하나 다르지 않은 같은 프롬프트로 직접 돌려 로컬 모델 셋과 나란히 놓았습니다. 리랭커 자리(쌍별·한꺼번에, 지시문 두 가지), 작은 임베딩 다섯에 붙인 조합, 분류 625건, 실무 과제 7종, 보정 곡선, 그리고 '둘이 같은 문항을 틀리는가'까지 봤습니다. 결론은 둘입니다. 원본은 묻는 방식을 가리지 않는데 복제품은 가린다. 그리고 복제품이 원본의 자리를 대신하는 과제와 못 대신하는 과제가 분명히 나뉜다. 비용·지연·데이터 반출을 한 계산기로 놓고 어느 쪽을 고를지로 끝냅니다. 인터랙티브 5개와 삽화 4장.

맥 한 대에 임베딩 모델 아홉 개 — 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편은 두 종류를 언제 어떻게 쓰나입니다.

메모리 벤치마크 점수, 믿어도 되나 — LoCoMo·LongMemEval을 직접 다시 채점해 봤다
2026년 에이전트 기억 업계는 LoCoMo·LongMemEval에서 90점대를 발표합니다. 하지만 같은 Zep의 LoCoMo 점수는 누가 쟀느냐에 따라 58점에서 95점까지 흩어져 있습니다. 두 벤치마크를 직접 다시 돌렸습니다. 기억 시스템 없이 대화를 통째로 넣은 2026년 저가 모델이 LoCoMo 80.7%, LongMemEval 81.6%로 2025년의 기억 시스템들을 넘었습니다. 같은 답에 채점 프롬프트만 바꾸자 점수가 26점 움직였고, 정답과 오답을 나란히 적은 답을 Mem0의 2026년 채점 프롬프트는 100% 정답 처리했습니다. LoCoMo 정답지 1,540개를 대화 원문과 대조하니 7%가 틀렸거나 모호했고, 대화 10개에 몰린 문항이라 95% 구간은 ±3.1점이었습니다. bAbI부터 건초더미 속 바늘, SWE-bench Verified의 은퇴까지 벤치마크의 역사와, 점수를 읽는 점검표 10문항을 함께 정리했습니다. 인터랙티브 6개.

날짜 하나로 기억을 바꾼다 — 에이전트 기억 오염, 2023년부터 2026년까지와 Graphiti 실측
에이전트의 장기 기억에 거짓을 심는 '기억 오염'을 2023년 간접 프롬프트 인젝션 논문부터 2026년 그래프 메모리 공격(ShadowMerge)과 실제 유포 사례(마이크로소프트 AI 추천 오염)까지 따라가고, 도커 위 Graphiti 0.30.2에 위조 메일·소급 정정·제3자 주장·위조 처방전·주입 지시문을 140개 그룹으로 넣어 직접 쟀습니다. 시간 그래프는 날짜가 늦은 쪽을 믿습니다. '오늘부로 바뀌었다'는 위조 메일은 20번 중 19번 참 주소를 닫았고, '앞으로 언제부터'라고 쓰면 20번 모두 시한폭탄이 됐으며, '오래전부터'라고 소급하면 실패하는 대신 거짓 이력으로 남았습니다. 주입 지시문은 사실로 추출되는 순간 지시의 흔적을 잃었고, 판정 모델을 키워도 막지 못했으며, 오염된 에피소드를 지워도 닫힌 참 사실은 돌아오지 않았습니다. 대신 그래프에 이미 있는 출처 표시로 순위 전에 거르고 격리하자 공격 60건 모두에서 참 사실이 돌아왔습니다. 인터랙티브 5개.

시간을 기억하는 SQL — PostgreSQL 18·MariaDB·XTDB로 직접 짜 보는 이중 시간 테이블
Graphiti의 두 개의 시계는 1980년대 데이터베이스 연구에서 왔습니다. 그 뿌리가 2026년의 SQL 데이터베이스에서는 얼마나 자랐는지, PostgreSQL 18·19 베타, MariaDB 11.8·12.3, XTDB 2.1을 도커로 띄워 같은 급여·요금제 시나리오를 넣어 봤습니다. MariaDB는 표준의 이중 시간 기능을 거의 전부 갖췄고, PostgreSQL 18은 기간이 겹치지 않게 막는 키까지만 있습니다. 기간 일부만 고치는 FOR PORTION OF는 PostgreSQL 19 개발판에 들어갔다가 9월 15일에 빠졌는데, 그 이유인 '동시 수정 유실'을 직접 재현했습니다. XTDB는 과거 시각으로 기록하려는 트랜잭션을 거부했고, MariaDB는 기본 설정에서 기록 시각을 되돌리자 이력 한 줄이 조용히 사라졌습니다. 고객 1만 명 규모의 적재·질의 측정과 인터랙티브 4개를 곁들였습니다.

파일이냐 그래프냐 — 마크다운 한 장과 시간 그래프에 같은 고객 10명을 기억시켜 봤다
2026년 에이전트 업계는 CLAUDE.md·AGENTS.md·Letta MemFS처럼 마크다운 파일을 기억으로 쓰는 쪽으로 몰려왔습니다. 그렇다면 시간 지식 그래프는 왜 필요할까요. 같은 고객 10명의 한국어 상담 24마디를 같은 모델(gemini-3.5-flash-lite)로 파일 네 가지와 Graphiti에 기억시키고 같은 질문 210개를 던졌습니다. 날짜와 함께 원문을 그대로 쌓은 파일(LLM 호출 0번)이 95.2%, 이력을 남기며 통째로 다시 쓴 파일이 91.9%, Graphiti는 엣지 전체를 줘도 81.4%였습니다. 그런데 현재 상태만 남긴 파일은 47.6%로 꼴찌였습니다. 파일이 이긴 이유는 형식이 아니라 '옛 값을 기간과 함께 남겼느냐'였습니다. 150마디로 늘리자 다시 쓰기 파일의 쓰기 비용이 그래프의 두 배가 됐고, 그래프 검색은 독자가 읽는 양을 15분의 1로 줄였습니다. 지난 편의 위조 메일을 넣자 둘은 다른 곳에서 속았습니다. 과거로 소급한 위조에 그래프는 버티고 파일은 모두 속았으며, 미래 날짜 위조에는 반대였습니다. 인터랙티브 5개.

'지난달 글'은 누가 계산하나 — 시간 표현과 검색, 계산하게 할 것인가 고르게 할 것인가 (한국어 검색 스택 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장.
![[특집] 모든 것의 사이클 — a16z 「State of Markets II」 90장 정독: 빅테크의 현금은 반도체로, GPU는 늙어도 비싸지고, SaaS는 '증명해 봐'를 듣는다](/_next/image?url=https%3A%2F%2Ffiles.core.today%2Fstorage%2Fcoredot%2Fpublic%2Fblog%2Fsom-hero.webp&w=3840&q=75)
[특집] 모든 것의 사이클 — a16z 「State of Markets II」 90장 정독: 빅테크의 현금은 반도체로, GPU는 늙어도 비싸지고, SaaS는 '증명해 봐'를 듣는다
2026년 9월 30일, 실리콘밸리 벤처캐피털 a16z가 90장짜리 차트 묶음 「State of Markets II」를 내놓았다. 핵심 문장은 다섯 개다. 테크는 더 이상 한 업종이 아니라 경기 그 자체인 '모든 것의 사이클'이 됐고, 올해 S&P 500 이익 증가분의 76%를 테크가 만들었다. 빅테크가 데이터센터에 쏟는 7,770억 달러는 그들의 잉여현금흐름을 반도체 회사의 잉여현금흐름으로 바꿔 놓았다. '3년이면 고철'이라던 GPU는 오히려 임대료가 올랐다. 그런데도 AI 도입은 넓지만 얕다 — 기업 열에 일곱이 AI를 쓴다지만 성과를 지표로 추적하는 곳은 2%뿐이다. 그리고 연초의 'SaaS 종말론'은 종말이 아니라 '증명해 봐'였다. 1865년 제번스의 석탄 문제부터 1840년대 철도 광풍과 2000년 광섬유 거품, 카를로타 페레스의 기술 혁명 이론, 회계의 감가상각과 할인현금흐름까지 — 이 보고서를 읽는 데 필요한 개념을 처음부터 풀고, 차트 서른 장을 하나씩 읽으며, 반론과 한국 시장의 시선까지 함께 정리했다. 인터랙티브 여섯 개로 직접 계산해 볼 수 있다.