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