GitHub lanzó Rubber Duck, una función experimental en Copilot CLI que usa revisión entre modelos para detectar errores de codificación que los modelos de IA individuales fallan consistentemente. Cuando los desarrolladores usan Claude como su agente de codificación principal, Rubber Duck automáticamente ejecuta una revisión secundaria usando GPT-5.4, y viceversa. El sistema se activa en tres puntos clave: después de la planificación, después de implementaciones complejas, y después de escribir pruebas pero antes de la ejecución.
Esto aborda un problema fundamental con los agentes de codificación de IA: amplifican errores tempranos porque los pasos posteriores se construyen sobre los mismos supuestos defectuosos. La auto-reflexión ayuda, pero un modelo revisando su propio trabajo sigue limitado por los mismos sesgos de entrenamiento que crearon el error. Diferentes familias de modelos—Claude de Anthropic versus GPT de OpenAI—cargan diferentes sesgos de entrenamiento, haciendo la revisión entre modelos más efectiva para identificar puntos ciegos.
Los resultados de benchmarks en SWE-Bench Pro muestran que Claude Sonnet con Rubber Duck cerró el 74.7% de la brecha de rendimiento con el más capaz Claude Opus, con ganancias más pronunciadas en tareas multi-archivo que requieren 70+ pasos. Los ejemplos de GitHub revelan los tipos de errores detectados: planificadores que salen inmediatamente, bucles infinitos en tareas de fondo, y sobrescrituras silenciosas de datos que eliminan categorías de búsqueda. Un caso particularmente revelador involucró el sistema de email de NodeBB, donde tres archivos estaban leyendo de una clave Redis que el nuevo código había dejado de escribir—un bug que rompe el despliegue sin mensaje de error.
Para los desarrolladores, esto representa un paso práctico hacia asistencia de codificación de IA más confiable. El enfoque específico en identificar supuestos, casos límite, y conflictos de requerimientos sugiere que GitHub entiende que la revisión efectiva de IA no se trata de reescribir código—se trata de identificar los modos de falla específicos que los desarrolladores humanos necesitan conocer antes de implementar.
