400년치 고문서에 AI를 돌렸더니 잊힌 운석·코뿔소·화산 폭발이 나왔다
Pointing AI at archives found a forgotten meteorite, lost rhinos, and more
TL;DR Highlight
임베딩 검색과 싼 필터 모델로 400년 고문서를 뒤져 미기록 사건 발굴
Who Should Read
수백만 건 문서에서 키워드 검색이 놓치는 내용을 찾아야 하는 RAG·검색 파이프라인 담당 백엔드 개발자
Core Mechanics
- 임베딩으로 검색해 키워드 한계를 넘었다
- 17세기 네덜란드어는 rhinoceros 철자가 15가지쯤이고 OCR 오류도 많아 키워드 검색은 대부분 놓친다.
- 그래서 5.7M개 문단을 임베딩(의미를 담은 숫자 목록)으로 바꿔 '무엇에 관한 글인지'로 검색했다.
- 운석 기록에 '운석'이라는 단어가 없었다
- 1812년 Java Government Gazette 편지는 '천둥구름에서 떨어진 돌'이라고만 썼다.
- 의미 검색이 이 글을 찾아냈고, 6개 카탈로그에 없는 Maharashtra 최초 운석 낙하 기록(기존 최초 기록보다 26년 앞)으로 확인됐다.
- 싼 모델이 먼저 거르고 Haiku가 읽는다
- 작은 판단 모델 Jev가 '실제 동물인가', '운석 낙하 묘사인가' 같은 좁은 질문만 답한다.
- 코끼리 언급 59,000건을 읽는 데 약 $3가 들었다.
- 전부 Haiku로 읽는 방식보다 비용과 시간이 크게 적다고 저자는 말한다.
- 찾기 전에 이미 아는 사건으로 검증했다
- 새 것을 찾기 전에 파이프라인이 Breen의 dodo, 1783 Laki, 1815 Tambora 등 알려진 사건을 먼저 찾아야 했다.
- 저자는 이를 묻어둔 손목시계로 금속탐지기를 시험하는 일에 비유한다.
- 모든 주장은 원본 스캔까지 닿게 했다
- AI가 틀릴 수 있어서 모든 주장은 실제 문서 스캔과 아카이브 번호로 끝나야 했다.
Community Reactions
- AI를 반대하는 반사적 반응이 성과를 가린다는 의견
- 같은 발견이 3~5년 전 전통 NLP·OCR로 나왔어도 깎아내렸겠느냐는 반문이 있었다.
- 오케스트레이션 과정이 글에 담겼으니 노력도 발견도 유효하다는 주장이다.
- 전문가가 아니라 얕은 결과일 수 있다는 반론
- dodo·Newton 사례는 해당 분야 전문가가 AI의 집요함을 활용했지만 이 글은 분야와 질문부터 AI에게 물었다는 지적이 있었다.
- 모르는 분야에서는 얕은 결과도 대단해 보인다는 의견이다.
- 70년 걸릴 일을 하룻밤에 했지만 배운 건 적을 것이라는 의견
- 저자 본인이 네덜란드 동인도회사에 대해 얼마나 배웠을지 의문이라며 정크푸드에 비유한 댓글이 있었다.
- 비슷한 방식을 직접 써 봤다는 경험
- 글에서 공개한 antiquity 툴킷으로 Berlin Goldhat 가설을 조사 중이라는 댓글이 있었다.
- ChatGPT로 옛 그림 속 건강 징후를 찾게 해 봤더니 처음 제안은 근거가 약했고 재요청 후 더 나은 후보가 나왔다는 경험도 있었다.
How to Apply
- 아는 정답 3개로 검색 파이프라인 시험하기
- 오늘 쓰는 RAG·검색 인덱스에서 정답 위치를 아는 문서 3개를 고른다.
- 그 문서가 상위 결과에 나오는지 먼저 확인한다.
- 안 나오면 '결과 없음'을 믿지 않는다.
- 싼 모델로 1차 필터, 큰 모델로 2차 읽기 구성하기
- 후보가 수만 건이면 작은 모델에 예/아니오 질문 하나씩만 시킨다.
- 통과한 문단만 큰 모델에 넘겨 요약·추출을 시킨다.
- 단계별 통과 수와 비용을 로그로 남긴다.
- 키워드 대신 의미 검색을 병행하기
- 철자 변형이나 OCR 오류가 많은 로그·스캔 문서에는 임베딩 검색을 추가한다.
- 대상 문서를 문단으로 나눠 임베딩하고 질문 문장으로 검색한다.
- AI 주장마다 원본 링크를 붙이게 하기
- 출력 스키마에 원문 인용과 문서 ID 필드를 필수로 넣는다.
- 사람이 원본과 대조해 확인한 항목만 최종 결과에 올린다.
Try It
# Claude나 ChatGPT에 붙여넣기 — 원문 방법(싼 필터 + 원본 검증)의 간이 버전
너는 1차 필터 역할이다. 아래 문단이 {{찾는 주제, 예: 운석 낙하 묘사}}를 직접 설명하는지만 판단해라.
문단:
{{문단}}
규칙:
1. 첫 줄에 YES / NO / MAYBE 중 하나만 써라.
2. 둘째 줄에 근거가 되는 원문 구절을 그대로 인용해라. 없으면 '없음'.
3. 문단에 없는 내용은 추측하지 마라.
이어서 해 볼 것: 이미 정답을 아는 문단 3개와 무관한 문단 3개를 넣어 판정이 맞는지 먼저 확인해라.Terminology
관련 논문
트랜스포머는 '기억 저장소'에서 처음부터 만들어 낼 수 있었다
선형층→MLP→self-attention을 기억 저장소로 보면 용량이 64→약 2,700→100만 이상
EmbeddingGemma 2: 텍스트·이미지·오디오·비디오를 한 벡터 공간에 넣는 오픈 경량 임베딩 모델
740M 오픈 모델 하나로 텍스트·이미지·오디오·비디오를 같은 벡터 공간에서 검색
RAG-NAROK: 출처를 직접 반박하는 문서로 RAG 지식베이스를 오염시키는 공격
검색된 출처를 겨냥해 반박문을 심었더니 1위 검색과 탐지 회피가 높아졌다
텍스트냐 이미지냐 둘 다냐: 멀티모달 문서 QA 입력 방식 비교
문서 QA에서 페이지 이미지가 정확도는 높지만 느려서, 질문별 라우터로 지연 30% 줄였다
MS 임원이 AI 스크래핑을 '인류 역사상 최대의 노동 도둑질'이라 불렀다는 NYT 소송 공개 문서
NYT 소송 공개 문서에서 MS·OpenAI 내부의 스크래핑 인식이 드러났다
임베딩의 보편적 기하 구조 활용: 짝 데이터 없이 임베딩 공간 간 변환
짝 데이터 없이 임베딩을 다른 모델 공간으로 옮겼고, 벡터 DB 보안 위험이 드러났다
Better Together: 강한 RAG 베이스라인 위에서 쿼리 리라이팅 조합하기
쿼리 리라이팅을 합치고 점수 낮을 때만 돌렸더니 비용 40%로 효과 절반