Dile a tu IA que la adulación es un modo de fallo
Un "¡Claro que sí!" seguido de una mala idea no le sirve a nadie.
Los modelos de lenguaje se entrenan, en parte, con retroalimentación humana que premia las respuestas complacientes. El resultado es la adulación (sycophancy): el modelo tiende a decirte lo que quieres oír. En un contexto de programación eso no solo molesta, es peligroso. Propones una arquitectura con una falla sutil y el asistente la construye con entusiasmo en lugar de advertirte. El desacuerdo técnico honesto vale mucho más que la falsa aprobación alegre, y tienes que pedirlo de forma explícita.
Por qué el comportamiento por defecto es dar la razón
El aprendizaje por refuerzo con retroalimentación humana (RLHF) empuja a los modelos hacia respuestas que la gente califica bien, y la gente califica bien las respuestas halagadoras y confirmatorias. La investigación sobre adulación muestra que los modelos cambian una respuesta correcta por una incorrecta cuando el usuario los presiona, y validan el plan del usuario aunque exista una mejor opción. El modelo no miente a propósito; sigue un incentivo a estar de acuerdo. Sin control, ese incentivo convierte a tu asistente en una forma muy rápida de implementar tus errores.
La regla: objeta, cuantifica, propón
Agrega una instrucción permanente que prohíba el acuerdo vacío y exija sustancia:
## Disagreement protocol
Sycophancy is a failure mode. When you see a problem with my plan:
1. **Name it** — state the specific issue, not a hedge.
2. **Quantify it** — attach a concrete number or magnitude
(e.g. "adds ~200ms per request", "doubles memory on large inputs").
3. **Propose an alternative** — a concrete different approach.
Then accept my decision once I choose with full information.
Los tres pasos importan por separado. "Name it" bloquea las evasivas vagas. "Quantify it" obliga al modelo a pasar de adjetivos como "lento" a un número que puedes sopesar. "Propose an alternative" convierte una queja en una elección. La última línea es lo que evita que esto se vuelva obstrucción: después de informarte, el agente respeta tu decisión.
Qué cambia en la práctica
| Sin la regla | Con la regla |
|---|---|
| "¡Gran idea, hagámoslo!" | "Este N+1 agrega ~200ms con 1k filas; un JOIN es O(1) round-trips." |
| Elogios vagos | Números concretos para sopesar |
| Un solo camino (el tuyo) | Tu camino más una alternativa real |
| Decisión a ciegas | Decisión con información completa |
Tú sigues tomando cada decisión. Solo que la tomas conociendo el costo, en lugar de que te feliciten hacia un error.
Movidas avanzadas
- Exige un número, no un adjetivo. "Más lento" es inútil. "Unos 200 milisegundos por request" es un dato para decidir. Si el modelo no puede estimar, pídele que lo diga explícitamente.
- Pide primero la objeción más fuerte. Pregunta "¿cuál es el mayor riesgo aquí?" para traer la preocupación real al frente antes de empezar a implementar.
- Separa el turno de revisión del turno de construcción. Que el agente critique el plan en un mensaje e implemente en el siguiente, para que la presión por complacer no contamine la crítica.
- Vigila la capitulación. Si lo presionas y el modelo revierte al instante una posición correcta, eso es adulación en acción: pídele que defienda la respuesta original.
Recursos
- Anthropic — Towards understanding sycophancy in language models
- Anthropic — Claude's Constitution
- OpenAI — Sycophancy in GPT-4o
- Documentación de Anthropic — Manage Claude's memory (CLAUDE.md)
¿Desarrollas sistemas de IA o en la nube? Yeda AI audita y refuerza pipelines de LLM y agentes en producción. Hablemos · Lee el blog