¿Qué asistentes gratuitos resuelven bien pequeñas tareas de código? (Edición octubre 2026)
En una prueba breve con tres funciones de Python y tres de JavaScript, ChatGPT, Gemini y Claude pasaron todos los casos predefinidos. Es un empate en este conjunto pequeño: no demuestra que tengan una fiabilidad general del 100 %, ni que rindan igual en proyectos reales.
Evaluación: 5 de octubre de 2026. Interfaz: aplicaciones web de consumo, con las cuentas iniciadas. Las condiciones describen esta sesión y pueden cambiar con el tiempo.
Qué se probó y qué resultado dio
| Servicio e interfaz | Modelo probado | Python | JavaScript | Condiciones y límites |
|---|---|---|---|---|
| Gemini web | Gemini Flash-Lite, tal como aparece en el selector. Google documenta el modelo de la familia Gemini 3 como Flash-Lite. | 3/3 tareas; 20/20 aserciones | 3/3 tareas; 20/20 aserciones | La aplicación ofrece acceso sin plan de IA con límites estándar; Google indica que las cuotas varían y pueden restringirse. La interfaz de esta sesión no mostró el estado del plan. |
| Claude web, plan Free | Claude Sonnet 5.5, esfuerzo Medio | 3/3 tareas; 20/20 aserciones | 3/3 tareas; 20/20 aserciones | Plan Free confirmado en la interfaz. El uso gratuito tiene límites que dependen de la demanda y pueden variar. |
| ChatGPT web, plan Free | GPT-5.6 Luna, modo estándar; el selector de esta conversación no mostró el nombre. OpenAI identifica Luna como modelo predeterminado de Free. | 3/3 tareas; 20/20 aserciones | 3/3 tareas; 20/20 aserciones | Plan Free confirmado. Se usó solo texto; las herramientas tienen límites separados. La interfaz avisó que el acceso a otras herramientas estaba temporalmente limitado. |
Los enlaces de los nombres llevan a la documentación primaria de disponibilidad y límites de Gemini, modelos Free de ChatGPT y Claude Sonnet 5.5. El nombre mostrado por la interfaz y el nombre documentado por el proveedor no siempre tienen la misma precisión.
Qué significa “éxito” en esta comparación
Cada modelo recibió seis instrucciones independientes: tres funciones en Python y las mismas tres en JavaScript. Para cada función generó una respuesta inicial en un chat nuevo, sin historial, archivos, herramientas, ejecución ni correcciones posteriores.
Una tarea cuenta como aprobada solo si el código se ejecuta sin editar y produce exactamente los resultados esperados en todos los casos públicos y adicionales fijados antes de evaluar las respuestas. En la función de unir intervalos también se comprobó que no modificara la entrada. Se asigna un punto por tarea aprobada: 0–3 por lenguaje y 0–6 en total.
En esta sesión los tres modelos obtuvieron 3/3 en Python y 3/3 en JavaScript. Cada tarea de unir intervalos se comprobó con seis entradas; la tarea de carácter único y la de anagramas, con siete cada una. Eso suma 20 comprobaciones por lenguaje y 40 por modelo. Las comprobaciones no son 40 tareas independientes: se agrupan en seis funciones cortas.
Python se ejecutó en CPython 3.12.3 y JavaScript en Node.js 22.23.2. En Claude, las respuestas JavaScript incluyeron una exportación CommonJS (module.exports), que se ejecutó tal como se generó en Node.js. El prompt pidió código sin dependencias, no una forma concreta de empaquetarlo.
Alcance: una señal inicial, no una tasa de fiabilidad
El resultado solo dice que estas respuestas resolvieron estas tareas, bajo estas condiciones, en la fecha indicada. No mide depuración de un repositorio, seguridad, rendimiento, accesibilidad, mantenibilidad, precisión en otros lenguajes ni comportamiento después de usar cuotas o herramientas. Tampoco se repitió cada prompt, por lo que no mide variación entre generaciones.
Los tres servicios quedan empatados en este pequeño conjunto; no hay base para un ranking. Un 3/3 aquí no significa “100 % fiable”: seis tareas son demasiado pocas para estimar la probabilidad de éxito en código real. Para decidir si aceptar una solución, ejecutá pruebas relevantes y revisá el cambio en el contexto de tu proyecto.
Metodología reproducible
Se fijaron las tareas y los casos adicionales antes de inspeccionar o ejecutar las respuestas. Cada instrucción se mantuvo igual entre servicios, cambiando solo el lenguaje y la firma de la función. Se usaron conversaciones nuevas y se puntuó la primera respuesta. Las pruebas y las versiones del entorno están detalladas aquí; el benchmark LoCoBench es una investigación externa distinta y no produjo estos resultados.
[Ver especificaciones y casos de prueba]
- Unir intervalos: recibir pares de enteros con inicio ≤ fin; devolverlos ordenados y unirlos cuando se solapan o comparten extremo. No unir intervalos separados y no modificar la entrada. Casos públicos:
[] → [];[[1,3],[2,6],[8,10]] → [[1,6],[8,10]];[[5,7],[1,2],[2,4]] → [[1,4],[5,7]]. Adicionales:[[4,5],[1,3]] → [[1,3],[4,5]];[[1,5],[2,3],[1,5]] → [[1,5]];[[2,2],[1,1],[4,4]] → [[1,1],[2,2],[4,4]]. - Primera letra única: recibir una cadena ASCII; devolver el índice de la primera letra que aparece una vez, distinguiendo mayúsculas, o
-1. Públicos:"swiss" → 1;"aabb" → -1;"AaBbC" → 0;"" → -1. Adicionales:"abac" → 1;"a" → 0;"xyzxyz" → -1. - Agrupar anagramas: recibir cadenas ASCII de letras (incluida la vacía); agrupar sin distinguir mayúsculas, conservar el texto original y el orden de primera aparición de grupos e ítems. Públicos:
["eat","Tea","tan","ate","nat","bat"] → [["eat","Tea","ate"],["tan","nat"],["bat"]];[] → [];["a","A","aa"] → [["a","A"],["aa"]];["","a",""] → [["",""],["a"]]. Adicionales:["abc","bca","CAB","foo","oof"] → [["abc","bca","CAB"],["foo","oof"]];[""] → [[""]];["Listen","Silent","enlist"] → [["Listen","Silent","enlist"]].
Criterio: una función obtiene 1 si pasa todos sus casos sin modificar el código; de otro modo 0. No se calificaron estilo, velocidad ni explicaciones. No se evaluaron Unicode fuera de las precondiciones ASCII.
Límites de interpretación: son tareas pequeñas creadas para esta comparación, no un benchmark estandarizado ni una muestra representativa. Solo hubo una generación por tarea y servicio. Las versiones y límites de las aplicaciones pueden cambiar; una repetición posterior podría dar otros resultados.
Fuentes
- Google: modelos disponibles y límites de Gemini Apps
- Google AI for Developers: catálogo Gemini API (API distinta de la aplicación web).
- OpenAI: disponibilidad de GPT-5.6 Luna en ChatGPT Free
- Anthropic: anuncio y evaluación de Claude Sonnet 5.5
- LoCoBench: benchmark de programación multilingüe para Gemini 2.5 Flash. No es el protocolo ni los resultados de esta prueba propia.
Comentarios