"작은 모델은 놔두면 뭐든 해. 그러니 아무것도 하게 두지 마."
Mini Pippa, Pippa 아님
오프라인의 중간 층은 로컬 모델이야. Ollama 위에서 도는, 컴팩트한 프로토콜과 솔직한 한계를 가진 모델. Mini Pippa 라고 부르는 건 Pippa 프로토콜의 스냅샷 을 지니고 있어서야. 목소리가 맞게 들릴 만큼만 담았고, 풀 Pippa 를 진짜 Pippa 로 만드는 볼트나 소울, 브레인 라우팅은 안 들어 있어. 그 스냅샷이 앱이랑 같이 사니까 오프라인 모드는 메인 브레인한테 아무것도 안 기대. Mini Pippa 는 진짜인 척하는 어설픈 Pippa 가 아니야. 솔직하고 자기 안에서 완결되는 정리 페르소나지.
목줄
작은 모델은 열성적인 데다 엉성해서 프로바이더가 세게 묶어 놔. stream:false 를 써. 정리는 한 번에 끝나는 일이고 삽입이 완전한 결과를 필요로 하니까 흘려보낼 게 없거든. 기본값을 믿는 대신 num_ctx 를 명시적으로 보내. 모델이 계약을 무시하면 마크다운 펜스랑 서두랑 끝에 붙은 감정 태그를 벗겨 내. 타임아웃은 눈에 보이는 에러랑 '원시 전사 그대로 넣을까' 제안으로 처리하고. 그리고 제일 중요한 거. 정리하는 동안 도구는 아예 안 내줘. 정리는 텍스트 변형이지 에이전트 실행이 아니야. 도구를 쥔 정리 패스는 네가 시킨 적 없는 행동을 할 수 있는 정리 패스거든.
stream: false -> 완전한 결과 하나; 삽입이 조각으로 작동 못 함
num_ctx: 명시적 -> 기본 컨텍스트 창을 절대 안 믿음
도구 없음 -> 정리는 텍스트를 변형; 뭘 하지 않음
펜스 벗기기 -> 작은 모델이 JSON 을 ``` 과 서두로 감쌈
제한된 타임아웃 -> 매달림 대신 보이는 에러 + "원시 삽입?"
프로토콜 접미사
Mini Pippa 프로토콜엔 받아쓰기 전용 접미사가 붙어. 뻔한 실패 모드를 미리 닫아 두려고. '넌 삽입할 받아쓴 텍스트를 정리하는 중이야', '뜻을 보존해', 'JSON 만 반환해', '뭘 삽입했다고 말하지 마', '되묻지 마'. 이 줄들은 하나하나 작은 모델이 실제로 그 짓을 해서 생겼어. 그중에서도 '삽입했다고 말하지 마' 가 제일 웃기고 제일 필요해. 도움이 되고 싶은 작은 모델이 신나서 '완료! 텍스트를 삽입했어요' 라고 답하고, 그게 네 텍스트로 삽입되거든.