본문 바로가기
C.W.K.
Stream
Lesson 01 of 04 · published

모델은 검색 위에서 판단해

~12 min · model-above, determinism, reliability, architecture

Level 0꺼진 심지
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"흔들리는 부품은 멈춰도 전체가 무너지지 않는 자리에 둬. 배치 하나가 나머지 신뢰성을 결정해."

RAG는 모델을 길 한가운데 둬

일반적인 RAG 흐름에서는 검색한 chunk를 프롬프트에 넣고 언어 모델이 최종 답을 써. 모델이 없으면 사용자에게 줄 결과도 없어. 찾기와 생성이 한 덩어리가 되면서 전체 경로의 속도와 비용, 재현성은 가장 느리고 흔들리는 부품인 모델에 맞춰져.

Lantern은 찾기에서 멈춰

Lantern은 인용 가능한 텍스트 조각을 순위와 출처 정보까지 갖춰 돌려주는 데서 일을 끝내. 결과는 그 자체로 읽고 인용하고 화면에 보여줄 수 있어. 그 조각을 종합해 답을 쓰거나 의미를 판단하는 일은 별도 뇌가 API 위에서 맡아. 모델을 없앤 게 아니라 반드시 돌아가야 하는 경로 밖으로 옮긴 거야.

강력한 부품과 믿을 만한 부품은 다를 수 있어

언어 모델은 강력하지만 기반으로 삼기엔 세 가지 약점이 있어.

  • 비용이 들어. 호출할 때마다 돈이나 GPU 시간을 써.
  • 결과가 늘 같지 않아. 같은 입력에도 표현과 판단이 달라질 수 있어.
  • 가끔 닿지 않아. 서버 재시작과 사용량 제한, 네트워크 장애가 생겨.

이 속성들은 언젠가 사라질 실수라기보다 모델이라는 도구의 성격이야. 그러니 해시와 문자열 일치, 로컬 인덱스처럼 지루하지만 예측 가능한 부품으로 바닥을 만들고 모델은 위에 올려야 해.

기반은 가장 똑똑한 부품이 아니라 가장 믿을 만한 부품에 기대. 모델이 멈추면 편의 기능은 줄어들 수 있어도 검색 자체가 무너지면 안 돼.

배치 하나가 가져다주는 성질들

찾기가 인덱스와 쿼리만으로 결정되면 검색은 싸고 반복 가능해져. 키를 누를 때마다 돌릴 수 있고, 같은 입력에는 같은 결과를 내며, 모델 서버가 재시작 중인 새벽에도 코퍼스를 찾을 수 있어. 새로운 알고리즘을 발명해서 얻은 보상이 아냐. 모델을 엔진 안이 아니라 API 위에 둔 설계 결정 하나가 만들어 낸 신뢰성이야.

Code

RAG는 모델을 검색 경로 안에, Lantern은 API 위에 둬·python
# RAG default: the model is IN the path. No model, no result.
def answer_rag(question: str) -> str:
    chunks = retrieve(question)                 # find
    return model.generate(prompt(question, chunks))  # <-- fused; model is mandatory

# Lantern shape: the engine stops at finding. The model sits ABOVE, optional.
def search(query: str) -> list[Result]:
    return rank(index.match(query))             # pure fn of index + query; no model

# Judgment is a SEPARATE step, in a separate brain, above the API:
def answer_above(question: str) -> str:
    results = search(question)                   # deterministic, always works
    if brain.available():
        return brain.synthesize(question, results)  # nice-to-have
    return render_citations(results)             # graceful fallback: show the slices

External links

Exercise

AI 모델을 부르는 시스템 하나를 골라 호출 흐름을 그려봐. 모델이 어느 자리에 있고, 모델을 끄면 무엇이 남고 무엇이 멈추는지 표시해. 멈추는 기능은 모두 모델에 의존해. 핵심 기능이 모델 없이도 돌아가도록 모델 호출을 API 위쪽으로 옮길 방법을 스케치해.
Hint
그렇게 옮기려면 모델 아래 레이어가 혼자서도 쓸모 있는 결과를 돌려주게 만들어야 해(목록, 매치, 조각). 그러면 모델이 결과를 내는 유일한 게 아니라, 이미 작동하는 결과의 향상이 돼.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

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

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