Technical Context
Veo regularmente el mismo patrón de fallo en el desarrollo autónomo: el agente comienza con fuerza, realiza entre 3 y 10 pasos, y luego "se desvía": confunde prioridades, repite lo que ya hizo o pierde los criterios de finalización. En Claude Code, este efecto es especialmente notable después de un compact (compresión de contexto) o al reiniciar la sesión. En la práctica, el problema no se soluciona con un "prompt más largo", sino con la estructura de soporte adecuada: listas de tareas (task-lists) + subagentes.
Lo que considero clave desde la arquitectura del agente es esto: una lista de tareas en Claude Code no es solo una lista en el chat. Desde las actualizaciones de principios de 2026 (la comunidad menciona v2.1.16), las listas de tareas son persistentes: se guardan en disco (generalmente en ~/.claude/tasks/), sobreviven al cierre de la terminal y compensan parcialmente la pérdida de "memoria RAM" del modelo durante la compresión.
La técnica más práctica que utilizo y recomiendo a los equipos es iniciar Claude Code para que se "adhiera" a una lista de tareas específica mediante una variable de entorno:
- CLAUDE_CODE_TASK_LIST_ID=mi-proyecto — así trabajas en la misma lista de tareas incluso si la sesión se rompe.
Para gestionar la lista de tareas, la interfaz ofrece comandos rápidos (según la versión, /tasks o alternar con Ctrl+T) y modos de planificación como Plan Mode. Veo esto como una "capa de orquestación integrada": el agente no debe recordar cada vez qué está haciendo, sino que debe verificar la lista en cada paso, marcar lo completado y seleccionar explícitamente el siguiente punto.
El segundo pilar son los subagentes. En Claude Code, generalmente se activan a través de menús/comandos de gestión de agentes (ej. /agents, /agents create), y la orquestación implica llamadas a herramientas como TaskCreate({ subject: "..." }). La esencia para mí es simple: descargo la "cabeza" del agente principal. En lugar de mantener en un solo contexto el análisis de requisitos, ediciones de código, ejecución de pruebas, lectura de logs y actualización de documentación, creo ejecutores separados para fragmentos repetitivos o paralelos.
Existe una limitación práctica importante: el paralelismo no puede expandirse infinitamente. Generalmente empiezo con 2–5 subagentes, porque después de eso el ruido de coordinación crece más rápido que la productividad. La comunidad menciona límites superiores de alrededor de 7 agentes paralelos, pero eso ya entra en modo "requiere despachador" en lugar de "conducción autónoma".
Business & Automation Impact
Traduciendo esto al lenguaje de negocios, las listas de tareas y los subagentes transforman a Claude Code de un "autocompletado inteligente" a una herramienta de automatización con IA para ciclos realmente largos: desde la definición hasta el PR, pruebas y despliegue. No veo esto como cosmética. Es un cambio en los contornos de control: en lugar de controlar mediante la memoria del modelo, controlamos el proceso a través de artefactos (lista de tareas, puntos de control, informes de subagentes).
Quién gana primero:
- Equipos de producto con mucho SDLC rutinario: microservicios similares, integraciones, migraciones, refactorización de módulos.
- Outsourcing/Integradores que necesitan gestionar de forma predecible múltiples flujos de trabajo, registrar el progreso y reproducir resultados.
- Propietarios de plataformas internas que quieren estandarizar "cómo el agente ejecuta tareas" en lugar de depender del talento de un ingeniero de prompts individual.
Quién pierde: aquellos que continúan gestionando al agente con una "sábana de texto" sin estructura. He visto equipos tener una ilusión de velocidad en los primeros 20 minutos, para luego perder un día averiguando por qué el agente "hizo lo incorrecto" tras una compactación o se saltó una dependencia.
En mis proyectos en Nahornyi AI Lab, establezco la lista de tareas como una capa obligatoria para la implementación de IA en el desarrollo: reemplaza parte de la gestión de proyectos manual a nivel de micropasos. Pero, para que esto funcione, la lista debe ser medible. No "haz la autorización", sino "añade endpoint /login, cubre 6 casos con pruebas, actualiza OpenAPI, ejecuta linter, adjunta logs de CI". Este formato reduce drásticamente la desviación y te da una auditoría del trabajo.
Los subagentes, a su vez, proporcionan repetibilidad. A menudo defino roles como:
- Agente de "Pruebas y Repro" (ejecuta, recopila logs, formula repro mínima);
- Agente "Revisor de Código" (verifica diffs, estilo, casos extremos);
- Agente "Documentación/Specs" (sincroniza README, ADR, changelog).
En suma, esto afecta a la arquitectura IA del proceso: el agente principal se convierte en orquestador, no en una "máquina para todo". Y esto ahorra dinero directamente, porque se reduce el número de reinicios, reversiones e intentos de "vamos otra vez, pero bien".
Strategic Vision & Deep Dive
Mi conclusión no obvia: las listas de tareas y los subagentes no son solo una "función de Claude Code", sino un puente práctico al siguiente nivel: el agente como proceso, no como chat. Una vez que el equipo acepta que el portador principal del progreso es la lista de tareas y los artefactos de ejecución, se puede construir una integración más seria de la inteligencia artificial con el entorno de ingeniería.
Ya veo esto en los patrones de adopción. Cuando en Nahornyi AI Lab hacemos desarrollo de soluciones de IA para empresas, los contornos más estables surgen donde:
- La lista de tareas está vinculada a fuentes de verdad reales (issue tracker, CI, repositorio);
- Cada punto tiene una "Definition of Done" y verificación (test/linter/llamada a API);
- Los subagentes trabajan en "oleadas": tareas paralelas sin dependencias van juntas, las dependientes van estrictamente secuenciales.
Hay trampas. Primera: una lista de tareas demasiado general. El agente honestamente "hará tarea tras tarea", pero cada tarea será vaga y obtendrás una hermosa simulación de progreso. Segunda: demasiados agentes. La coordinación se come el contexto y el tiempo, y empiezas a gestionar la gestión. Tercera: falta de un ritual de sincronización. Yo escribo explícitamente en el CLAUDE.md del proyecto una regla: "antes de cada acción verifica la lista de tareas; después, actualiza el estado y los artefactos".
Lo siguiente será un cambio hacia la "ingeniería del comportamiento" de los agentes: no buscar prompts mágicos, sino diseñar contornos de memoria (listas de tareas), delegación (subagentes) y control (artefactos CI/tests). El hype termina donde el agente no completa largas cadenas; la utilidad comienza donde el proceso es estable incluso tras compactación y reinicios.
Si quieres convertir Claude Code en un sistema predecible y no en una lotería, te invito a discutir tu desafío con Nahornyi AI Lab. Escríbeme —Vadym Nahornyi— y propondré una arquitectura de implementación: desde la estructura de listas de tareas y roles de subagentes hasta la integración con tu SDLC y métricas de calidad.