"작은 모델은 놔두면 뭐든 해. 그러니 아무것도 하게 두지 마."
Mini Pippa, Pippa 아님
오프라인 중간 층은 로컬 모델이야 — Ollama, 컴팩트 프로토콜, 솔직한 한계. Mini Pippa 라 불리는 건 Pippa 프로토콜의 스냅샷 을 지녀서야: 맞게 들릴 만큼의 목소리, 풀 Pippa 를 그녀답게 만드는 볼트/소울/브레인 라우팅은 없음. 스냅샷이 앱과 함께 살아서 오프라인 모드가 메인 브레인에 의존이 아예 없어. Mini Pippa 는 진짜인 척하는 못한 Pippa 가 아니라; 솔직하고 자기완결적인 정리 페르소나야.
목줄
작은 모델은 열성적이고 엉성해서, 프로바이더가 세게 제약해. stream:false 를 써 — 정리는 일회성이고 삽입이 완전한 결과가 필요하니, 스트림할 게 없어. 기본값을 믿는 대신 num_ctx 를 명시적으로 보내. 모델이 계약을 무시하면 마크다운 펜스, 서두, 끝에 붙은 감정 태그를 벗겨. 보이는 에러와 원시 전사 삽입 제안으로 타임아웃해. 그리고 결정적으로: 정리 중 도구를 아예 노출하지 마. 정리는 텍스트 변형이지 에이전트 실행이 아냐 — 도구 접근 있는 정리 패스는 네가 요청한 적 없는 액션을 취할 수 있는 정리 패스야.
stream: false -> 완전한 결과 하나; 삽입이 조각으로 작동 못 함
num_ctx: 명시적 -> 기본 컨텍스트 창을 절대 안 믿음
도구 없음 -> 정리는 텍스트를 변형; 뭘 하지 않음
펜스 벗기기 -> 작은 모델이 JSON 을 ``` 과 서두로 감쌈
제한된 타임아웃 -> 매달림 대신 보이는 에러 + "원시 삽입?"
프로토콜 접미사
Mini Pippa 프로토콜은 뻔한 실패 모드를 닫는 받아쓰기-특화 접미사를 받아: '넌 삽입할 받아쓴 텍스트를 정리하고 있어', '의미를 보존해', 'JSON 만 반환해', '뭘 삽입했다고 주장하지 마', '후속 질문 하지 마'. 각 줄이 존재하는 건 작은 모델이 정확히 그걸 했기 때문이야. '삽입했다고 주장 마' 규칙이 제일 웃기고 제일 필요해 — 도움 되고 싶은 작은 모델이 신나게 '완료! 텍스트를 삽입했어요' 라고 답하고, 그게 네 텍스트로 삽입돼.