Saltar al contenido
/pacoforet

La IA que responde vs la IA que ejecuta

5 min de lectura

Llevo meses utilizando IA a diario para construir software. Al principio seguía el flujo habitual: pegar código en ChatGPT o Claude, copiar la respuesta, probarla en local y regresar al chat con los errores. Comparado con buscar en Stack Overflow o rebuscar en foros, la generación de código a medida representaba un avance claro.

Sin embargo, el cuello de botella era evidente: yo actuaba como un intermediario manual entre el modelo y el entorno de desarrollo. Cada iteración exigía copiar, pegar, ejecutar y volver a copiar.

Esa fricción cambia por completo al usar herramientas que corren directamente en la consola (como Claude Code, Codex CLI o Gemini CLI), con acceso al sistema de archivos, dependencias y comandos del proyecto.

La diferencia no es solo de potencia, sino de arquitectura de trabajo: pasar de consultar un modelo a colaborar con un agente que opera directamente sobre el entorno local.

El chatbot como consultor en una pestaña

Los asistentes web (ChatGPT, Claude.ai, Gemini) son efectivos para explicar conceptos, esbozar arquitecturas o revisar funciones aisladas. Pero operan dentro de una ventana de navegador aislada: no leen tu package.json, no ven el árbol del proyecto ni pueden ejecutar los tests.

El desarrollador asume toda la carga de sincronización:

  1. Gestión manual del contexto: Si un cambio involucra varios módulos, tienes que copiar y pegar cada archivo uno a uno. Conforme la conversación se alarga, el modelo pierde fidelidad sobre los primeros fragmentos y genera código desalineado con el resto del proyecto.
  2. Ciclo de retroalimentación roto: Pegas un componente sugerido, falla por una incompatibilidad de versiones en tus dependencias locales, copias el error de la terminal, vuelves al navegador, recibes un parche, lo pegas, compila pero falla el test unitario. Cada ciclo de ida y vuelta añade minutos de fricción que fragmentan el trabajo.

Para consultas aisladas funciona; para proyectos donde casi todo cruza múltiples archivos, el coste de contexto supera al beneficio.

Cuando la IA opera en tu terminal

Un agente con acceso a la consola interactúa directamente con el proyecto: lee la estructura de carpetas, ejecuta comandos, captura errores del compilador y corrige el código en el mismo ciclo.

Al solicitar “crea una API REST con estos endpoints y tests”, no devuelve un bloque de texto para copiar. Crea los archivos, instala dependencias con tu gestor de paquetes, corre la suite de pruebas y, si detecta un fallo, lo corrige antes de dar la tarea por concluida.

Un ejemplo práctico: al refactorizar un módulo que afectaba a seis archivos distintos, resolverlo vía web habría requerido pegar cada archivo y guiar los cambios manualmente. En terminal, el agente inspeccionó las importaciones, aplicó las modificaciones y validó la sintaxis en un par de minutos.

El tratamiento del error también cambia: el fallo no interrumpe el flujo de trabajo para obligarte a copiarlo, sino que se convierte en un dato de entrada que el propio agente lee en el log para ajustar su solución.

Qué cambia en la práctica

El salto cualitativo no se debe a que el modelo base sea diferente, sino a su nivel de integración con el entorno:

  • Lectura completa del repositorio: Comprende la arquitectura global en lugar de fragmentos descontextualizados.
  • Validación continua: Ejecuta linters, suites de tests y builds contra errores reales de compilación.
  • Control de versiones: Puede crear ramas, preparar commits descriptivos y gestionar diffs en Git.
  • Autonomía en pasos encadenados: Descompone un objetivo de alto nivel en subtareas secuenciales.

Esto transforma cómo defines las instrucciones. En lugar de pedir funciones atómicas (“escribe una función para validar emails”), puedes delegar objetivos de sistema: “refactoriza la validación de formularios con esquemas de Zod, actualiza la suite de tests y verifica que pasen todas las pruebas”.

Límites y consideraciones reales

Los agentes de terminal no están exentos de problemas y requieren supervisión activa:

  • Bucles de corrección: En ocasiones intentan resolver un error aplicando la misma solución fallida varias veces. Si detectas esa insistencia, conviene cancelar el proceso y reorientar el enfoque.
  • Desviación de negocio: Pueden proponer soluciones técnicamente válidas que añaden deuda técnica o contradicen la lógica del producto. La revisión de código sigue siendo indispensable.
  • Gestión de permisos: Dar acceso a la terminal permite ejecutar comandos en tu máquina. Es fundamental configurar los niveles de confirmación para que el agente solicite autorización antes de acciones destructivas o comandos de shell sensibles.
  • Dependencia de la calidad del repositorio: Un proyecto ordenado, con tipado y documentación clara permite al agente rendir con precisión. Un repositorio sin estructura genera respuestas erráticas.

Cuándo usar cada herramienta

  • Chatbot en navegador: Ideal para debatir alternativas de arquitectura, explorar ideas preliminares, redactar textos o resolver dudas conceptuales donde prima la reflexión.
  • Agente en terminal: Indispensable cuando hay que modificar código real, resolver conflictos de dependencias, automatizar migraciones o ejecutar ciclos de test y depuración.

Separar ambos espacios resulta muy eficiente: diseñar el enfoque en el chat conversacional y delegar la implementación técnica en el agente de consola.

Conclusión

La distinción relevante en herramientas de IA para desarrollo no es el modelo en sí, sino su grado de acceso al entorno de trabajo. Un modelo confinado a una ventana de chat depende del copy-paste humano para cada acción; un agente con acceso a la terminal puede ejecutar, validar y entregar software funcional.