"랜턴은 들고 다니는 불이야. 어둠 속에서 찾아주지만 집을 태우지는 않아."
마지막에 다시 이름으로 돌아와
들고 다닌다는 말에는 이식할 수 있고 누구에게도 빌리지 않았다는 뜻이 들어 있어. 불은 보이지 않던 것을 보여줘. 어둠 속에서 찾는다는 것은 머릿속에 다 담을 수 없는 10년 치 글을 순위와 출처를 갖춰 검색한다는 뜻이고, 집을 태우지 않는다는 것은 원본을 고치거나 모델의 의견을 사실 자리에 끼워 넣지 않는다는 약속이야. 이름이 처음부터 끝까지 설계서였어.
각각의 거절이 만들어 준 구체적인 능력
파일을 한곳으로 옮기지 않았기 때문에 10년 치 글은 기존 링크와 빌드 체계를 깨뜨리지 않고 원래 자리에서 살아. 검색 경로에 모델을 넣지 않았기 때문에 GPU 서버가 멈춘 새벽에도 키워드 검색이 돼. DB가 배정한 id 대신 내용 기반 id를 썼기 때문에 인덱스 재구축과 기계 이전 뒤에도 인용이 돌아와. 모든 상태를 같은 방식으로 다루지 않았기 때문에 버려도 되는 인덱스와 영원히 지켜야 하는 스냅샷·판단을 구별할 수 있어. 영리한 묘수보다 어디에서 '아니'라고 말했는지가 시스템을 만들었어.
잘 지었다면 엔진 코드조차 다시 만들 수 있어
원본은 움직이지 않았고 manifest는 한 페이지짜리 선언이며 profile은 버전별로 얼어 있어. chunk id는 문서 해시와 문자 위치, profile id를 해시하는 공개된 공식이야. 그러니 20년 뒤 현재 엔진을 지우고 다른 언어로 새 구현을 만들더라도 같은 원본과 같은 규칙을 쓰면 같은 id를 계산할 수 있어. 인용도 같은 내용을 다시 찾지. 코드보다 오래 가는 자산은 코퍼스와 계약, 그 계약을 지키는 규율이야.
네 불을 직접 들고 다녀
이 퀘스트의 결론은 모두가 코퍼스 엔진을 직접 만들라는 말이 아냐. 20년 뒤에도 중요한 글과 생각, 마음이 바뀐 기록을 누가 보관하고 누가 다시 찾는 능력을 소유하는지 물으라는 초대야. 그 능력이 한 회사의 가격 변경이나 서비스 종료, 사라지는 파일 형식에 묶여 있다면 먼저 네 가지 경계를 적용해봐. 원본은 제자리에 두고, 반드시 돌아가야 하는 길에서는 흔들리는 의존성을 빼. 참조는 위치보다 내용에 묶고, 다시 만들 수 있는 것과 대체 불가능한 것을 구별해. 그러면 도구가 바뀌어도 네 말을 찾는 방식은 네 것으로 남아. 네 불을 직접 들고 다녀.