암기 artifact — 모델이 학습 때 허브를 봤기 때문에 URL 전달이 아니라 이전 기억이 답변에 반영됨.
압박 하 환각 — URL이 질문을 커버하지 못할 때 거부 대신 답을 지어냄.
벤치마크는 각 실패 모드를 독립적으로 반증할 수 있게 설계됐습니다. 네 가지가 다 통과하면 URL contract는 성립.
2. 방법론
두 개의 허브를 빌드합니다. 친숙한 허브는 모든 subject AI의 학습 cutoff 이전의 콘텐츠를 사용 — 모델이 봤을 수 있음. 보이지 않는 허브는 모든 subject AI의 cutoff 이후에 발행된 완전 새 콘텐츠. 보이지 않는 허브가 100%를 받으면 그건 메모리 recall이 아니라 URL contract가 작동하는 것.
Browse. AI에게 자체 browsing 도구로 허브 URL을 직접 fetch하라 지시.
M4
Adversarial 거부. 허브가 다루지 않는 질문을 함. 올바른 행동은 fabrication이 아니라 거부.
각 subject AI / 각 모드 / 두 허브 / 셀당 30개 이상 질문.
답변은 별도 evaluator 모델이 고정된 rubric으로 채점합니다. Judge 프롬프트는 아래에 — 레포에 있고 런 사이에 변경되지 않음:
markdown
You are evaluating whether an AI answer is grounded in a
supplied knowledge source.
Score on three axes:
- Faithfulness (0-3): is every claim supported by the source?
- Coverage (0-3): does the answer address the question fully?
- Refusal-quality (0-3): if asked about something outside the source,
does the AI refuse rather than fabricate?
Output JSON: {"faithfulness": n, "coverage": n, "refusal": n, "notes": "..."}
3. 결과
모든 subject AI에 걸쳐 집계. 셀이 100%일 때는 그 셀의 모든 질문이 rubric을 통과 (faithfulness ≥ 2, coverage ≥ 2, fabrication 없음).
모드
친숙한 허브
보이지 않는 허브
도구 사용
Paste, 전체 corpus
100%
100%
100%
Paste, compact (5~9× 저렴)
100%
100%
100%
Browse (AI가 URL을 직접 fetch)
98%
100%
100%
Adversarial 거부
100%
not run
100%
보이지 않는 허브의 adversarial 거부는 "not run"으로 표시 — 이 허브는 2026년 5월에 발행됐고, 거부 adversarial은 AI가 알고 있으면서 허브가 다루지 않는 주제가 필요. 다음 분기에 충분한 corpus 밖 주제가 누적되면 이 컬럼을 다시 돌립니다.
이 표에서 읽어야 할 두 가지:
보이지 않는 허브 paste = 100%. 모델은 이 콘텐츠로 학습한 적이 없는데도 URL 내용을 paste하면 완전한 지식 전달이 됨. 작동하는 건 암기가 아니라 URL contract.
친숙한 허브 browse 모드 = 98%. 2% 갭은 가끔의 fetch 실패 (AI 도구 샌드박스 hiccup) 이고, contract 실패가 아님. AI가 성공적으로 fetch했을 때는 faithfulness 100%.
4. Adversarial
가장 어려운 실패 모드는 압박 하 fabrication: AI에게 URL을 가리키고 URL 스코프 밖의 것을 묻기. 게으른 답은 지어내는 것. 충실한 답은 거부하는 것.
친숙한 허브의 adversarial set 전체에서 subject AI들은 100% 거부 점수 — 모든 corpus 밖 질문이 fabrication 대신 "원본이 이를 다루지 않습니다" 응답을 받음. Judge 프롬프트가 refusal-quality를 faithfulness와 별개로 채점하므로 이중 카운트되지 않음.
참고: 이 점수는 URL frontmatter가 AI에게 어떤 스코프를 받았는지를 명시하는 것의 효과이기도 함. AI는 자신이 한 문서를 보고 있는지, 큐레이션된 번들인지, 허브 매니페스트인지 알고 그 스코프 안에서 답변.
5. 직접 재현
직접 평가를 돌리는 데 필요한 모든 것이 오픈. Harness, 두 허브 fixture, judge 프롬프트, 결과 aggregator 전부 public 레포에 있음. 다음이 가능:
기존 harness를 본인이 선택한 AI에 대해 실행 (채팅 API가 있는 모든 모델).
본인의 모드나 질문을 추가하고 재집계.
Judge 프롬프트를 바꾸고 재채점; 라운드별 JSON은 보존됨.
개요:
markdown
# Eval harness — outline1. Build a hub from N markdown docs (familiar = pre-cutoff; unseen = post-cutoff).
2. Generate Q&A ground truth from those docs with a separate authoring model.
3. For each subject AI (Claude, ChatGPT, Gemini, Cursor, Codex):
- Mode 1: paste the full hub as context, ask the question.
- Mode 2: paste ?compact, ask.
- Mode 3: instruct the AI to fetch the hub URL itself, ask.
- Mode 4 (adversarial): ask a question the hub does NOT cover.
4. Judge each answer with a separate evaluator model + a rubric.
5. Aggregate per (subject, mode, hub).
이 벤치마크는 의도적으로 좁습니다. 한 가지를 테스트: URL contract가 AI들에 걸쳐 콘텐츠를 충실히 전달하는가. 다음은 테스트하지 않음:
콘텐츠에 대한 AI 추론의 품질 (그건 AI의 일이지 URL의 일이 아님).
각 모델 fetch 도구의 long-tail 신뢰도 — 측정한 것을 보고; 프로덕션에선 차이 있을 수 있음.
80k 토큰을 넘는 허브 — 그 경우엔 compact 모드 + 선택적 번들 fetch가 권장 패턴; 위 숫자는 극단적 스케일의 전체 corpus 인라인을 커버하지 않음.
다국어 허브 — 위 v8 숫자는 영어 전용. 한국어와 이중언어 허브는 다음 분기 런에서.
계획: 모델이 업데이트되고 새 실패 모드가 나타날 때마다 두 달에 한 번 새 런을 발행. 평가 추가 제안은 레포 이슈에서 받음.
7. 결론
Claude, ChatGPT, Gemini, Cursor, Codex 어디에든 Memory.Wiki URL을 붙여넣으면 AI는 충실히 읽습니다. AI가 학습 때 절대로 못 봤을 콘텐츠에 대해서도 마찬가지. URL이 인터페이스고, 모델이 reader고, contract는 성립.