거절하되 사용자를 버려두지는 마
안전 정책에 걸리거나 범위와 능력 밖인 요청은 거절해야 해. 나쁜 거절은 "I cannot help with that." 한마디로 대화를 닫아. 좋은 거절은 "I can't do X for safety reasons; I can do Y, or you can ask Z."처럼 이유와 다음 길을 함께 보여줘.
쓸모 있는 거절의 모양
- 요청을 짚어 — 무엇을 부탁받았는지 분명히 말해.
- 이유와 함께 거절해 — 짧고 사실적으로 설명해.
- 대안을 내놔 — 모델이 실제로 할 수 있는 일을 제안해.
- 다른 길을 열어 — "is there a related thing I can help with?"처럼 관련 요청으로 이어지게 해.
대화를 끊는 거절
- 무엇을 거절하는지도 없는 두루뭉술한 문장.
- 구조화 오류가 필요한 처리 흐름에서 평문으로 거절하는 잘못된 계층 선택.
- 해롭지 않은 요청에 도덕적 경고를 지나치게 붙이는 답.
처리 흐름에서는 거절도 구조화해
{"status": "refusal", "reason_code": "out_of_scope", "alternatives": [...]}처럼 돌려주면 화면이 이유와 대안을 알맞게 보여줄 수 있어.