ADHD para Coding Agents: um motor de raciocínio paralelo no estilo Tree-of-Thought
"O README do ADHD confirma o posicionamento do projeto, o pacote npm adhd-agent, a licença MIT, os comandos de instalação, o mecanismo de duas etapas e o contexto dos evals."
"O documento how-it-works confirma as fases Diverge/Focus, branches isoladas, concorrência com semaphore e modelo linear de custo em tokens."
"O documento vs-cot-and-tot confirma as diferenças estruturais entre ADHD, Chain-of-Thought e Tree-of-Thought, incluindo a ideia de que frames não são personas."
"O documento frames confirma os 15 frames cognitivos, codeMode, o wild slot e os critérios para frames personalizados."
"O documento when-to-use confirma cenários adequados e inadequados, número padrão de chamadas, faixa de 30 a 90 segundos e posicionamento de custo."
"A cobertura do The New Stack fornece contexto externo sobre o ecossistema ao redor do ADHD."
Uma chamada CLI para um LLM às vezes congela por 90 segundos. Como você desenharia retry e timeout? A resposta de manual aparece rápido: backoff exponencial com jitter, um timeout absoluto e uma nova tentativa automática. Não está errado. Mas talvez falte a pergunta mais importante: a rede está mesmo lenta, ou o modelo escolhido é que foi o errado? Quanto mais o usuário espera, o botão não deveria ficar mais urgente, com uma opção de trocar para um modelo mais rápido em um clique?
ADHD foi feito para essa classe de problema. Não é um prompt que diz ao Agent “pense de novo”. É uma estrutura de raciocínio paralelo para AI coding agents: várias branches isoladas divergem por frames cognitivos diferentes, e depois um critic separado pontua, agrupa, poda armadilhas e aprofunda as ideias sobreviventes. Este guia foca no mecanismo, nos limites e nos pontos em que vale usar esse Skill.
O que é ADHD (não é truque de prompt)
O posicionamento do ADHD é específico: tentar corrigir convergência prematura em raciocínio autorregressivo, não jogar mais palavras de incentivo em um prompt.
Modelos autorregressivos geram um token por vez. Quando os primeiros passos escolhem uma direção, o restante da resposta tende a se construir ao redor dela. Isso é eficiente, mas em tarefas abertas de engenharia o efeito colateral aparece: a primeira resposta plausível vira a âncora. O modelo escorrega para o caminho mais comum, mais “de manual”. Essa resposta costuma ser boa o suficiente, e também costuma perder a opção menos óbvia que teria mais valor.
Prompts normais podem pedir ao modelo para “comparar várias opções”, “pensar por diferentes ângulos” ou “não concluir cedo demais”. O problema é que essas branches ainda compartilham o mesmo contexto. O modelo gera e avalia no mesmo espaço. Quando uma direção inicial aparece, as branches seguintes têm dificuldade para escapar dela.
ADHD escolhe um caminho mais duro. A fase de divergência vira N chamadas Agent SDK totalmente isoladas. Cada branch vê apenas o problema original, um frame cognitivo e um system prompt que proíbe avaliação. As branches não compartilham contexto. Depois, a fase Focus usa uma chamada critic separada para pontuar, agrupar, podar e aprofundar os resultados.
Em uma frase: CoT faz uma mente pensar mais devagar, Tree-of-Thought faz uma mente buscar mais amplamente, e ADHD faz várias mentes pensarem diferente em paralelo antes de um critic escolher.
Mecanismo em duas etapas: uma parede dura entre Diverge e Focus
ADHD é construído em duas etapas: Phase 1 Diverge e Phase 2 Focus. Entre elas existe uma parede dura. A divergência proíbe avaliação; só a fase Focus pode convergir.

