"기계가 돌려준 건 사실이야. 그게 진실인지는 별개 질문이고."
한 단어를 쓰고 있는 두 가지
음성 model 이 영상을 전사하면 텍스트를 돌려줘. 그 텍스트를 '그 transcript' 라고 부르고 넘어가기가 위험하게 쉬워. 근데 그 텍스트는 사실 융합된 두 가지고, Recall 의 데이터 모델 전체가 그 둘을 떼어내는 데 달려 있어:
- model 이 돌려준 것 — 단단한 사실. 이 정확한 model 이, 이 정확한 설정으로, 이 정확한 오디오 바이트를 받아 이 정확한 출력을 냈어. 그건 절대 안 바뀌어. 일어난 일이야.
- 실제로 진실인 것 — 판단. 단어를 맞게 들었나? 침묵에서 hallucinate 했나? 한국어랑 영어를 헷갈렸나? 그건 틀릴 수 있고, 고치고 싶을 거야.
이 둘을 융합하면 고전 버그가 나와: transcript 를 편집해서 '고치고', 이제 model 이 실제로 뭐라고 했는지의 기록을 파괴한 거야. Recall 은 거부해. raw 출력은 불변 증거 야 — 받아들인 transcription run 은 절대 갱신도 삭제도 못 해. 교정은 별도 계층에서 일어나(다음 레슨들). 증거는 받아들여진 순간 얼려.
raw 출력을 얼리는 게 왜 중요해
불변성은 깔끔함을 위한 깔끔함이 아냐. 구체적인 힘 세 개를 사줘:
- 감사(Audit). 반년 뒤에 '요약이 실제로 전사된 걸 충실히 대변했나?' 를 물을 수 있어 — 근데 원래 전사가 변경 안 된 채 남아 있어야만. 덮어쓰면 그 질문이 답 불가능해져.
- 재파생(Re-derivation). 모든 하류 산물(release, 요약, index) 이 증거에서 파생돼. projection 단계에 버그가 있었으면, 손 안 댄 증거에 다시 돌리면 돼. 증거 자체가 mutable 이면, 다시 파생할 단단한 게 없어.
- drift 감지. 새 model 버전이 다른 텍스트를 돌려줘? 두 run 을 다 두면 차이를 잴 수 있어. 옛걸 덮어쓰면 drift 가 안 보여.
메모장 말고 실험실처럼 생각해
과학 실험실은 정제된 데이터셋을 발표한 뒤에도 raw 기기 측정값을 영원히 보관해 — 정제된 데이터는 주장이고 raw 측정값은 그 뒤의 증거니까. 반대로 메모장은 그냥 지우고 다시 써. 대부분의 소프트웨어는 데이터를 메모장처럼 다뤄: 제자리 편집, 최신만 보관. Recall 은 실험실처럼 다뤄: raw 측정값은 영구적이고, 그 위의 모든 다듬은 버전은 언제든 원본과 대조할 수 있는 날짜 있고 추적 가능한 주장이야. 그 하나의 재프레이밍 — raw 출력은 초안이 아니라 증거 — 이 이 퀘스트 전체에서 가장 옮겨 쓰기 좋은 아이디어야.