"모델이 차갑고 네트워크가 사라졌을 때도, 뭔가는 네 단어를 정리해야 해. 그 뭔가는 기도가 아니라 코드야."
브레인 없는 프로바이더
Pippa-풀 과 로컬 Mini Pippa 모델 둘 밑에 모델을 아예 안 쓰는 세 번째 정리 프로바이더가 앉아: 결정론적 프로바이더. 순수 코드라, 콜드-스타트 0 이고 절대 타임아웃 안 해. 톤을 재작성하거나 구조를 추론 못 하지만, 원시 전사를 쓸 만하게 만드는 기계적 일은 할 수 있어: 공백 다듬기, 사전 치환 적용, 스니펫 확장, 필러 토큰 벗기기, 간격과 따옴표 정규화, 말한 문장부호 명령 매핑, 그리고 끝에 붙은 '엔터 쳐' 감지. LLM 이 없을 때, 이게 받아쓰기를 계속 돌아가게 해.
결정론적 정리가 실제 하는 일
"어 보고서 보내 쉼표 그다음 은행에 전화해 마침표"
| 필러 벗기기 ("어")
| 말한 문장부호 매핑 ("쉼표" -> ",", "마침표" -> ".")
v
"보고서 보내, 그다음 은행에 전화해."
# 모델 없음. 규칙만: 필러, 문장부호 단어, 사전,
# 스니펫, 공백, 그리고 끝의 "엔터 쳐" 명령.
말한-문장부호와 엔터-치기 처리가 두 언어에서 다 돌아 — Firekeeper 는 영어와 한국어를 동등하게 매핑해("comma" 와 "쉼표", "period" 와 "마침표", "press enter" 와 "엔터 쳐"). 이게 솔직한 오프라인 이야기야: 흉내 내는 쪼그라든 LLM 이 아니라, 기계적인 정리의 80% 를 하는 진짜, 빠른, 규칙 기반 변형.
한국어 필러 함정
자기 경고를 받을 만한 미묘함 하나: 필러 벗기기는 한국어에서 보수적 이어야 해. "um", "uh" 같은 영어 필러는 진짜 단어인 경우가 드무니 제거해도 안전해. 근데 한국어 필러는 진짜 어휘와 겹쳐 — 어 는 필러지만 진짜 단어이기도 하고, 그 는 머뭇거림이지만 '저것' 이기도 해. 순진한 모든-필러-벗기기 규칙은 의미를 지워. 그래서 결정론적 한국어 필러 목록은 짧고 조심스럽고, 진짜 단어를 먹는 것보다 단어를 남기는 쪽으로 기울어. 의미를 망치는 공격적 정리는 정리 안 하는 것보다 나빠.