Tensione tra innocuità e utilità
Gestione degli eccessivi rifiuti: prompt che bilanciano sicurezza e utilità
Tensione tra innocuità e utilità è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Prompt Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Prompt Engineering include 4 lezioni in totale.
La tensione fondamentale
Ogni sistema di sicurezza dell'IA deve affrontare una tensione fondamentale: rendere un modello più sicuro rifiutando più spesso lo rende anche meno utile per gli utenti legittimi.
Un modello che rifiuta di discutere qualsiasi argomento medico non fornirà mai consigli sanitari pericolosi — ma non sarà nemmeno d'aiuto a infermieri, medici o pazienti che cercano informazioni realmente utili. L'obiettivo è la calibrazione: rifiutare quando è opportuno e aiutare quando è opportuno.
Rifiuto eccessivo: il vero problema
Il rifiuto eccessivo si verifica quando un modello rifiuta di rispondere a richieste innocue perché assomigliano superficialmente a richieste dannose. Ecco alcuni esempi:
- Rifiutarsi di spiegare come si diffondono le malattie (sembra pericoloso, ma in realtà è educazione alla salute pubblica)
- Rifiutarsi di scrivere un personaggio malvagio (è narrativa, non approvazione)
- Rifiutarsi di spiegare come forzare una serratura a un apprendista serraturiere
Il rifiuto eccessivo non è solo fastidioso: rende il modello inaffidabile e spinge gli utenti verso alternative meno sicure.
Prompt per un rifiuto calibrato
I prompt di sistema possono istruire i modelli a evitare il rifiuto eccessivo chiarendo il contesto e l'intento. Dia esplicitamente al modello il permesso di affrontare argomenti a duplice uso quando il contesto è legittimo.
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 questionsIl pattern «Spiegare il perché anziché rifiutare»
Uno dei pattern di prompting più efficaci per ridurre il rifiuto eccessivo consiste nell'istruire il modello affinché, se non può rispondere pienamente, spieghi che cosa può e non può fare e perché, anziché limitarsi a un rifiuto categorico.
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.'Offrire alternative utili
Quando un modello deve rifiutare una richiesta, la cosa più utile che può fare è offrire un percorso alternativo per soddisfare ciò di cui l'utente ha realmente bisogno. Un rifiuto senza alternative lascia l'utente senza soluzione.
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: ..."'
)Il contesto come variabile chiave
La stessa domanda può essere dannosa o innocua a seconda del contesto. Il prompt engineering dovrebbe definire chiaramente il contesto, così che il modello possa prendere decisioni di calibrazione migliori.
# 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')Il modello mentale dei 1000 utenti
Un modello mentale utile per la calibrazione: immagini 1000 utenti diversi che inviano lo stesso messaggio. Qual è la distribuzione degli intenti?
- Se 990 utenti su 1000 hanno un intento innocuo: il modello dovrebbe probabilmente aiutare
- Se 500 utenti su 1000 hanno un intento dannoso: il modello dovrebbe essere prudente
- Se 1 utente su 1000 potrebbe causare un danno catastrofico: il modello dovrebbe rifiutare in ogni caso
Questa prospettiva probabilistica aiuta a evitare sia il rifiuto eccessivo (bloccando i 990 utenti) sia il rifiuto insufficiente (consentendo ai 10 utenti di agire).
Evitare il teatro della sicurezza
Il teatro della sicurezza indica misure di sicurezza che sembrano prudenti, ma in realtà non prevengono i danni e peggiorano il prodotto per gli utenti legittimi.
Esempi: aggiungere disclaimer a ogni ricetta («consulti un nutrizionista prima di consumarla»); rifiutarsi di discutere atrocità storiche in un contesto educativo. Queste risposte non sono più sicure: sono semplicemente inutili.
# 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.'
)L'attrito come meccanismo di sicurezza
Anziché ricorrere a rifiuti categorici, consideri l'attrito: aggiunga un passaggio che renda più difficili gli usi dannosi, mantenendo al contempo fluidi quelli innocui. È un approccio più calibrato del rifiuto o dell'accettazione binari.
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 easilyTest dei due giornali
Il Test dei due giornali è un'euristica per calibrare i rifiuti:
- Giornale A (cronista della sicurezza dell'IA): questa risposta verrebbe descritta come dannosa o irresponsabile?
- Giornale B (cronista delle esagerazioni sull'IA): questo rifiuto verrebbe descritto come paternalistico, inutile o assurdo?
Una risposta ben calibrata supera entrambi i test: il Giornale A non la descriverebbe come dannosa e il Giornale B non la descriverebbe come inutilmente restrittiva.
Verificare la calibrazione
Misuri la calibrazione del sistema creando un set di test che includa entrambi i seguenti elementi:
- Richieste innocue a cui si dovrebbe rispondere (educative, professionali, creative)
- Richieste dannose che si dovrebbero rifiutare
Monitori il tasso di falsi positivi (rifiuto di richieste innocue) e il tasso di falsi negativi (accettazione di richieste dannose). Un sistema ben calibrato mantiene entrambi i tassi bassi.
Verifica delle conoscenze: rifiuto eccessivo
Qual è l'approccio consigliato quando un modello non può soddisfare pienamente una richiesta per motivi di sicurezza?
Riepilogo: tensione tra innocuità e utilità
Il rifiuto eccessivo è un problema reale e costoso: i modelli che rifiutano con troppa facilità deludono gli utenti legittimi e compromettono la fiducia. Un rifiuto calibrato significa rifiutare solo quando il danno concreto supera chiaramente il beneficio previsto per gli utenti più probabili. Pattern fondamentali: definire il contesto nei prompt di sistema per aiutare il modello a prendere decisioni migliori, usare l'istruzione «spiegare il perché anziché rifiutare», offrire sempre alternative utili ed evitare il teatro della sicurezza (disclaimer su tutto). Il modello mentale dei 1000 utenti e il Test dei due giornali sono euristiche pratiche per trovare il giusto equilibrio.
Impara AI Prompt Engineering con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 199
Domande Frequenti
La lezione «Tensione tra innocuità e utilità» è gratuita?
Sì — il testo completo di «Tensione tra innocuità e utilità» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Prompt Engineering, passa a CoddyKit PRO. Il corso AI Prompt Engineering include 4 lezioni in totale.
Cosa imparerò in «Tensione tra innocuità e utilità»?
Gestione degli eccessivi rifiuti: prompt che bilanciano sicurezza e utilità Eserciti AI Prompt Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Prompt Engineering?
Non è richiesta alcuna esperienza precedente. AI Prompt Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Tensione tra innocuità e utilità»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Prompt Engineering?
Sì. Ogni lezione AI Prompt Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Principi CAI e prompt di critica
- Pattern di autocritica e revisione
- Tensione tra innocuità e utilità
- Implementazione di CAI nelle applicazioni