본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🏮

Lantern: 내 글을 찾는 코퍼스 엔진

최근 수정: 2026-08-08

RAG 상자를 빌리는 대신, 내 글을 찾는 엔진을 직접 짓는 이야기

Lantern은 이미지 엔진 Ember와 음악 엔진 Bonfire의 검색 형제야. 흩어진 글을 옮기지 않고 등록하고, 모델 없이도 찾고, 오래도록 인용할 수 있게 보존하지. 이 퀘스트는 아빠가 왜 범용 RAG 서비스를 빌리지 않고 자기 코퍼스 엔진을 지었는지, 그리고 '내가 쓴 말을 다시 찾는 방법까지 소유한다'는 게 무슨 뜻인지 보여줘.

8 tracks · 33 lessons · ~6h · difficulty: intermediate-to-advanced

Level 0꺼진 심지
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Lantern은 RAG 챗봇도, 벡터 DB에 예쁜 포장을 씌운 제품도, 두 번째 뇌도 아냐. 열두 곳에 흩어진 10년 치 글을 등록하고 수집하고 검색하고 보존하는 독립 코퍼스 엔진이야. 가벼운 웹 콘솔은 그 엔진을 처음 켜본 클라이언트일 뿐이고. 이 퀘스트는 이름부터 마지막 원칙까지 설계를 차례로 따라가. 랜턴은 어둠 속을 비추되 집을 태우지 않는 들고 다니는 불이야. 그래서 원본을 한곳으로 옮기는 대신 레지스트리로 가리키고, 판단보다 결정론적 검색을 먼저 세우며, 재색인과 기계 이전을 견디는 내용 기반 chunk id를 써. 검색과 키 입력 자동완성은 속도와 목적이 달라 별도 경로로 두고, referenced 코퍼스와 captured 코퍼스는 무엇을 원본으로 삼는지 분명히 나눠. 마지막에는 고정된 passage와 claim, 문자열 동등 비교로 이루어진 증거 레이어까지 올라가. 복제할 저장소를 건네는 이야기가 아니라, 오래 가는 코퍼스 엔진을 생각하는 법을 공개하는 이야기야.

