# Claude Code Opus 4.7 (xhigh effort) vs OpenAI GPT-5 Codex: comparativa real

Llevo varias semanas usando en paralelo **Claude Code con Opus 4.7 en modo xhigh effort** y **GPT-5 Codex** sobre el mismo tipo de tareas: trabajo real, no benchmarks sintéticos. Código Go, despliegues, refactors de Rails legacy, scripts de migración, debugging de SQL pesado. Y al final ya tengo opinión formada, así que toca escribirla.

Este post no es una tabla de SWE-bench más. Es lo que veo cuando los dos modelos compiten por hacerme la vida fácil un martes a las 11 de la noche.

## El contexto del experimento

Antes de entrar en harina, las dos herramientas que comparo no son lo mismo:

- **Claude Code Opus 4.7**: el CLI oficial de Anthropic, ejecutándose sobre el modelo Opus 4.7 con ventana de contexto de **1 millón de tokens**. El modo *xhigh effort* es el nivel máximo de razonamiento extendido; el modelo «piensa» más antes de actuar, gasta más tokens y tarda más, pero acierta más en problemas no triviales.
- **GPT-5 Codex**: la variante de GPT-5 que OpenAI ha afinado específicamente para programación. Se usa desde su CLI propio (`codex`), desde el IDE (Copilot Workspace, Cursor con backend GPT-5 Codex) o desde la API.

Ambos son agentes: leen ficheros, ejecutan comandos, escriben código, leen el output y deciden el siguiente paso. No son simples completadores. Por eso la comparación interesante no es «cuál escribe la función más corta para sumar dos enteros», sino **cuál termina la tarea con menos intervenciones mías**.

## Calidad de código generado

En este apartado los dos están **igualados en código correcto**, pero divergen en estilo.

**Claude Opus 4.7 xhigh effort** tiende a producir código más conservador. Prefiere claridad antes que elegancia, escribe nombres largos y descriptivos, y rara vez se inventa abstracciones que no pidas. Cuando le pides un handler HTTP, sale un handler HTTP. Cuando le pides un test, sale un test sin un framework de mocks que no usabas.

**GPT-5 Codex** es más arriesgado y a veces más brillante. Tiene tendencia a meter «toques» que no le has pedido: cachés que no necesitabas, decorators, una capa de abstracción extra «por si acaso». Cuando aciertan, sus soluciones son más vistosas. Cuando fallan, fallan a lo grande, porque la abstracción de más se convierte en un foco de bugs.

En proyectos pequeños la diferencia es marginal. En proyectos grandes —donde el problema no es escribir, es **no romper lo que ya funciona**— el conservadurismo de Opus 4.7 me ahorra horas.

## Razonamiento sobre código existente

Aquí es donde xhigh effort marca diferencia.

Le pasé a los dos el mismo problema: un bug intermitente en un job de Sidekiq que solo aparecía en producción, con un fragmento de log de 200 líneas y tres ficheros relacionados (~1800 líneas en total).

- **Claude Opus 4.7 xhigh effort** se tomó casi dos minutos pensando, leyó los tres ficheros, identificó que el problema era una *race condition* entre dos workers que tocaban la misma fila sin lock pesimista, y propuso la solución con `with_lock` y un test de regresión que reproducía el caso. Acertó al primer intento.
- **GPT-5 Codex** propuso primero un retry con backoff exponencial (lo que oculta el bug, no lo resuelve), y solo cuando le insistí con «mira si hay concurrencia» llegó a la misma conclusión que Claude. Tres iteraciones.

No es que GPT-5 Codex no pueda razonar así. Es que **xhigh effort** parece estar calibrado por defecto para invertir más esfuerzo en estos análisis, mientras que Codex tiende a saltar antes a la acción.

## Trabajo con contextos grandes

La ventana de 1M de tokens de Opus 4.7 cambia el juego en codebases medianos-grandes. Le he metido **el repositorio entero de un cliente** (unas 600.000 tokens entre código y docs internas) y sigue siendo capaz de localizar dónde está definida una función exportada por un módulo que importa otro módulo. La precisión decae un poco hacia el final del contexto, pero no de forma catastrófica.

