"흔들리는 부품은 멈춰도 전체가 무너지지 않는 자리에 둬. 배치 하나가 나머지 신뢰성을 결정해."
RAG는 모델을 길 한가운데 둬
일반적인 RAG 흐름에서는 검색한 chunk를 프롬프트에 넣고 언어 모델이 최종 답을 써. 모델이 없으면 사용자에게 줄 결과도 없어. 찾기와 생성이 한 덩어리가 되면서 전체 경로의 속도와 비용, 재현성은 가장 느리고 흔들리는 부품인 모델에 맞춰져.
Lantern은 찾기에서 멈춰
Lantern은 인용 가능한 텍스트 조각을 순위와 출처 정보까지 갖춰 돌려주는 데서 일을 끝내. 결과는 그 자체로 읽고 인용하고 화면에 보여줄 수 있어. 그 조각을 종합해 답을 쓰거나 의미를 판단하는 일은 별도 뇌가 API 위에서 맡아. 모델을 없앤 게 아니라 반드시 돌아가야 하는 경로 밖으로 옮긴 거야.
강력한 부품과 믿을 만한 부품은 다를 수 있어
언어 모델은 강력하지만 기반으로 삼기엔 세 가지 약점이 있어.
- 비용이 들어. 호출할 때마다 돈이나 GPU 시간을 써.
- 결과가 늘 같지 않아. 같은 입력에도 표현과 판단이 달라질 수 있어.
- 가끔 닿지 않아. 서버 재시작과 사용량 제한, 네트워크 장애가 생겨.
이 속성들은 언젠가 사라질 실수라기보다 모델이라는 도구의 성격이야. 그러니 해시와 문자열 일치, 로컬 인덱스처럼 지루하지만 예측 가능한 부품으로 바닥을 만들고 모델은 위에 올려야 해.
기반은 가장 똑똑한 부품이 아니라 가장 믿을 만한 부품에 기대. 모델이 멈추면 편의 기능은 줄어들 수 있어도 검색 자체가 무너지면 안 돼.
배치 하나가 가져다주는 성질들
찾기가 인덱스와 쿼리만으로 결정되면 검색은 싸고 반복 가능해져. 키를 누를 때마다 돌릴 수 있고, 같은 입력에는 같은 결과를 내며, 모델 서버가 재시작 중인 새벽에도 코퍼스를 찾을 수 있어. 새로운 알고리즘을 발명해서 얻은 보상이 아냐. 모델을 엔진 안이 아니라 API 위에 둔 설계 결정 하나가 만들어 낸 신뢰성이야.