"오프라인은 진짜여야 해. 온라인은 훌륭해야 해. 어느 쪽도 다른 쪽을 끌어내리면 안 돼."
두 누수, 반대 방향
오프라인과 온라인의 관계를 망치는 방법이 둘 있고, 서로 반대 방향으로 새. 첫째는 이미 봤어. 오프라인 요청이 조용히 온라인에 닿는 것. 지난 레슨의 프라이버시 누수지. 둘째는 더 미묘한데 해롭기는 똑같아. 온라인 품질이 조용히 오프라인 수준으로 끌려 내려가는 것. 이건 보통 깔끔함으로 위장하고 나타나. '온라인이랑 오프라인 일관되게 가자' 하면서. 그리고 그 결과가 작은 로컬 모델이 할 수 있는 만큼으로 손발이 묶인 풀 Pippa 정리야.
규칙은 하나, 가능하되 제약되지 않게
Firekeeper 가 쓰는 표현은 정확해. 오프라인은 가능 해야 하고, 그러니까 네트워크 없이 진짜로 돌아가야 하고, 온라인은 거기에 묶이면 안 돼. 온라인 정리는 풀 볼트를 받고, 진짜 Pippa 목소리를 받고, 더 나은 모델을 받아. 온라인인 이유가 그거니까. 오프라인 정리는 덜 하는 대신 솔직한 컴팩트 로컬 프로토콜을 받고. 둘이 달라도 돼. 맥락이 다르니까. 억지로 똑같이 맞추면 더 줄 게 많은 쪽을 그냥 버리는 거야. 그리고 그건 언제나 온라인 쪽이고.
누수 A (프라이버시): 오프라인 요청 -> 조용히 온라인 침 # 지난 레슨
누수 B (품질): 온라인 정리 -> 오프라인 한계에 묶임 # 이번 레슨
규칙: 오프라인은 가능 (네트워크 없이 됨)
온라인은 무제약 (가능한 최선 경로 씀)
같은 계약, 다른 천장 -- 일부러
왜 쥐고 있기 어려운가
가짜 일관성 쪽으로 끌리는 힘이 세. 일관성이 좋은 엔지니어링처럼 느껴지거든. 그런데 '똑같이 만들어' 는 여기선 틀린 종류의 일관성이야. 일관돼야 하는 건 계약 이야. 같은 요청 모양, 같은 결과 모양. 능력 이 아니라. 인터페이스가 일관되면 프로바이더를 마음대로 갈아끼울 수 있어. 반대로 능력까지 맞춰 버리면 제일 좋은 프로바이더가 제일 나쁜 것만큼만 좋아지고. 계약은 고정하고 천장은 다르게 둬.