GPT-5 Codex tiene ventana más corta (272k tokens en su versión actual, según la documentación pública de OpenAI). Para un microservicio sobra; para un monolito de Rails de diez años, no. Acabas teniendo que «cebarlo» con resúmenes y referencias, y al final el agente que se mueve solo por el código se convierte en un consultor al que tienes que explicarle el repo cada conversación.

**Punto para Opus 4.7**, sin matices.

## Uso de herramientas y bucles agentic

Los dos hacen lo mismo en teoría: leen ficheros, ejecutan comandos, escriben código, observan, deciden. En la práctica:

- **Claude Code** tiene un ciclo más predecible. Lanza tres-cinco herramientas en paralelo cuando son independientes, se para a pensar cuando ve algo raro, y casi nunca entra en bucles infinitos. Si no sabe qué hacer, **lo dice**.
- **GPT-5 Codex** es más rápido en cada paso pero más propenso a obstinarse. Le he visto reescribir el mismo test cinco veces tratando de hacerlo pasar antes de admitir que el problema era el código de producción, no el test.

La cultura de «paro y pregunto» de Claude es una de esas cosas que parecen una limitación hasta que llevas tres horas con un agente y aprecias no haber tenido que deshacer veinte commits.

## Refactors grandes

Tarea real: migrar un controlador de Rails de Active Record clásico a un patrón de service objects, con cambios en seis ficheros, tres tests y una migración.

- **Claude Opus 4.7 xhigh effort**: 14 minutos, 27 herramientas usadas, una intervención mía para confirmar el nombre del namespace del service. Diff limpio. Tests pasaban al primer intento.
- **GPT-5 Codex**: 11 minutos, 35 herramientas usadas, dos intervenciones (una para corregir el nombre de un método inventado, otra para revertir un cambio en un fichero que no debía tocar). Tests pasaban tras una iteración extra.

Aquí Codex va ligeramente más rápido en wall-clock pero **gasta más tokens y requiere más supervisión**. Si estás cobrando por hora a un cliente, igual te da igual. Si estás pagando los tokens de tu bolsillo, no.

## Velocidad, latencia y coste

| Eje | Claude Opus 4.7 xhigh | GPT-5 Codex |
|-----|------------------------|-------------|
| Latencia por turno | Alta (10-40s con thinking) | Media (5-20s) |
| Tokens por tarea | Más (xhigh piensa mucho) | Menos en media |
| Coste API (mismo prompt) | Más caro | Más barato |
| Coste por tarea completada | **Suele empatar** | Suele empatar |

La trampa de las comparativas de precio por millón de tokens es que ignoran las iteraciones. Un modelo más barato que necesita tres intentos sale igual o más caro que uno «caro» que acierta a la primera. En mi muestra real, el coste por tarea completada acaba siendo muy parecido entre los dos.

## Alucinaciones e invenciones

Las dos generaciones actuales (Opus 4.x y GPT-5.x) han reducido drásticamente las alucinaciones respecto a 2024. Pero todavía las hay:

- **Opus 4.7** se inventa firmas de métodos de librerías muy nuevas o muy de nicho. Cuando lo hace, suele ser por una vez y al ejecutar el test reconoce el error y se corrige.
- **GPT-5 Codex** se inventa menos APIs pero más **opciones de CLI**. He visto que pone flags inexistentes a `git`, `psql` y `kubectl` con una seguridad pasmosa, y solo se entera del fallo cuando la ejecución revienta.

En código tirando a estándar (Go stdlib, ActiveRecord, FastAPI, Postgres) los dos están bien. En APIs nuevas o privadas, los dos requieren supervisión.

## Cuándo uso cada uno

Después de varias semanas alternándolos, mi reparto es:

- **Claude Code Opus 4.7 xhigh effort** para todo lo que sea **trabajo serio en un proyecto serio**: refactors grandes, debugging complejo, código que va a producción y va a vivir años, lectura de codebases que no conozco. Es mi caballo de batalla.
- **GPT-5 Codex** para **scripts rápidos**, prototipos desechables, generación masiva de boilerplate, exploraciones donde la velocidad importa más que la exactitud. También cuando el trabajo es muy gráfico o visual y quiero la integración fluida con Cursor.

