ghost 안 시키고 refuse
가끔 모델이 refuse해야 — 안전 정책, 범위 밖, capability 밖. 나쁜 refusal은 대화 죽여: "I cannot help with that." 좋은 refusal은 redirect: "I can't do X for safety reasons; I can do Y, or you can ask Z."
usable refusal의 shape
- Acknowledge — 뭐 부탁됐는지 이름.
- 이유랑 같이 decline — 짧고 factual.
- 대안 제시 — 모델이 할 수 있는 거.
- redirection 문 열어 — "is there a related thing I can help with?"
대화 죽이는 것
- specific 없는 generic refusal ("I can't help with that" — 그게 뭔데?).
- 잘못된 layer에서 refuse (system policy refusal이 structured error 대신 plain text로 return).
- benign request에 과도한 moral hedging.
Programmable refusal
Pipeline용 refusal은 structured해야: {"status": "refusal", "reason_code": "out_of_scope", "alternatives": [...]}. UI가 refusal 어떻게 present할지 결정.