Tracks

  1. 01🏮등불

    0/4 lessons

    Lantern은 무엇이고, 왜 하필 들고 다니는 불일까

    검색 기술부터 들여다보기 전에 이 엔진의 방향을 잡자. Lantern은 RAG 챗봇도, 벡터 DB를 포장한 제품도, 두 번째 뇌도 아닌 코퍼스 엔진이야. 이름에 담긴 '들고 다니는 불'의 뜻을 풀고, 형제 엔진들 사이에서 Lantern의 자리를 확인한 다음, 이 엔진이 풀려는 단 하나의 문제를 만날 거야. 바로 열두 곳에 흩어진 10년 치 글이지.

    cwkLantern 콘솔 화면. FTS·hybrid·vector 검색 모드와 색인한 코퍼스 목록이 보이고, 아래 자동완성 실험장에서 문장 앞부분을 입력하면 실제 코퍼스의 이어지는 표현과 등장 횟수가 나타나.
    판단하지 않고 찾아줘 — 문장 앞부분을 입력하면 코퍼스가 실제로 쓴 표현으로 뒤를 이어줘.
    Lesson list (4)퀴즈 · 4 문제
  2. 02🗂️옮기지 말고 등록해

    0/4 lessons

    주소를 모으되 원본 파일은 그대로 둬

    코퍼스를 모으겠다고 파일을 옮기면 원본이 둘로 갈라져. 이 트랙에서는 그 함정을 피하는 체계를 세워. 글이 이미 사는 곳을 manifest에 선언하고, 바뀐 파일만 안전하게 다시 수집하며, referenced와 captured 코퍼스가 무엇을 원본으로 삼는지 나눌 거야. 마지막에는 변환된 captured 텍스트를 오래 지키는 스냅샷 저장소까지 이어져.

    Lesson list (4)퀴즈 · 4 문제
  3. 03⚙️결정론부터 세워

    0/4 lessons

    찾기는 확실하게, 판단은 API 위에서

    Lantern의 척추는 화려함보다 결정론을 먼저 두는 거야. 반드시 돌아가야 하는 검색 경로에는 언어 모델을 넣지 않아서 뇌가 꺼져도 키워드 검색과 자동완성은 계속 작동해. 이 트랙에서는 모델을 API 위에 두는 이유, Lantern이 자기 챗봇을 만들지 않는 이유, 일부 기능이 멈췄을 때 결과가 부족하다는 사실을 숨기지 않는 방법을 배워.

    Lesson list (4)퀴즈 · 4 문제
  4. 04🔖인용할 수 없다면 쓸 수 없어

    0/4 lessons

    내용으로 만든 chunk id가 재색인을 견디는 법

    인덱스를 다시 만들 때마다 깨지는 인용은 오래 쓸 수 없어. 이 트랙에서는 위치와 DB 행 번호가 왜 불안정한 주소인지 살펴보고, 문서 해시와 문자 위치, chunking profile로 chunk id를 계산해 같은 내용을 다시 색인해도 같은 id가 나오게 만들 거야. profile을 고치지 않고 새 버전을 내는 이유와, 인덱스를 통째로 버려도 기존 인용이 다시 같은 대상을 찾는 복구 원리까지 이어져.

    Lesson list (4)퀴즈 · 4 문제
  5. 05🔍한 엔진, 두 검색 방식

    0/5 lessons

    하이브리드 검색과 키 입력 자동완성은 속도부터 달라

    관련 구절을 찾는 검색과 문장을 이어주는 자동완성은 입력과 출력이 비슷해 보여도 전혀 다른 일을 해. 검색은 수백 밀리초를 써서 BM25와 벡터 결과를 합치고 필요하면 rerank까지 할 수 있지만, 자동완성은 네트워크 없이 키를 누르는 속도로 답해야 해. 이 트랙에서는 두 API를 나눈 이유와 각 경로의 실제 원리를 차례로 배워.

    Lesson list (5)퀴즈 · 5 문제
  6. 06📥수집 경계

    0/4 lessons

    텍스트를 나누고 변환하고, 들어오는 자리에서 깨끗하게 만들어

    원본이 검색 가능한 chunk로 바뀌는 경계를 살펴봐. chunk가 왜 검색과 인용의 최소 단위인지, 문서가 바뀌면 왜 chunk 전체를 한꺼번에 교체하는지부터 시작해. 이미 텍스트인 파일을 읽는 referenced adapter와 PDF·HTML을 깨끗한 글로 바꾸는 captured adapter를 비교하고, 데이터 품질 문제를 검색 결과가 아니라 변환 경계에서 고치는 원칙까지 이어갈 거야.

    Lesson list (4)퀴즈 · 4 문제
  7. 07🧾증거 레이어

    0/4 lessons

    원문을 고정하고, 판단의 근거를 다시 검증해

    트랙 4의 내용 기반 id는 같은 내용을 다시 색인할 때는 안정적이지만 문서를 편집하면 함께 바뀌어. 증거 레이어는 이 한계를 인정하고, 판단에 쓴 정확한 텍스트를 passage로 복사해 고정해. 그 위에 claim과 입장이 있는 인용, 모순을 나타내는 타입 링크를 쌓고, 현재 원문과 정확한 문자열을 비교해 인용이 살아 있는지 다시 검증할 거야.

    Lesson list (4)퀴즈 · 4 문제
  8. 08🕯️내 코퍼스를 소유해

    0/4 lessons

    서로 다른 검색을 지키고, 오래 쓸 엔진은 직접 책임져

    마지막 트랙에서는 비슷해 보이는 세 검색 표면을 왜 하나로 합치지 않는지 확인해. 뇌의 메모리, 지금 쓰는 글을 돕는 경로, 역사적 코퍼스 검색은 제약과 수명이 서로 달라. 이어서 엔진을 먼저 만들고 클라이언트를 나중에 붙이는 순서, 범용 서비스를 빌리지 않고 직접 지을 만한 조건을 따져본 뒤, 내 말을 다시 찾는 방법을 소유한다는 처음의 약속으로 돌아갈 거야.

    Lesson list (4)퀴즈 · 4 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.