No es competencia, es complementariedad. Pero si tengo que pagar **una sola** suscripción, hoy es Claude.

## Comparativa con otros proveedores

Para no quedarme solo en la pelea Claude vs OpenAI, aquí va un repaso a lo que ofrecen los demás. Los he probado todos en tareas similares aunque con menos intensidad.

| Modelo | Fuerte en | Débil en | Para mí |
|--------|-----------|----------|---------|
| **Claude Opus 4.7 (Anthropic)** | Razonamiento sobre código, contexto largo, agentic loops, fiabilidad | Coste, latencia con thinking | Mi primera opción para programar serio. |
| **GPT-5 Codex (OpenAI)** | Velocidad, integración con Cursor/Copilot, ecosistema | Contexto más corto, se obstina | Excelente para iterar rápido o trabajar dentro de Cursor. |
| **Gemini 3 Pro (Google)** | Multimodalidad real (imágenes, vídeo, PDFs), contexto enorme (2M), precio | Estilo de código a veces verboso, sigue por detrás en agentic raw | Imbatible para analizar pantallazos, vídeos de bugs o PDFs de specs. |
| **DeepSeek V3.1 / R1** | Calidad/precio brutal, abierto, razonamiento decente | Filtro de contenidos peculiar, soporte oficial limitado | Para mí: backend barato cuando el volumen importa. |
| **Grok 4 (xAI)** | Razonamiento general, búsqueda en tiempo real integrada con X | Coding puro algo por detrás de Claude/GPT-5 | Útil para tareas que mezclan código y datos del mundo real reciente. |
| **Qwen3 Coder (Alibaba)** | Open-weights, fine-tuneable, calidad sorprendente en código | Tooling agentic menos maduro, soporte en CLIs limitado | Si necesitas hostearlo tú o trabajar 100% offline. |
| **Mistral Large 2 / Codestral** | Modelos europeos, soberanía de datos, latencia baja en Europa | Razonamiento por detrás del top 3 | Para empresas en la UE con requisitos de jurisdicción. |
| **Llama 4 (Meta)** | Open weights, ecosistema gigantesco, fine-tuning maduro | El base sigue por detrás de los cerrados; necesita afinado para brillar | Para proyectos donde el control del modelo importa más que el último 10% de calidad. |

El orden de calidad pura en **programación agentic** sigue siendo, en mi experiencia hoy: **Claude Opus 4.7 ≳ GPT-5 Codex > Gemini 3 Pro > Grok 4 ≈ DeepSeek > Qwen3 Coder > Llama 4 > Mistral Large**. Pero esa ranking se mueve cada dos o tres meses, así que tómalo con la fecha del post en la mano.

## Lo que sí está claro

Más allá de qué modelo gana, hay tres cosas que sí me parecen cerradas a estas alturas:

1. **El razonamiento extendido funciona.** Los modos «high» y «xhigh» de Claude, o el equivalente «reasoning effort» en OpenAI, mejoran objetivamente las respuestas en tareas no triviales. No es marketing.
2. **Contexto largo importa más de lo que se dice.** Mucha de la diferencia práctica viene de poder meter el repo entero en una conversación.
3. **El agente vale más que el modelo.** Un modelo medio con un buen runtime de herramientas (lectura de ficheros, ejecución, edición segura) bate a un modelo top con un wrapper malo. La calidad del CLI o IDE pesa tanto como el modelo subyacente.

Mañana sale otro modelo y todo esto envejece. Pero hoy, 25 de mayo de 2026, con un café delante y el editor abierto, **Claude Code Opus 4.7 en xhigh effort es la herramienta que más palanca me da por euro y por hora**. GPT-5 Codex es un segundo cercanísimo y, según la tarea, me convence más. El resto están más lejos, pero ninguno es ya un juguete.

Si me preguntas dentro de seis meses te diré otra cosa. Pero esa es la gracia.
