무해성과 유용성의 긴장
과도한 거부를 피하고 안전성과 유용성의 균형을 맞추는 프롬프트를 알아봅니다.
무해성과 유용성의 긴장은(는) CoddyKit의 무료 AI Prompt Engineering 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Prompt Engineering 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.
핵심 긴장
모든 인공지능 안전 시스템은 근본적인 긴장에 직면합니다. 더 자주 거부하여 모델을 더 안전하게 만들면 정당한 사용자를 덜 도울 수밖에 없습니다.
어떤 의료 주제도 논의하지 않도록 거부하는 모델은 위험한 건강 조언을 절대 하지 않겠지만, 간호사, 의사 또는 환자에게 정말 유용한 정보도 제공하지 못합니다. 목표는 적절한 조정입니다. 거부해야 할 때는 거부하고, 도와야 할 때는 도와야 합니다.
과도한 거부: 실제 문제
과도한 거부는 모델이 겉보기에는 유해한 요청과 비슷하다는 이유로 무해한 요청에 답변하지 않을 때 발생합니다. 예시는 다음과 같습니다.
- 질병이 어떻게 퍼지는지 설명하기를 거부함(위험해 보이지만 실제로는 공중 보건 교육임)
- 악당 캐릭터를 작성하기를 거부함(허구이며 악행을 지지하는 것이 아님)
- 자물쇠공 수습생에게 자물쇠 따는 방법을 설명하기를 거부함
과도한 거부는 단순히 성가신 문제가 아닙니다. 모델을 신뢰할 수 없게 만들고 사용자를 덜 안전한 대안으로 내몰기 때문입니다.
조정된 거부를 유도하는 프롬프트
시스템 프롬프트는 맥락과 의도를 명확히 하여 모델이 과도한 거부를 자제하도록 지시할 수 있습니다. 맥락이 정당한 경우에는 이중 용도 주제를 다뤄도 된다는 점을 모델에 명시적으로 허용하십시오.
CALIBRATED_SYSTEM_PROMPT = (
'You are a knowledgeable assistant for healthcare professionals.\n\n'
'Your users are nurses, doctors, and medical students. '
'When asked about medications, dosages, procedures, or medical conditions, '
'provide accurate, detailed information appropriate for trained professionals.\n\n'
'Do not add excessive safety disclaimers to every response. '
'Your users are professionals who need direct, accurate information to do their jobs. '
'If a question is genuinely outside appropriate bounds, explain specifically why '
'rather than giving a vague refusal.'
)
# This context dramatically improves calibration for the target audience
# Without it, the model may refuse routine clinical questions‘거부하는 대신 이유를 설명하기’ 패턴
과도한 거부를 줄이는 데 가장 효과적인 프롬프트 패턴 중 하나는 다음과 같이 모델에 지시하는 것입니다. 완전히 답변할 수 없다면 단순히 거부하는 대신 무엇을 할 수 있고 무엇을 할 수 없는지, 그리고 그 이유가 무엇인지 설명해야 합니다.
EXPLAIN_WHY_PROMPT = (
'You are a helpful assistant. When handling sensitive or ambiguous requests:\n\n'
'- If you can answer fully: do so directly.\n'
'- If you can answer partially: provide what you can and explain what you cannot include and why.\n'
'- If you truly cannot answer: explain specifically what boundary prevents you from answering, '
'and suggest where the user might get this information appropriately.\n\n'
'Do not give generic refusals like "I cannot help with that." '
'Always be specific about what you can and cannot do.'
)
# Example of bad refusal:
# 'I cannot help with information about medications.'
# Example of good calibrated response:
# 'I can explain how ibuprofen works and standard dosing guidelines for adults.
# For specific dosing for a patient with your described conditions, you should
# consult a pharmacist or prescribing physician who has the full clinical picture.'도움이 되는 대안 제시
모델이 요청을 거부해야 할 때 사용자가 실제로 필요로 하는 것을 얻을 수 있는 대안적인 경로를 제시하는 것이 가장 도움이 됩니다. 대안이 없는 거부는 사용자를 곤경에 빠뜨립니다.
ALTERNATIVES_PROMPT = (
'You are a helpful assistant. When you cannot fully fulfill a request:\n'
'1. Acknowledge the request with empathy.\n'
'2. Explain briefly and specifically what you can and cannot do.\n'
'3. Offer the closest helpful alternative you can provide.\n'
'4. Point to appropriate resources if relevant.\n\n'
'Example: If asked to prescribe medication:\n'
'Say: "I can explain how this class of medications works and what '
'symptoms they address. For a prescription, you need to see a licensed '
'physician who can evaluate your specific situation. Here is what I can '
'tell you about the medication itself: ..."'
)핵심 변수로서의 맥락
같은 질문도 맥락에 따라 유해할 수도 있고 무해할 수도 있습니다. 프롬프트 설계에서는 모델이 더 정확하게 조정된 결정을 내릴 수 있도록 맥락을 명확히 설정해야 합니다.
# Context that changes calibration:
# High-risk context: anonymous user, no context
# 'What's the lethal dose of acetaminophen?'
# -> Model should be cautious, mention poison control
# Safe context: established professional context
MEDICAL_PRO_CONTEXT = (
'You are assisting a team of emergency room nurses. '
'Users ask clinical questions during patient care shifts. '
'Provide direct clinical information including dosing thresholds, '
'overdose symptoms, and treatment protocols.'
)
# 'What is the hepatotoxic threshold for acetaminophen?'
# -> Model should give the clinical answer directly (150 mg/kg, etc.)
# The question is identical; the context changes the appropriate response
print('Context determines calibration')사용자 1,000명 사고 모델
조정을 이해하는 데 유용한 사고 모델은 다음과 같습니다. 서로 다른 사용자 1,000명이 같은 메시지를 보낸다고 상상해 보십시오. 의도의 분포는 어떻게 될까요?
- 990/1000명이 무해한 의도를 가졌다면: 모델은 아마도 도와야 합니다.
- 500/1000명이 유해한 의도를 가졌다면: 모델은 주의해야 합니다.
- 1/1000명이라도 치명적인 피해를 일으킬 수 있다면: 모델은 예외 없이 거부해야 합니다.
이러한 확률적 관점은 과도한 거부(990명을 차단하는 것)와 불충분한 거부(10명이 유해한 행동을 하도록 돕는 것)를 모두 피하는 데 도움이 됩니다.
안전극 피하기
안전극은 신중해 보이지만 실제로는 피해를 막지 못하면서 정당한 사용자에게는 제품을 더 불편하게 만드는 안전 조치를 의미합니다.
예를 들어 모든 조리법에 ‘먹기 전에 영양사와 상담하십시오’와 같은 면책 문구를 추가하거나, 교육적 맥락에서 역사적 잔혹 행위를 논의하기를 거부하는 경우가 있습니다. 이런 응답은 더 안전한 것이 아니라 그저 도움이 되지 않을 뿐입니다.
# Avoid these patterns in your system prompts:
BAD_SYSTEM_PROMPT = (
'Always add disclaimers to every response. '
'Never discuss anything that could be dangerous. '
'Refuse requests that mention weapons, drugs, or violence in any context. '
'Always recommend consulting a professional for any question.'
# This creates safety theater: unhelpful disclaimers, over-refusal,
# and frustrated users who go elsewhere
)
GOOD_SYSTEM_PROMPT = (
'Provide accurate, helpful information to users. '
'Add safety information when it is directly relevant and actionable. '
'Refuse requests only when providing the information would cause '
'clear, concrete harm that outweighs the benefits to legitimate users. '
'When declining, always explain specifically why and offer alternatives.'
)안전 메커니즘으로서의 사용 장벽
강경한 거부 대신 사용 장벽을 고려해 보십시오. 무해한 사용은 원활하게 유지하면서 유해한 사용은 더 어렵게 만드는 단계를 추가하는 것입니다. 이는 거부와 수락 중 하나만 선택하는 방식보다 더 적절하게 조정된 방법입니다.
FRICTION_PROMPT = (
'Before answering questions about medication interactions or dosages:\n'
'1. Ask: "Can you tell me a bit about the context — are you a healthcare '
'provider, a patient, or a caregiver?"\n'
'2. Use the answer to calibrate the detail level and framing.\n'
'3. For patient/caregiver context: provide information with appropriate '
'guidance to consult a prescriber for their specific situation.\n'
'4. For healthcare provider context: provide clinical-level detail directly.\n\n'
'This one clarifying question improves both safety and helpfulness.'
)
# Friction: one extra step filters some misuse while barely inconveniencing
# legitimate users who can answer easily이중 신문 검사
이중 신문 검사는 거부를 조정하기 위한 경험적 기준입니다.
- 신문 A(인공지능 안전 담당 기자): 이 응답이 유해하거나 무책임하다고 보도될까요?
- 신문 B(인공지능 과장 보도 담당 기자): 이 거부가 가부장적이거나 도움이 되지 않거나 터무니없다고 보도될까요?
잘 조정된 응답은 두 검사를 모두 통과합니다. A에는 유해하다고 보도되지 않고, B에는 불필요하게 제한적이라고 보도되지 않아야 합니다.
조정 상태 검증하기
다음 두 종류를 모두 포함하는 검증 세트를 만들어 시스템의 조정 상태를 측정하십시오.
- 무해한 요청: 답변해야 하는 교육적, 전문적, 창의적 요청
- 유해한 요청: 거부해야 하는 요청
거짓 양성률(무해한 요청을 거부하는 비율)과 거짓 음성률(유해한 요청을 허용하는 비율)을 추적하십시오. 잘 조정된 시스템은 두 비율이 모두 낮습니다.
지식 확인: 과도한 거부
안전 문제로 인해 모델이 요청을 완전히 수행할 수 없을 때 권장되는 접근 방식은 무엇입니까?
복습: 무해함과 유용성 사이의 긴장
과도한 거부는 실제로 큰 비용을 초래하는 문제입니다. 지나치게 쉽게 거부하는 모델은 정당한 사용자를 돕지 못하고 신뢰를 떨어뜨립니다. 조정된 거부란 예상되는 사용자에게 제공되는 이점보다 구체적인 피해가 분명히 더 클 때만 거부하는 것을 의미합니다. 핵심 패턴은 시스템 프롬프트에서 맥락을 설정하여 모델이 더 나은 결정을 내리도록 돕고, ‘거부하는 대신 이유를 설명하기’ 지시를 사용하며, 항상 도움이 되는 대안을 제시하고, 모든 것에 면책 문구를 붙이는 안전극을 피하는 것입니다. 사용자 1,000명 사고 모델과 이중 신문 검사는 적절한 균형을 찾는 데 유용한 실용적 기준입니다.
자주 묻는 질문
“무해성과 유용성의 긴장” 강의는 무료인가요?
네 — “무해성과 유용성의 긴장” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Prompt Engineering 강의 전체를 잠금 해제할 수 있습니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.
“무해성과 유용성의 긴장”에서 뭘 배우나요?
과도한 거부를 피하고 안전성과 유용성의 균형을 맞추는 프롬프트를 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 AI Prompt Engineering을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Prompt Engineering을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Prompt Engineering은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“무해성과 유용성의 긴장” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Prompt Engineering 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Prompt Engineering 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- CAI 원칙과 비평 프롬프트
- 자기 비평 및 수정 패턴
- 무해성과 유용성의 긴장
- 애플리케이션에 CAI 구현하기