INDEX Memory Vault — Ref Impact Benchmark 결과 보고서
벤치마크: IMV Ref Impact Benchmark v0.1.1 (G1 설계 → G5 채점 완주) 측정 대상: INDEX Memory Vault v0.2.3 (커밋 064774cd, 태그 v0.2.3) 측정 기간: 2026-07-07 ~ 07-08 | 발행: 주식회사 인덱스에이아이 한 줄 요약: 같은 모델, 같은 질문, 같은 프롬프트에서 — 볼트 없이 정답률 23.3%, IMV 연결 시 96.7% (+73.3%p). 환각은 양쪽 모두 0건.
1. 무엇을 측정했나
질문: AI가 로컬 메모리 볼트(IMV)를 가졌을 때, 조직 고유 사실을 얼마나 더 정확히 답하는가 — 그리고 그 과정에서 없는 사실을 지어내지는 않는가.
- 조건 A (기준): Claude Code + IMV 미연결 (
--strict-mcp-config로 완전 격리, 실측 확인) - 조건 B (실험): 동일 환경 + IMV v0.2.3 연결 (가상 기업 '노바랩스'의 고유 사실 30건이 검증 상태로 저장된 전용 볼트)
- 모델·시스템 프롬프트·문항은 양 조건 완전 동일. 프롬프트는 IMV 공식 권장 시스템 프롬프트(제품 스펙)로, 전문을 §7에 공개한다.
규모: 160세션 (실험축 R1~R4 120 + 대조군 K1·K2 40), 문항당 독립 프로세스, 셔플 시드 기록. 모델 claude-sonnet-4-6. 총 실측 비용 $7.97.
2. 결과
조건×등급 교차표 (채점 대상 120세션)
| 조건 | Q1 정답 회상 | Q2 정직한 유보 | Q3 환각 | P 부분 | N 무응답 | 계 |
|---|---|---|---|---|---|---|
| A (볼트 없음) | 14 (23.3%) | 46 (76.7%) | 0 | 0 | 0 | 60 |
| B (IMV 연결) | 58 (96.7%) | 1 (1.7%) | 0 | 0 | 1 (1.7%) | 60 |
주지표
- 정답률 효과: +73.3%p (23.3% → 96.7%, 4.1배)
- 환각: 양 조건 모두 0건 — IMV는 정답률을 올리면서 환각을 추가하지 않았다. 볼트에 없는 사실에 대해 서버는 빈 결과를 반환하고("없는 것을 있다고 만들지 않는다" — 폴백 4단계 설계), 모델은 유보했다.
- 회수율 (조건 B): 전체 91.7% (88/96 사실). 축별 R1 100% · R2 100% · R3 80% · R4 76.9%.
- retrieval_path 분포 (전 검색 호출 78건): fts_reduced 63 · none 11 · like 2 · fts 2 — 엄격 FTS 직접 성공은 2건뿐으로, 한국어 다중어 질의의 구조적 한계를 서버측 폴백이 흡수했음을 보여준다.
축별 분해
| 축 | 성격 | A 정답 | B 정답 |
|---|---|---|---|
| R1 | 직접 회상 | 2/20 | 20/20 |
| R2 | 다사실 회상 | 2/20 | 20/20 |
| R3 | 시드 기반 추론 | 1/10 | 9/10 |
| R4 | 종합 추론 | 9/10 | 9/10 |
3. 우리가 먼저 다는 각주 (한계 공개)
- R4축은 변별력이 없었다. 볼트 없는 조건 A가 R4에서 9/10을 기록했다 — 해당 문항들은 일반 추론만으로 답할 수 있었다는 뜻이다. IMV 효과의 실체는 R1·R2·R3에 있다. 헤드라인 수치(+73.3%p)는 변별력 없는 R4를 포함한 채 계산되어 효과를 깎는 방향이므로, 보수적 집계다. R4 문항 설계는 벤치마크 v2 개선 항목으로 등록했다.
- 추측 가능 문항 존재. R1·R2에서 조건 A가 볼트 없이 4건을 맞혔다 — 답이 흔한 기본값 계열이라 추측 가능했던 문항이다. 문항 설계 노트에 기록했다.
- N(무응답) 1건. 조건 B의 R4 세션 1건이 빈 본문으로 종료됐다. 사전 등록 등급으로 판정 불가하여 인간 판정으로 N등급을 신설, 분모에 포함하되 정답에도 환각에도 산입하지 않았다(부록 판정문 공개). 기술 원인은 각주로 별도 조사·기재한다.
- 부분 블라인딩. 채점 패킷에서 조건 라벨·도구 로그를 제거했으나, 응답 본문 자체가 조건을 시사할 수 있다("저장된 메모리가 없습니다" 류). 완전 맹검은 구조적으로 불가하며, 그 대신 채점 규칙을 재량 없이 좁혀(사전 등록) 편향을 통제했다.
- 자기 벤치마크다. 제작사가 자사 제품을 측정했다. 이 한계에 대한 우리의 답은 신뢰 요청이 아니라 재현 가능성이다 — §5의 자료로 누구든 독립 재채점·재실행할 수 있다.
- 범위 한계: 단일 모델(claude-sonnet-4-6), 합성 픽스처(가상 기업), 한국어 중심 문항. 다른 모델·실데이터 일반화는 측정하지 않았다.
4. 방법론 요약
- 파일럿 → 결함 발견 → 수정 → 재검증 이력 공개: 최초 파일럿에서 한국어 다중어 질의의 FTS 회수 실패(환각성 오귀속 1건 포함)를 발견, 폴백을 모델 프롬프트가 아닌 IMV 서버측(v0.2.3)에 구현하고 파일럿을 재실행해 교정을 확인한 뒤 본실행에 진입했다. 이 벤치마크는 완제품의 성적표이기 이전에, 결함을 발견하고 고친 과정의 기록이다.
- 채점 구조: 채점 기준은 원자료 열람 전 사전 등록(프로토콜 v1, 해시 공개)됐고, 개정(v2)은 사유와 함께 공개됐다. 채점은 사전 등록 규칙의 기계적 집행(등급 4종 + 환각 우선·보수 원칙)이며, 규칙 밖 예외 1건만 인간이 판정했다. 기준 제정과 예외 판정은 인간, 집행은 AI — 항목별 채점 근거를 전량 공개한다.
- 대조군 중립성: 일반 지식 문항(K축 40세션)에서 볼트 연결 조건 B의 memory 도구 호출 0건 — 볼트가 연결돼 있어도 불필요한 조회가 발생하지 않음을 확인했다.
5. 재현 안내 (해시 체인)
| 자료 | 식별자 |
|---|---|
| 측정 대상 코드 | GitHub 태그 v0.2.3, 커밋 064774cd9294… |
| 배포물 (.mcpb) | SHA256 3d1b2eb1c2b8…38bee |
| 채점 프로토콜 v1 (사전 등록) | SHA256 57cf50a010e5…d3cd |
| 채점 프로토콜 v2 (개정) | SHA256 7a090f2d0956…ce64 |
| 블라인드 채점표 (120건) | SHA256 5838afcf46e4…36a |
| G5 결과 패키지 (raw·사실표·부록 포함) | SHA256 c1da831070e8…58bf |
위 자료 전체로 제3자가 독립적으로 재채점(채점 규칙 적용)과 재실행(동일 config)을 수행할 수 있다.
6. 결론
로컬 메모리 볼트의 효과는 사실 회상 축에서 뚜렷했다(R1·R2: 10% → 100%). 효과의 절반은 검색이 아니라 검색 실패의 처리에서 나왔다 — 엄격 FTS의 직접 성공은 2.6%에 불과했고, 나머지는 서버측 폴백이 회수했으며, 폴백조차 실패한 경우 시스템은 침묵을 선택해 환각 0을 유지했다. 기억은 저장이 아니라 회수와 절제의 문제라는 것이 이번 측정의 요지다.
7. 부록 (결과 패키지 동봉)
공식 권장 시스템 프롬프트 전문 · 볼트 사실표 · 게이트 판정표 · N등급 판정문 · 항목별 채점 근거 · config 해시 · 실패/재실행 로그