Cambiar tema

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

Easton editorial illustration: sculptural forked code-path tree, critic pruning ring
Unas 10
Llamadas LLM por defecto
N=5 en divergencia, más una pasada de scoring, una de clustering y K=3 pasadas de deepening.
30-90 segundos
Tiempo wall-clock típico
Útil en puntos de decisión, no en bucles por tecla.
5-10x
Costo frente a una llamada única
El costo en tokens crece linealmente con el número de ramas, no al cuadrado.
9.00 / 4.83
Breadth (ADHD / baseline)
Alrededor de 1,9x en la autoevaluación del proyecto.
7.83 / 2.67
Novelty (ADHD / baseline)
Alrededor de 2,9x en la autoevaluación del proyecto.
9.50 / 1.83
Trap detection (ADHD / baseline)
La mayor brecha en la autoevaluación del proyecto, alrededor de 5,2x.
数据来源: Evals autodeclarados del proyecto ADHD: seis tareas abiertas de ingeniería, mismo modelo, evaluación LLM independiente y orden A/B aleatorio. No es un benchmark de terceros.

"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.

Flujo de ADHD en dos etapas: varias ramas aisladas divergen en paralelo, un muro duro las separa de un critic separado que puntúa y poda

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:

  1. El problema original.
  2. 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.
  3. 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:

  1. score: puntúa cada rama por novelty, viability y fit de 0 a 10, con razones mecanísticas para las trampas.
  2. cluster: agrupa ideas por su ángulo de fondo, no por keywords superficiales.
  3. 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ónChain-of-Thought (CoT)Tree-of-Thought (ToT)ADHD
ThreadsLínea únicaÁrbol únicoN ramas paralelas aisladas
Contexto compartidoyes, todo compartidoyes, normalmente parcialmente compartidono, aislamiento duro
generator/criticEvaluación síncrona dentro de un contextoEl mismo modelo alterna generación y evaluaciónEtapas separadas, llamadas separadas, postura opuesta
Motor de ramasSin rama explícitaVariantes del siguiente pasoFrames cognitivos que replantean todo el problema
ParalelismoNingunoNormalmente secuencialConcurrencia real, controlada por semaphore
Mejor encajeLógica de varios pasos y matemáticasBúsqueda, planificación, puzzlesDiseñ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

framepunto de vista
Hardware engineerPensar desde latencia, layout de memoria y restricciones físicas
Regulatory auditPensar desde cumplimiento, riesgo y responsabilidad
10-year-old childPensar con lenguaje simple y lógica simple
Competitor trying to break itPensar de forma adversarial sobre vulnerabilidades y puntos débiles
BiologyPensar desde evolución, ecosistemas y restricciones metabólicas
LogisticsPensar desde supply chain, almacenes y restricciones de transporte
Game designPensar desde experiencia de jugador, balance y feedback loops
MarketPensar desde pricing, competencia y posicionamiento
InversionTrabajar hacia atrás desde el resultado deseado
$0 or infinite budgetPensar bajo restricciones presupuestarias extremas
Remove load-bearing assumptionsQuitar lo que das por supuesto
SpeedrunnerLlegar al objetivo en la menor cantidad de pasos
Ant colonyPensar en coordinación distribuida y sin centro
3 a.m. on-callPensar bajo urgencia, fatiga y recursos limitados
wild slotMantener 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:

  1. Tiene vocabulario distintivo, no solo “pensar desde varios ángulos”.
  2. Tiene una postura distintiva, como adversarial, constructiva, ingenua o extremadamente restringida.
  3. 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

EscenarioPor qué encaja
Decisiones de arquitectura/diseñoAlto costo, varios ángulos, trampas fáciles de pasar por alto
Diseño de interfaces API/SDK/CLILos usuarios entran con mental models distintos
NamingLos términos llevan ambigüedad entre roles
Depuración difusaLa causa raíz no está clara; primero hacen falta hipótesis
Planes de migración y refactorizaciónPerformance, seguridad, compatibilidad y ritmo de rollout chocan
Code review más ampliaQuieres simular preocupaciones de varios reviewers
Estrategia y pricingLas restricciones de negocio se benefician de frames adversariales y de mercado

Escenarios no adecuados

EscenarioPor qué no encaja
Búsqueda de hechosUna respuesta correcta; no hace falta divergencia
Bug con causa conocidaLa cadena causal está clara y la divergencia retrasa la corrección
Respuestas fáciles de buscarUna baseline es más rápida y barata
Trabajo de bucle interno / por teclaUn retraso de 30 a 90 segundos es inaceptable
Problemas con una única respuesta correctaMá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ónDatos
Llamadas LLMUnas 10: N=5 en divergencia + 1 pasada de scoring + 1 pasada de clustering + K=3 pasadas de deepening
TiempoNormalmente 30 a 90 segundos
Multiplicador de costo5 a 10 veces una llamada única
Costo en tokensO(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ónADHDbaselineMejora
breadth9.004.831.9x
novelty7.832.672.9x
trap detection9.501.835.2x
actionability9.506.501.5x
builder usefulness7.676.831.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. 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. 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. 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. 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 puede verse como una variante de Tree-of-Thought, pero convierte el aislamiento de ramas, la exploración por frames y la separación generator/critic en restricciones estructurales. ToT suele expandir el siguiente paso dentro de un contexto o árbol compartido. ADHD hace que cada rama sea invisible para las demás y vuelve a plantear todo el problema desde otro frame cognitivo.
¿ADHD necesita Claude o puede usar un modelo local?
ADHD está construido sobre los Agent SDK de Claude y Codex, y por defecto usa modelos de tipo Claude. No es una herramienta local lista para usar. Si quieres conectarlo a Ollama u otro modelo local, tienes que adaptar tú mismo la capa de llamada.
¿Cuánto cuesta una ejecución de ADHD y cuánto tarda?
El proyecto describe la ejecución por defecto como unas 10 llamadas LLM, normalmente 30 a 90 segundos de wall clock y 5 a 10 veces el costo de una llamada única. Lo posiciona como gastar alrededor de 0,30 USD para apoyar una decisión de arquitectura de 50.000 USD. Es una magnitud orientativa, no un precio fijo.
¿Qué tareas deberían usar ADHD y cuáles no?
Arquitectura, diseño de interfaces API/SDK/CLI, naming, depuración difusa, planificación de migraciones y code review ampliada son buenos casos. Buscar una API, arreglar un bug con causa conocida, responder algo fácil de encontrar o trabajar en un bucle por tecla son malos casos.
¿Cómo lo instalo y lo activo en Codex o Claude Code?
Instálalo con npx skills add UditAkhourii/adhd y actívalo con /adhd "problema". Si Codex no lo detecta automáticamente, ejecuta npx skills add UditAkhourii/adhd -a codex -g o coloca SKILL.md manualmente en ~/.codex/skills/adhd/.
¿Un frame es solo un prompt de persona?
No. Una persona suele pedir al modelo que actúe como alguien. Un frame es un operador de punto de vista: vuelve a plantear todo el problema desde la latencia, el layout de memoria, la regulación, una guardia on-call, la inversión u otra restricción. Cambia el marco del problema, no solo la etiqueta del rol.

12 min de lectura · Publicado el: 8 jun 2026 · Actualizado el: 14 jul 2026

Comentarios

Inicia sesión con GitHub para dejar un comentario

Easton BlogEaston Blog