ADHD para Coding Agents: un motor de razonamiento paralelo estilo Tree-of-Thought

"El README de ADHD confirma el posicionamiento del proyecto, el paquete npm adhd-agent, la licencia MIT, los comandos de instalación, el mecanismo en dos etapas y el marco de evaluación."
"El documento how-it-works confirma las fases Diverge/Focus, las ramas aisladas, la concurrencia con semaphore y el modelo lineal de costo en tokens."
"El documento vs-cot-and-tot confirma las diferencias estructurales entre ADHD, Chain-of-Thought y Tree-of-Thought, incluida la idea de que los frames no son personas."
"El documento frames confirma los 15 frames cognitivos, codeMode, el wild slot y los criterios para frames personalizados."
"El documento when-to-use confirma escenarios adecuados y no adecuados, número de llamadas por defecto, rango de 30 a 90 segundos y posicionamiento de costo."
"El artículo de The New Stack aporta contexto externo sobre el ecosistema alrededor de ADHD."
Una llamada CLI a un LLM se queda congelada a veces durante 90 segundos. ¿Cómo diseñarías la lógica de retry y timeout? La respuesta de manual sale rápido: backoff exponencial con jitter, un timeout absoluto y un retry automático. No está mal. Pero quizá falta la pregunta más importante: ¿de verdad va lenta la red o elegiste el modelo equivocado? ¿El botón debería sentirse más urgente cuanto más espera el usuario, con una opción de cambiar a un modelo más rápido en un clic?
ADHD está pensado para esa clase de problema. No es un prompt que le dice al Agent “piensa otra vez”. Es una estructura de razonamiento paralelo para coding agents de IA: varias ramas aisladas divergen con frames cognitivos distintos, y después un critic separado puntúa, agrupa, poda trampas y profundiza las ideas supervivientes. Esta guía se centra en el mecanismo, los límites y cuándo vale la pena usarlo.
Qué es ADHD (no un truco de prompt)
El posicionamiento de ADHD es específico: intenta corregir la convergencia prematura en el razonamiento autorregresivo, no añadir palabras de ánimo a un prompt.
Los modelos autorregresivos generan un token tras otro. Cuando los primeros pasos eligen una dirección, el resto de la respuesta tiende a construirse alrededor de ella. Eso es eficiente, pero en tareas de ingeniería abiertas aparece el costo: la primera respuesta plausible se convierte en ancla. El modelo se desliza hacia la ruta más común, más de manual. Esa respuesta suele ser suficientemente correcta, y también suele perder la opción menos obvia que habría importado más.
Los prompts normales pueden pedir al modelo “compara varias opciones”, “piensa desde distintos ángulos” o “no cierres demasiado pronto”. El problema es que esas ramas siguen compartiendo un contexto. El modelo genera y evalúa en el mismo espacio; cuando una dirección temprana aparece, las ramas posteriores tienen difícil escapar de ella.
ADHD toma una ruta más dura. La fase de divergencia se convierte en N llamadas Agent SDK totalmente aisladas. Cada rama ve solo el problema original, un frame cognitivo y un system prompt que prohíbe evaluar. Las ramas no comparten contexto. Luego, una fase Focus usa una llamada critic separada para puntuar, agrupar, podar y profundizar los resultados.
En una frase: CoT hace que una mente piense más despacio, Tree-of-Thought hace que una mente busque más amplio, y ADHD hace que varias mentes piensen distinto en paralelo antes de que un critic elija.
Mecanismo en dos etapas: un muro duro entre Diverge y Focus
ADHD se construye alrededor de dos etapas: Phase 1 Diverge y Phase 2 Focus. Entre ellas hay un muro duro. La divergencia prohíbe evaluar; solo la fase Focus puede converger.

