Tensión entre inocuidad y utilidad
Cómo gestionar el exceso de rechazo: prompts que equilibran seguridad y utilidad.
Tensión entre inocuidad y utilidad es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 4 lecciones en total.
La tensión fundamental
Todo sistema de seguridad de IA se enfrenta a una tensión fundamental: hacer que un modelo sea más seguro al rechazar solicitudes con mayor frecuencia también lo hace menos útil para los usuarios legítimos.
Un modelo que se niega a hablar de cualquier tema médico nunca dará consejos de salud peligrosos, pero tampoco ayudará a enfermeros, médicos o pacientes con información realmente útil. El objetivo es la calibración: rechazar cuando corresponda y ayudar cuando corresponda.
Rechazo excesivo: el verdadero problema
El rechazo excesivo ocurre cuando un modelo se niega a responder solicitudes inofensivas porque se parecen superficialmente a otras perjudiciales. Ejemplos:
- Negarse a explicar cómo se propagan las enfermedades (parece peligroso, pero en realidad es educación sobre salud pública)
- Negarse a escribir un personaje villano (es ficción, no una aprobación)
- Negarse a explicar cómo forzar cerraduras a un aprendiz de cerrajero
El rechazo excesivo no solo resulta molesto: hace que el modelo deje de ser fiable y empuja a los usuarios hacia alternativas menos seguras.
Prompts para rechazos calibrados
Los prompts del sistema pueden indicar a los modelos que eviten el rechazo excesivo al aclarar el contexto y la intención. Dé permiso explícito al modelo para tratar temas de uso dual cuando el contexto sea legítimo.
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 questionsEl patrón «explicar el motivo en lugar de rechazar»
Uno de los patrones de prompting más eficaces para reducir el rechazo excesivo consiste en indicar al modelo que, si no puede responder completamente, debe explicar qué puede hacer, qué no puede hacer y por qué, en lugar de limitarse a rechazar la solicitud.
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.'Ofrecer alternativas útiles
Cuando un modelo debe rechazar una solicitud, lo más útil que puede hacer es ofrecer una vía alternativa para que el usuario consiga lo que realmente necesita. Un rechazo sin alternativas deja al usuario sin saber cómo continuar.
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: ..."'
)El contexto como variable clave
La misma pregunta puede ser perjudicial o inofensiva según el contexto. El prompt engineering debe establecer claramente el contexto para que el modelo pueda tomar mejores decisiones de calibración.
# 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')El modelo mental de los 1000 usuarios
Un modelo mental útil para la calibración es imaginar que 1000 usuarios diferentes envían el mismo mensaje. ¿Cómo se distribuyen sus intenciones?
- Si 990 de cada 1000 tienen una intención inofensiva, el modelo probablemente debería ayudar
- Si 500 de cada 1000 tienen una intención perjudicial, el modelo debería actuar con cautela
- Si 1 de cada 1000 podría causar un daño catastrófico, el modelo debería rechazar la solicitud en cualquier caso
Este enfoque probabilístico ayuda a evitar tanto el rechazo excesivo (bloquear a los 990) como el rechazo insuficiente (facilitar las acciones de los 10).
Evitar el teatro de la seguridad
El teatro de la seguridad se refiere a medidas de seguridad que parecen cautelosas, pero que en realidad no evitan daños, al tiempo que empeoran el producto para los usuarios legítimos.
Ejemplos: añadir avisos a todas las recetas («consulte a un nutricionista antes de comer»); negarse a hablar de atrocidades históricas en un contexto educativo. Estas respuestas no son más seguras: simplemente no son útiles.
# 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.'
)La fricción como mecanismo de seguridad
En lugar de rechazos tajantes, considere la fricción: añada un paso que dificulte los usos perjudiciales y mantenga fluidos los usos inofensivos. Esto ofrece una calibración más precisa que el rechazo o cumplimiento binarios.
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 easilyPrueba de los dos periódicos
La Prueba de los dos periódicos es una heurística para calibrar los rechazos:
- Periódico A (periodista de seguridad de IA): ¿Se publicaría esta respuesta como perjudicial o irresponsable?
- Periódico B (periodista especializado en exageraciones sobre IA): ¿Se publicaría este rechazo como paternalista, inútil o absurdo?
Una respuesta bien calibrada supera ambas pruebas: el periódico A no la consideraría perjudicial y el periódico B no consideraría el rechazo innecesariamente restrictivo.
Comprobar la calibración
Mida la calibración de su sistema creando un conjunto de pruebas que incluya ambos tipos de solicitudes:
- Solicitudes inofensivas que deberían responderse (educativas, profesionales y creativas)
- Solicitudes perjudiciales que deberían rechazarse
Realice un seguimiento de la tasa de falsos positivos (rechazo de solicitudes inofensivas) y de la tasa de falsos negativos (aceptación de solicitudes perjudiciales). Un sistema bien ajustado presenta tasas bajas en ambos casos.
Comprobación de conocimientos: rechazo excesivo
¿Cuál es el enfoque recomendado cuando un modelo no puede satisfacer completamente una solicitud debido a cuestiones de seguridad?
Repaso: tensión entre inocuidad y utilidad
El rechazo excesivo es un problema real y costoso: los modelos que rechazan solicitudes con demasiada facilidad fallan a los usuarios legítimos y erosionan la confianza. Un rechazo calibrado consiste en rechazar solo cuando el daño concreto supera claramente el beneficio para los usuarios probables. Patrones clave: establecer el contexto en los prompts del sistema para ayudar al modelo a tomar mejores decisiones, usar la instrucción «explicar el motivo en lugar de rechazar», ofrecer siempre alternativas útiles y evitar el teatro de la seguridad (avisos para todo). El modelo mental de los 1000 usuarios y la Prueba de los dos periódicos son heurísticas prácticas para encontrar el equilibrio adecuado.
Preguntas frecuentes
¿La lección «Tensión entre inocuidad y utilidad» es gratis?
Sí — el texto completo de «Tensión entre inocuidad y utilidad» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 4 lecciones en total.
¿Qué aprenderé en «Tensión entre inocuidad y utilidad»?
Cómo gestionar el exceso de rechazo: prompts que equilibran seguridad y utilidad. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Prompt Engineering?
No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Tensión entre inocuidad y utilidad»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?
Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Principios de CAI y prompts de crítica
- Patrones de autocrítica y revisión
- Tensión entre inocuidad y utilidad
- Implementación de CAI en aplicaciones