Phase 1 Diverge: N branches concorrentes isoladas
A primeira etapa escolhe N frames cognitivos, com N=5 por padrão, e depois inicia N queries Agent SDK isoladas em paralelo. Cada branch recebe apenas três entradas:
- O problema original.
- O prompt de ponto de vista de um frame, por exemplo reformular o problema por latência, layout de memória, regulação, on-call ou inversão.
- Um system prompt que proíbe avaliação, ranking e hesitação.
As branches não conseguem se ver. A branch de auditoria regulatória não lê o que a branch speedrunner escreveu. A branch hardware engineer não é ancorada pela branch de uma criança de 10 anos. Cada branch é uma sessão stateless independente, então a ancoragem não é suprimida por disciplina do modelo; ela é removida pela estrutura.
A concorrência é controlada por um semaphore, com concurrency=4 por padrão. O custo em tokens cresce linearmente com o número de branches: O(N×cada branch), não N², porque branches posteriores não releem todo o conteúdo das branches anteriores.
Phase 2 Focus: uma chamada critic separada
A segunda etapa muda para uma chamada critic separada. Ela faz três coisas:
- score: pontua cada branch por novelty, viability e fit em uma escala de 0 a 10, com razões mecanísticas para armadilhas.
- cluster: agrupa ideias pelo ângulo de fundo, não por keywords superficiais.
- deepen top-K: aprofunda por padrão K=3 ideias sobreviventes, com esboços, riscos portantes, primeira ação e 3 a 5 subideias.
A decisão importante é a separação mecânica entre generator e critic. A fase generator não deve avaliar; a fase critic deve avaliar. Não são duas promessas dentro de um chat, mas chamadas API separadas com system prompts diferentes e posturas opostas.
A forma da chamada de uma branch isolada se parece com isto:
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 ?? ""}`,
}),
),
),
);
Voltando ao exemplo de retry/timeout. Uma resposta baseline tende a produzir um híbrido padrão: 15 segundos para timeout do primeiro token, 30 segundos entre tokens, limite duro de 90 segundos e uma nova tentativa automática. O valor do ADHD não é deixar essa resposta mais longa. Ele pode trazer uma opção extra como “deixar o botão mais urgente quanto mais a espera cresce, permitindo cancelar e relançar em um modelo mais rápido”, enquanto também marca, antes de qualquer implementação, ideias curiosas mas perigosas como “streaming de tokens ao contrário” ou “cobrar pela paciência”.
Comparação estrutural com CoT e ToT
| Dimensão | Chain-of-Thought (CoT) | Tree-of-Thought (ToT) | ADHD |
|---|---|---|---|
| Threads | Linha única | Árvore única | N branches paralelas isoladas |
| Contexto compartilhado | yes, totalmente compartilhado | yes, geralmente parcialmente compartilhado | no, isolamento duro |
| generator/critic | Avaliação síncrona em um contexto | O mesmo modelo alterna geração e avaliação | Etapas separadas, chamadas separadas, postura oposta |
| Motor de branch | Sem branch explícita | Variações do próximo passo | Frames cognitivos que reformulam o problema inteiro |
| Paralelismo | Nenhum | Geralmente sequencial | Concorrência real, controlada por semaphore |
| Melhor encaixe | Lógica de múltiplos passos e matemática | Busca, planejamento, puzzles | Design e ideação de engenharia abertos |
Três diferenças portantes
Primeiro, ADHD é isolamento, não busca. Branches de ToT ainda se desdobram dentro de uma árvore, onde nodes iniciais influenciam os posteriores. Branches de ADHD não se veem durante a divergência, então a ancoragem é removida por construção.
Segundo, ADHD usa frames em vez de variações do próximo passo. ToT costuma expandir “qual deve ser o próximo movimento?”. ADHD reformula o problema inteiro a partir de outra posição cognitiva. Não ajusta só um parâmetro; reconsidera a tarefa por latência, restrições físicas, responsabilidade regulatória ou pressão de on-call às 3 da manhã.
Terceiro, a separação generator-critic é mecânica, não uma promessa. Dizer “ainda não avalie” dentro de um único contexto não impede o modelo de comparar ideias enquanto as gera. ADHD separa esse trabalho por chamadas diferentes, system prompts diferentes e posturas diferentes.
Um esclarecimento importa: frame não é persona. Uma persona diz “você é esse tipo de pessoa”. Um frame diz “reformule este problema com essas restrições e esse vocabulário”. O primeiro muda um rótulo de identidade; o segundo muda o enquadramento do problema.
Os 15 frames cognitivos e como personalizar
ADHD vem com 15 frames cognitivos que dobram o mesmo problema em direções diferentes. codeMode favorece por padrão perspectivas de código e design, e cada execução mantém um wild slot para a divergência não ficar organizada demais.
Exemplos de frames integrados
| frame | ponto de vista |
|---|---|
| Hardware engineer | Pensar por latência, layout de memória e restrições físicas |
| Regulatory audit | Pensar por compliance, risco e responsabilidade |
| 10-year-old child | Pensar com linguagem simples e lógica simples |
| Competitor trying to break it | Pensar de forma adversarial sobre vulnerabilidades e pontos fracos |
| Biology | Pensar por evolução, ecossistemas e restrições metabólicas |
| Logistics | Pensar por supply chain, armazenagem e restrições de transporte |
| Game design | Pensar por experiência do jogador, balanceamento e feedback loops |
| Market | Pensar por pricing, concorrência e posicionamento |
| Inversion | Trabalhar de trás para frente a partir do resultado desejado |
| $0 or infinite budget | Pensar sob restrições extremas de orçamento |
| Remove load-bearing assumptions | Remover o que você está tratando como óbvio |
| Speedrunner | Chegar ao objetivo com o menor número de passos |
| Ant colony | Pensar em coordenação distribuída e sem centro |
| 3 a.m. on-call | Pensar sob urgência, cansaço e recursos limitados |
| wild slot | Manter um ponto de vista aleatório |
Regras de seleção
- O mesmo problema com o mesmo seed seleciona o mesmo conjunto de frames, tornando as execuções reproduzíveis.
- codeMode favorece por padrão frames de code/design, então uma tarefa de engenharia não é entregue apenas a metáforas irrelevantes.
- Cada execução mantém um wild slot, dando ao sistema uma chance de escapar de um conjunto de frames organizado demais.
Frames personalizados
Um frame personalizado não precisa ser longo. Ele precisa realmente mudar o problema. Um bom frame atende a pelo menos duas destas três regras:
- Tem vocabulário distintivo, não apenas “pensar por vários ângulos”.
- Tem postura distintiva, como adversarial, construtiva, ingênua ou extremamente restrita.
- Tem uma distorção reproduzível que muda de forma confiável a direção do raciocínio.
Para um produto de assinatura, por exemplo:
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"
Isso não apenas rotula o modelo como “growth lead”. Empurra o problema para restrições de retention, churn e lifetime value.
Quando usar e quando não usar
ADHD é uma ferramenta para pontos de decisão, não para cada tecla. Um teste simples funciona bem: se uma pessoa desenvolvedora junior consegue achar no Google, a baseline ganha. Se uma pessoa senior pararia para dizer “deixa eu olhar por outro ângulo”, ADHD entra no jogo.
Cenários adequados
| Cenário | Por que encaixa |
|---|---|
| Decisões de arquitetura/design | Alto custo, vários ângulos, armadilhas fáceis de perder |
| Design de interface API/SDK/CLI | Usuários chegam com mental models diferentes |
| Naming | Termos carregam ambiguidades entre papéis |
| Depuração difusa | A causa raiz não está clara; hipóteses vêm antes da verificação |
| Planos de migração e refatoração | Performance, segurança, compatibilidade e ritmo de rollout entram em conflito |
| Code review ampliada | Você quer simular preocupações de reviewers diferentes |
| Estratégia e pricing | Restrições de negócio se beneficiam de frames adversariais e de mercado |
Cenários inadequados
| Cenário | Por que não encaixa |
|---|---|
| Busca de fatos | Uma resposta correta; divergência não é necessária |
| Bug com causa conhecida | A cadeia causal já está clara, e divergência atrasa a correção |
| Respostas fáceis de buscar | Uma baseline é mais rápida e barata |
| Trabalho de loop interno / por tecla | Um atraso de 30 a 90 segundos é inaceitável |
| Problemas com uma única resposta correta | Mais branches não adicionam informação útil |
Instalação e ativação
Revise o Skill de terceiros antes de instalar. No mínimo, leia o SKILL.md: o que ele pede ao Agent, se pode executar comandos externos e se pode tocar diretórios importantes para você. A checklist do guia de revisão de segurança de Skills do OpenClaw é um bom ponto de partida.
Instalação geral
O comando geral de instalação é:
npx skills add UditAkhourii/adhd
Ele detecta automaticamente cerca de 50 Agents, incluindo Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI e Windsurf, e instala o arquivo de Skill correspondente.
Instalação específica para Codex
Se o comando geral não registrar o Skill no Codex, force o alvo:
npx skills add UditAkhourii/adhd -a codex -g
Você também pode instalar manualmente:
curl -o ~/.codex/skills/adhd/SKILL.md https://raw.githubusercontent.com/UditAkhourii/adhd/main/SKILL.md
Depois de uma instalação manual, reinicie o Codex para recarregar o diretório de Skills.
Ativação
Ative com:
/adhd "problema"
Por exemplo:
/adhd "Uma chamada CLI para um LLM congela às vezes por 90s. Como desenhar retry/timeout/UX?"
Não conecte isso a cada autocompletar. O melhor uso é ativar explicitamente em pontos de arquitetura, design de interface, naming ou depuração difusa.
Custo e valor
Dados de custo
| Dimensão | Dados |
|---|---|
| Chamadas LLM | Cerca de 10: N=5 em divergência + 1 passada de scoring + 1 passada de clustering + K=3 passadas de deepening |
| Tempo | Geralmente 30 a 90 segundos |
| Multiplicador de custo | 5 a 10 vezes uma chamada única |
| Custo em tokens | O(N×cada branch), crescimento linear, não N² |
Posicionamento de valor
O posicionamento do projeto é: gastar algo em torno de US$ 0,30 para apoiar uma decisão de arquitetura de US$ 50.000. Isso não é argumento para rodar ADHD em cada pequena dúvida. É um lembrete de que uma decisão aberta de engenharia errada pode custar muito mais que uma única execução de raciocínio multi-branch.
Em projetos reais, o custo de contexto também importa. No Claude Code ou em uma sessão Agent parecida, cada branch pode recarregar o contexto base do projeto, instruções de ferramentas e regras do repositório. O custo algorítmico puro é O(N×cada branch), mas a conta prática fica mais perto de N×(contexto base + trabalho da branch). Por isso, é ferramenta para “devemos desenhar assim?”, não para “qual é a próxima linha de código?”.
Como ler os resultados de eval
O projeto ADHD publica uma autoavaliação: seis tarefas abertas de engenharia, mesmo modelo, julgamento LLM independente e ordem A/B aleatória. Mantenha esse escopo visível. Não é benchmark acadêmico de terceiros nem avaliação humana.
Comparação em cinco dimensões
| Dimensão | ADHD | baseline | Ganho |
|---|---|---|---|
| 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 |
Cuidado com o enquadramento da avaliação
Esses números ajudam a ver uma direção, não a fazer afirmações autoritárias de benchmark. Eles não provam que ADHD vence toda estratégia de raciocínio. Sustentam uma leitura mais estreita: em prompts abertos de engenharia, divergência isolada mais critic separado podem mudar de forma visível breadth, novelty e trap detection.
Então não escreva como “performance líder em benchmarks”. A frase mais segura é: na autoavaliação do projeto em seis tarefas abertas de engenharia, ADHD venceu cinco, com a maior diferença em trap detection. Com a fronteira factual clara, a pessoa leitora decide quanto peso dar a esses números.
Conclusão
ADHD é interessante não porque deixa respostas mais longas, mas porque transforma “pensar diferente” em estrutura: branches ficam isoladas, frames reformulam o problema e um critic separado poda os resultados. Essa estrutura combina com uma fraqueza comum de Coding Agents em tarefas abertas de engenharia: convergir cedo demais para a primeira resposta que parece certa.
Use em pontos de decisão, não em loops cotidianos por tecla. Arquitetura, interfaces, naming, migrações e depuração difusa valem 30 a 90 segundos extras. Busca de fatos, bugs com causa conhecida e boilerplate de uma linha ficam melhor com um Agent baseline.
Se você está organizando sua toolchain de AI coding, leia o panorama de ferramentas de programação com IA em 2026 para ver onde esse tipo de Skill se encaixa. Para entender como organizar cadeias de raciocínio mais longas, o guia de arquitetura DeepAgents também ajuda.
Instalar e ativar ADHD no Codex ou Claude Code
Instale o Skill ADHD e ative raciocínio divergente paralelo em decisões de arquitetura, naming, depuração difusa ou outros pontos de alto valor.
- 1
Step1: Revisar primeiro o Skill de terceiros
Abra o SKILL.md do projeto e verifique o que ele pede ao Agent, quais comandos pode executar e se precisa de permissões adicionais. Não instale Skills de terceiros no escuro. - 2
Step2: Rodar o comando geral de instalação
Execute npx skills add UditAkhourii/adhd. O instalador detecta automaticamente cerca de 50 Agents, incluindo Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI e Windsurf. - 3
Step3: Forçar o alvo Codex se necessário
Se o comando geral não registrar o Skill no Codex, execute npx skills add UditAkhourii/adhd -a codex -g ou baixe SKILL.md manualmente para ~/.codex/skills/adhd/. - 4
Step4: Ativar em um ponto de decisão
Use /adhd "seu problema". Priorize arquitetura, design de interfaces, naming e depuração difusa. Não ative para busca de fatos nem para autocompletar por tecla.
FAQ
Qual é a diferença entre ADHD e Tree-of-Thought?
ADHD precisa do Claude ou pode usar modelo local?
Quanto custa uma execução de ADHD e quanto tempo demora?
Quais tarefas deveriam usar ADHD e quais não deveriam?
Como instalar e ativar no Codex ou Claude Code?
Frame é só um prompt de persona?
12 min de leitura · Publicado em: 8 jun 2026 · Atualizado em: 24 jun 2026
Caixa de ferramentas de AI Agents
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
female-portrait-director: transforme prompts de retrato com IA em um Skill reutilizável
female-portrait-director é um projeto open source que transforma prompts de retrato com IA em um Skill estruturado e reutilizável. Veja bloqueio de parâmetros, roteamento sob demanda, expansão em estilo de direção, limites de segurança e um método em 5 passos para criar seu próprio Skill de prompts.
Parte 3 de 4
Próximo
Este é o post mais recente da série até agora.
Posts relacionados
Continuum: o que verificar ao escolher um agent runtime compatível com OpenAI
Continuum: o que verificar ao escolher um agent runtime compatível com OpenAI
guizang-social-card-skill: gere cards sociais com Claude Code
guizang-social-card-skill: gere cards sociais com Claude Code
Como usar o Codex: guia completo para começar com CLI, extensão de IDE, Codex Cloud e app desktop
Comentários
Entre com GitHub para comentar