Phase 1 Diverge: N ramas concurrentes aisladas
La primera etapa elige N frames cognitivos, con N=5 por defecto, y luego inicia N queries Agent SDK aisladas en paralelo. Cada rama recibe solo tres entradas:
- El problema original.
- El prompt de punto de vista de un frame, por ejemplo replantear el problema desde latencia, layout de memoria, regulación, on-call o inversión.
- Un system prompt que prohíbe evaluar, rankear y cubrirse con dudas.
Las ramas no pueden verse entre sí. La rama de auditoría regulatoria no lee lo que escribió la rama speedrunner. La rama hardware engineer no queda anclada por la rama de un niño de 10 años. Cada rama es una sesión stateless independiente, así que el anclaje no se controla por disciplina del modelo: se elimina por estructura.
La concurrencia se controla con un semaphore, con concurrency=4 por defecto. El costo en tokens crece linealmente con el número de ramas: O(N×cada rama), no N², porque las ramas posteriores no releen todo el contenido de las ramas anteriores.
Phase 2 Focus: una llamada critic separada
La segunda etapa cambia a una llamada critic separada. Hace tres cosas:
- score: puntúa cada rama por novelty, viability y fit de 0 a 10, con razones mecanísticas para las trampas.
- cluster: agrupa ideas por su ángulo de fondo, no por keywords superficiales.
- deepen top-K: profundiza por defecto K=3 ideas supervivientes con bocetos, riesgos portantes, primera acción y 3 a 5 subideas.
La decisión importante es la separación mecánica entre generator y critic. La fase generator no debe evaluar; la fase critic debe evaluar. No son dos promesas dentro de un chat, sino llamadas API separadas con system prompts distintos y posturas opuestas.
La forma de llamada de una rama aislada se parece a esto:
const branches = await Promise.all(
frames.map((frame) =>
withSemaphore(concurrency, () =>
callLLM({
systemPrompt: `${frame.vantage}\n\nFORBIDDEN: evaluation, ranking, hedging. JSON array out.`,
userPrompt: `${problem}\n\n${context ?? ""}`,
}),
),
),
);
Volvamos al ejemplo de retry/timeout. Una respuesta baseline tiende a producir un híbrido estándar: 15 segundos para timeout del primer token, 30 segundos entre tokens, un límite duro de 90 segundos y un retry automático. El valor de ADHD no está en alargar esa respuesta. Puede sacar una opción como “hacer que el botón se sienta más urgente a medida que crece la espera, y permitir cancelar y relanzar en un modelo más rápido”, mientras marca antes de implementar ideas curiosas pero peligrosas como “streaming de tokens al revés” o “cobrar según la paciencia”.
Comparación estructural con CoT y ToT
| Dimensión | Chain-of-Thought (CoT) | Tree-of-Thought (ToT) | ADHD |
|---|---|---|---|
| Threads | Línea única | Árbol único | N ramas paralelas aisladas |
| Contexto compartido | yes, todo compartido | yes, normalmente parcialmente compartido | no, aislamiento duro |
| generator/critic | Evaluación síncrona dentro de un contexto | El mismo modelo alterna generación y evaluación | Etapas separadas, llamadas separadas, postura opuesta |
| Motor de ramas | Sin rama explícita | Variantes del siguiente paso | Frames cognitivos que replantean todo el problema |
| Paralelismo | Ninguno | Normalmente secuencial | Concurrencia real, controlada por semaphore |
| Mejor encaje | Lógica de varios pasos y matemáticas | Búsqueda, planificación, puzzles | Diseño e ideación de ingeniería abiertos |
Tres diferencias portantes
Primero, ADHD es aislamiento, no búsqueda. Las ramas de ToT siguen desplegándose dentro de un árbol donde los nodos tempranos influyen en los posteriores. Las ramas de ADHD no se ven durante la divergencia, así que el anclaje desaparece por construcción.
Segundo, ADHD usa frames en vez de variantes del siguiente paso. ToT suele expandir “cuál es el siguiente movimiento”. ADHD vuelve a plantear todo el problema desde otra posición cognitiva. No cambia un parámetro; reconsidera la tarea desde latencia, restricciones físicas, responsabilidad regulatoria o presión de on-call a las 3 de la mañana.
Tercero, la separación generator-critic es mecánica, no una promesa. Decir “todavía no evalúes” dentro de un único contexto no impide que el modelo compare ideas mientras las genera. ADHD separa ese trabajo con llamadas distintas, system prompts distintos y posturas distintas.
Una aclaración importa: un frame no es una persona. Una persona dice “eres este tipo de persona”. Un frame dice “replantea este problema con estas restricciones y este vocabulario”. Lo primero cambia una etiqueta de identidad; lo segundo cambia el marco del problema.
Los 15 frames cognitivos y cómo personalizarlos
ADHD incluye 15 frames cognitivos que doblan el mismo problema en direcciones distintas. codeMode se inclina por defecto hacia perspectivas de código y diseño, y cada ejecución conserva un wild slot para que la divergencia no quede demasiado ordenada.
Ejemplos de frames integrados
| frame | punto de vista |
|---|---|
| Hardware engineer | Pensar desde latencia, layout de memoria y restricciones físicas |
| Regulatory audit | Pensar desde cumplimiento, riesgo y responsabilidad |
| 10-year-old child | Pensar con lenguaje simple y lógica simple |
| Competitor trying to break it | Pensar de forma adversarial sobre vulnerabilidades y puntos débiles |
| Biology | Pensar desde evolución, ecosistemas y restricciones metabólicas |
| Logistics | Pensar desde supply chain, almacenes y restricciones de transporte |
| Game design | Pensar desde experiencia de jugador, balance y feedback loops |
| Market | Pensar desde pricing, competencia y posicionamiento |
| Inversion | Trabajar hacia atrás desde el resultado deseado |
| $0 or infinite budget | Pensar bajo restricciones presupuestarias extremas |
| Remove load-bearing assumptions | Quitar lo que das por supuesto |
| Speedrunner | Llegar al objetivo en la menor cantidad de pasos |
| Ant colony | Pensar en coordinación distribuida y sin centro |
| 3 a.m. on-call | Pensar bajo urgencia, fatiga y recursos limitados |
| wild slot | Mantener un punto de vista aleatorio |
Reglas de selección
- El mismo problema con el mismo seed selecciona el mismo conjunto de frames, lo que hace reproducibles las ejecuciones.
- codeMode favorece por defecto frames de code/design, así que una tarea de ingeniería no se entrega por completo a metáforas irrelevantes.
- Cada ejecución conserva un wild slot, dando al sistema una oportunidad de escapar de un conjunto de frames demasiado limpio.
Frames personalizados
Un frame personalizado no necesita ser largo. Tiene que cambiar de verdad el problema. Un buen frame cumple al menos dos de estas tres reglas:
- Tiene vocabulario distintivo, no solo “pensar desde varios ángulos”.
- Tiene una postura distintiva, como adversarial, constructiva, ingenua o extremadamente restringida.
- Tiene una distorsión reproducible que cambia de forma fiable la dirección del razonamiento.
Para un producto de suscripción, podrías escribir algo así:
name: subscription_retention
vocabulary: ["subscription", "retention", "churn", "renewal", "lifecycle"]
stance: "Think in terms of subscription churn and lifetime value, not one-time transactions"
distortion: "Assume users will churn; design mechanisms that reduce churn"
Esto no etiqueta al modelo como “growth lead”. Empuja el problema hacia restricciones de retention, churn y lifetime value.
Cuándo usarlo y cuándo no
ADHD es una herramienta para puntos de decisión, no para cada tecla. Una prueba simple funciona bien: si un desarrollador junior puede encontrarlo en Google, gana la baseline. Si un desarrollador senior se detendría a decir “déjame mirarlo desde otro ángulo”, ADHD entra en rango.
Escenarios adecuados
| Escenario | Por qué encaja |
|---|---|
| Decisiones de arquitectura/diseño | Alto costo, varios ángulos, trampas fáciles de pasar por alto |
| Diseño de interfaces API/SDK/CLI | Los usuarios entran con mental models distintos |
| Naming | Los términos llevan ambigüedad entre roles |
| Depuración difusa | La causa raíz no está clara; primero hacen falta hipótesis |
| Planes de migración y refactorización | Performance, seguridad, compatibilidad y ritmo de rollout chocan |
| Code review más amplia | Quieres simular preocupaciones de varios reviewers |
| Estrategia y pricing | Las restricciones de negocio se benefician de frames adversariales y de mercado |
Escenarios no adecuados
| Escenario | Por qué no encaja |
|---|---|
| Búsqueda de hechos | Una respuesta correcta; no hace falta divergencia |
| Bug con causa conocida | La cadena causal está clara y la divergencia retrasa la corrección |
| Respuestas fáciles de buscar | Una baseline es más rápida y barata |
| Trabajo de bucle interno / por tecla | Un retraso de 30 a 90 segundos es inaceptable |
| Problemas con una única respuesta correcta | Más ramas no añaden información útil |
Instalación y activación
Revisa el skill de terceros antes de instalarlo. Como mínimo, lee su SKILL.md: qué le pide hacer al Agent, si puede ejecutar comandos externos y si puede tocar directorios que te importan. La checklist de la guía de revisión de seguridad de skills de OpenClaw es un buen punto de partida.
Instalación general
El comando general de instalación es:
npx skills add UditAkhourii/adhd
Detecta automáticamente unos 50 Agents, incluidos Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI y Windsurf, e instala el archivo de skill correspondiente.
Instalación específica para Codex
Si el comando general no registra el skill en Codex, fuerza el destino:
npx skills add UditAkhourii/adhd -a codex -g
También puedes instalarlo manualmente:
curl -o ~/.codex/skills/adhd/SKILL.md https://raw.githubusercontent.com/UditAkhourii/adhd/main/SKILL.md
Tras una instalación manual, reinicia Codex para recargar el directorio de skills.
Activación
Actívalo con:
/adhd "problema"
Por ejemplo:
/adhd "Una llamada CLI a un LLM se congela a veces durante 90s. ¿Cómo diseñar retry/timeout/UX?"
No lo conectes a cada completado. El mejor uso es activarlo explícitamente en puntos de arquitectura, diseño de interfaces, naming o depuración difusa.
Costo y valor
Datos de costo
| Dimensión | Datos |
|---|---|
| Llamadas LLM | Unas 10: N=5 en divergencia + 1 pasada de scoring + 1 pasada de clustering + K=3 pasadas de deepening |
| Tiempo | Normalmente 30 a 90 segundos |
| Multiplicador de costo | 5 a 10 veces una llamada única |
| Costo en tokens | O(N×cada rama), crecimiento lineal, no N² |
Posicionamiento de valor
El proyecto lo posiciona así: gastar alrededor de 0,30 USD para apoyar una decisión de arquitectura de 50.000 USD. Eso no significa que debas ejecutar ADHD en cada duda pequeña. Recuerda que una mala decisión de ingeniería abierta puede costar mucho más que una ejecución de razonamiento multi-rama.
En proyectos reales, el costo de contexto también importa. En Claude Code o una sesión Agent similar, cada rama puede recargar el contexto base del proyecto, instrucciones de herramientas y reglas del repositorio. El costo algorítmico puro es O(N×cada rama), pero la factura práctica se acerca más a N×(contexto base + trabajo de rama). Por eso es una herramienta para “¿deberíamos diseñarlo así?”, no para “¿cuál es la siguiente línea de código?”.
Cómo leer los resultados de eval
El proyecto ADHD publica una autoevaluación: seis tareas abiertas de ingeniería, el mismo modelo, evaluación LLM independiente y orden A/B aleatorio. Mantén visible ese alcance. No es un benchmark académico de terceros ni una evaluación humana.
Comparación en cinco dimensiones
| Dimensión | ADHD | baseline | Mejora |
|---|---|---|---|
| breadth | 9.00 | 4.83 | 1.9x |
| novelty | 7.83 | 2.67 | 2.9x |
| trap detection | 9.50 | 1.83 | 5.2x |
| actionability | 9.50 | 6.50 | 1.5x |
| builder usefulness | 7.67 | 6.83 | 1.1x |
Matiz sobre el marco de evaluación
Estos números sirven para ver una dirección, no para hacer afirmaciones de benchmark autoritarias. No demuestran que ADHD supere a toda estrategia de razonamiento. Sostienen una lectura más estrecha: en prompts abiertos de ingeniería, divergencia aislada más critic separado pueden cambiar de forma visible breadth, novelty y trap detection.
Así que no lo escribas como “rendimiento líder en benchmarks”. La formulación más segura es: en la autoevaluación del proyecto sobre seis tareas abiertas de ingeniería, ADHD ganó cinco, con la mayor brecha en trap detection. Si el límite factual queda claro, el lector puede decidir cuánto peso dar a esos números.
Conclusión
ADHD interesa no porque haga respuestas más largas, sino porque convierte “pensar distinto” en estructura: las ramas están aisladas, los frames vuelven a plantear el problema y un critic separado poda los resultados. Esa estructura encaja con una debilidad común de los Coding Agents en tareas abiertas de ingeniería: converger demasiado pronto hacia la primera respuesta que parece correcta.
Úsalo en puntos de decisión, no en bucles cotidianos por tecla. Arquitectura, interfaces, naming, migraciones y depuración difusa valen 30 a 90 segundos extra. Búsqueda de hechos, bugs con causa conocida y boilerplate de una línea encajan mejor con un Agent baseline.
Si estás ordenando tu toolchain de AI coding, lee el panorama de herramientas de programación con IA en 2026 para ubicar este tipo de skill. Para entender cómo organizar cadenas de razonamiento más largas, también sirve la guía de arquitectura de DeepAgents.
Instalar y activar ADHD en Codex o Claude Code
Instala el skill ADHD y activa razonamiento divergente paralelo en decisiones de arquitectura, naming, depuración difusa u otros puntos de alto valor.
- 1
Step 1: Revisar primero el skill de terceros
Abre el SKILL.md del proyecto y revisa qué pide hacer al Agent, qué comandos puede ejecutar y si necesita permisos adicionales. No instales skills de terceros a ciegas. - 2
Step 2: Ejecutar el comando general de instalación
Ejecuta npx skills add UditAkhourii/adhd. El instalador detecta automáticamente unos 50 Agents, incluidos Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI y Windsurf. - 3
Step 3: Forzar Codex si hace falta
Si el comando general no registra el skill en Codex, ejecuta npx skills add UditAkhourii/adhd -a codex -g, o descarga SKILL.md manualmente en ~/.codex/skills/adhd/. - 4
Step 4: Activarlo en un punto de decisión
Usa /adhd "tu problema". Prioriza arquitectura, diseño de interfaces, naming y depuración difusa. No lo actives para buscar hechos ni para completado por tecla.
FAQ
¿En qué se diferencia ADHD de Tree-of-Thought?
¿ADHD necesita Claude o puede usar un modelo local?
¿Cuánto cuesta una ejecución de ADHD y cuánto tarda?
¿Qué tareas deberían usar ADHD y cuáles no?
¿Cómo lo instalo y lo activo en Codex o Claude Code?
¿Un frame es solo un prompt de persona?
12 min de lectura · Publicado el: 8 jun 2026 · Actualizado el: 14 jul 2026
Caja de herramientas de AI Agents
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
female-portrait-director: convierte prompts de retrato con IA en un Skill reutilizable
female-portrait-director es un proyecto open source que convierte prompts de retrato con IA en un Skill estructurado y reutilizable. Esta guía explica el bloqueo de parámetros, el enrutamiento bajo demanda, la expansión modular tipo director, los límites de seguridad y un método de 5 pasos para crear tu propio Skill de prompts.
Parte 3 de 4
Siguiente
Este es el artículo más reciente de la serie por ahora.



Comentarios
Inicia sesión con GitHub para dejar un comentario