C.W.K.
Stream
Lesson 09 of 10 · published

대화 안 죽이는 refusal

~14 min · conversation, refusals

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

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할지 결정.

Code

pipeline용 refusal schema·json
{
  "status": "refusal",
  "reason_code": "out_of_scope",
  "reason_message": "Pricing strategy is outside the support agent's scope.",
  "alternatives": [
    {"action": "escalate", "target": "sales"}
  ]
}

External links

Exercise

Generic refusal return하는 프롬프트에 reason_code와 alternatives 박힌 structured refusal schema 디자인. 5개 out-of-scope input에 돌려. downstream UX 비교.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.