CodeTaste: Can LLMs Generate Human-Level Code Refactorings?

El artículo presenta CodeTaste, una evaluación que revela que, aunque los agentes de LLM pueden ejecutar refactorizaciones cuando se les especifican en detalle, a menudo fallan en identificar las decisiones humanas naturales, aunque una estrategia de "proponer e implementar" mejora su alineación con las preferencias de los desarrolladores.

Alex Thillen, Niels Mündler, Veselin Raychev, Martin Vechev

Publicado 2026-03-05
📖 4 min de lectura☕ Lectura para el café

Each language version is independently generated for its own context, not a direct translation.

¡Claro que sí! Imagina que el código de un programa es como una casa.

Cuando un arquitecto (un desarrollador humano) diseña una casa, no solo se preocupa de que tenga techo y puertas. Se preocupa de que los pasillos tengan sentido, de que la cocina esté cerca del comedor y de que, si en el futuro quieren añadir una habitación, sea fácil hacerlo sin romper todo.

Los Agentes de IA (como los modelos de lenguaje o LLMs) son como constructores robots muy rápidos. Pueden levantar muros, poner ventanas y hacer que la casa funcione en cuestión de segundos. El problema es que, a veces, estos robots construyen casas que funcionan, pero que son un desorden: tienen pasillos que dan vueltas sin sentido, puertas que se abren a la nada y cimientos frágiles. Con el tiempo, la casa se vuelve imposible de ampliar o reparar.

Aquí es donde entra el reordenamiento (refactorización). Es el arte de reorganizar la casa sin cambiar lo que hace (la gente sigue viviendo ahí igual), pero mejorando su estructura para que sea más limpia y duradera.

¿Qué descubrió este estudio? (CODETASTE)

Los autores de este papel crearon un examen muy difícil llamado CODETASTE para ver si estos "constructores robots" pueden hacer ese trabajo de reordenamiento tan bien como un humano experto.

Imagina que el examen tiene dos partes:

1. La parte "Con Receta" (Instructed Track)

Aquí, les das al robot una receta paso a paso: "Quita esta pared, mueve la ventana 2 metros a la derecha y cambia el suelo por madera".

  • Resultado: ¡Van bastante bien! Los robots más avanzados (como GPT-5) siguen las instrucciones casi a la perfección. Saben mover los muebles si se lo dices exactamente cómo hacerlo.

2. La parte "Sin Receta" (Open Track)

Aquí es donde se pone interesante. Les das al robot una instrucción vaga: "Esta sala se siente un poco desordenada, haz que se vea mejor". No les dices qué mover, solo les das el objetivo general.

  • Resultado: ¡Desastre! Los robots se pierden. En lugar de reorganizar la estructura de la casa, a veces deciden:
    • Cambiar el color de la puerta (algo superficial).
    • Poner un parche rápido y feo en la pared para que no se vea el agujero (soluciones "hacky").
    • O peor aún, empiezan a pintar el techo cuando el problema era el suelo.

La analogía del "Chef vs. El Comensal"

Piensa en un Chef experto (el desarrollador humano) y un Robot de cocina (la IA).

  • Si le dices al robot: "Corta las zanahorias en rodajas de 2mm", lo hará perfecto.
  • Pero si le dices: "Hoy la comida está muy aburrida, dale un toque especial", el robot podría:
    • Ponerle mucha sal (demasiado).
    • Cambiar el plato por otro que no combina.
    • O simplemente no saber qué hacer y dejar la comida igual.

El estudio descubrió que, aunque los robots son geniales siguiendo instrucciones, les cuesta mucho tener el "instinto" o el "gusto" humano para saber qué es lo que realmente necesita arreglarse en un código complejo sin que se lo digan.

¿Qué aprendimos?

  1. El "Ojo Humano" falta: A los robots les falta la capacidad de ver el panorama completo y decir: "Aquí hay un problema de diseño que nadie ha notado, pero que vamos a arreglar".
  2. Planear ayuda (pero no es magia): Si obligamos al robot a escribir un plan antes de tocar el código ("Primero voy a mover la pared, luego el suelo..."), mejora un poco, pero sigue lejos de lo que haría un humano.
  3. La calidad a largo plazo: Si dejamos que estos robots construyan y reordenen código solos sin supervisión, terminaremos con "deuda técnica": casas que parecen funcionar hoy, pero que dentro de un año serán un caos imposible de vivir.

En resumen

El estudio CODETASTE nos dice que, aunque la IA es increíble para escribir código nuevo o seguir instrucciones precisas, aún no tiene el "sentido común" ni la visión arquitectónica para mejorar el código por sí misma cuando solo le decimos "arregla esto".

Para que la IA sea un verdadero socio en la ingeniería de software, no solo necesitamos que escriba mejor, sino que aprenda a pensar como un humano y a tomar decisiones de diseño inteligentes, no solo mecánicas. Por ahora, los humanos seguimos siendo los mejores arquitectos de nuestras casas digitales.