El experimento: Una tarea simple con trampa oculta
Puse a prueba GPT-5 Codex Medium contra Claude Sonnet 4.1 con una tarea aparentemente básica: personalizar los errores 404 en una API de Laravel. Lo que parecía trivial reveló diferencias fundamentales en cómo cada herramienta comprende el framework.
El problema: cuando elimino una tarea inexistente, Laravel devuelve "No query results for model [App\Models\Task] 16". Este mensaje expone detalles internos que no deberían ser públicos. Necesitaba una respuesta JSON limpia: "Task not found".
Por qué modelos medios y no los top
No uso Opus 4.1 a diario para desarrollo, uso Sonnet. Si trabajara con GPT-5 Codex, tampoco usaría el modelo más alto constantemente. Además, hay reportes preocupantes de usuarios con el plan Pro ($223/mes) que alcanzan límites y quedan bloqueados días enteros.
GPT-5 Codex: La solución que no funcionó
GPT-5 Codex identificó correctamente que necesitaba interceptar excepciones en bootstrap/app.php. Su solución: capturar ModelNotFoundException. Código limpio, lógica aparentemente correcta. Un problema: no funcionó.
Intentó ejecutar comandos para verificar, pero falló sistemáticamente. "Docker no está corriendo", decía, cuando sí lo estaba. Un problema recurrente con GPT-5 Codex: limitaciones para ejecutar comandos en proyectos reales.
Tras varios intentos, simplificó el código, eliminó validaciones, pero seguía interceptando la excepción incorrecta. No entendió el problema real.
Claude Sonnet: Entendiendo el framework
Claude comenzó igual que GPT-5, interceptando ModelNotFoundException. Pero al ver que no funcionó, automáticamente dio con la respuesta:
"El problema es que ModelNotFoundException está siendo convertida a NotFoundHttpException antes de llegar a mi handler."
Ese es el detalle crítico. Laravel transforma internamente la excepción del modelo en una excepción HTTP durante la preparación de la excepción final. Claude Sonnet 4.1 lo entendió, ajustó el código para interceptar NotFoundHttpException, y funcionó perfectamente.
La diferencia clave
No es solo generar código. Es entender cómo funciona Laravel internamente. GPT-5 Codex se quedó en la superficie, intentando la solución obvia. Claude profundizó, entendió el flujo de excepciones, identificó la transformación que hace el framework.
Claude también aprovechó Laravel Boost, un servidor MCP disponible en el proyecto utilizado, consultando documentación actualizada. GPT-5 Codex, aunque tenía acceso, no lo utilizó.
Resultados finales
Claude Sonnet 4.1:
Identificó el problema real
Entendió el flujo interno de excepciones
Ejecutó comandos correctamente
Solución funcional en segundo intento
GPT-5 Codex Medium:
Se quedó en la solución superficial
No pudo ejecutar comandos
Múltiples intentos sin éxito
No aprovechó recursos disponibles
La solución que ninguno encontró
Existía otra opción: usar el método missing en las rutas apiResource. Pero requeriría aplicarlo a cada ruta apiResource individualmente. La solución global en el exception handler es más elegante y mantenible.
Costos
GPT-5 Codex: $0.04 para toda la prueba. Económico pero inútil si no resuelve el problema.
Conclusión
Esta prueba revela algo fundamental: no todas las IAs comprenden igual los frameworks. Claude demostró entendimiento profundo de Laravel, mientras GPT-5 Codex se limitó a soluciones superficiales.
Para desarrollo profesional con Laravel, la capacidad de entender el funcionamiento interno del framework marca la diferencia entre código que parece correcto y código que funciona.
Recurso adicional
Hemos publicado el curso "Asistente de voz con Laravel MCP y Claude" donde creamos un servidor MCP con Laravel que transcribe audio a texto y ejecuta tareas automáticamente. Ideal para ahorrar tiempo escribiendo prompts.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción