Alterar idioma
Alternar tema

ADHD para Coding Agents: um motor de raciocínio paralelo no estilo Tree-of-Thought

Cerca de 10
Chamadas LLM padrão
N=5 em divergência, mais uma passada de scoring, uma de clustering e K=3 passadas de deepening.
30-90 segundos
Tempo wall-clock típico
Útil em pontos de decisão, não em loops por tecla.
5-10x
Custo frente a uma chamada única
O custo em tokens cresce linearmente com o número de branches, não ao quadrado.
9.00 / 4.83
Breadth (ADHD / baseline)
Cerca de 1,9x na autoavaliação do projeto.
7.83 / 2.67
Novelty (ADHD / baseline)
Cerca de 2,9x na autoavaliação do projeto.
9.50 / 1.83
Trap detection (ADHD / baseline)
A maior diferença na autoavaliação do projeto, cerca de 5,2x.
数据来源: Evals autodeclarados do projeto ADHD: seis tarefas abertas de engenharia, mesmo modelo, julgamento LLM independente e ordem A/B aleatória. Não é benchmark de terceiros.

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

Fluxo de ADHD em duas etapas: várias branches isoladas divergem em paralelo, uma parede dura as separa de um critic separado que pontua e poda

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:

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

  1. score: pontua cada branch por novelty, viability e fit em uma escala de 0 a 10, com razões mecanísticas para armadilhas.
  2. cluster: agrupa ideias pelo ângulo de fundo, não por keywords superficiais.
  3. 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ãoChain-of-Thought (CoT)Tree-of-Thought (ToT)ADHD
ThreadsLinha únicaÁrvore únicaN branches paralelas isoladas
Contexto compartilhadoyes, totalmente compartilhadoyes, geralmente parcialmente compartilhadono, isolamento duro
generator/criticAvaliação síncrona em um contextoO mesmo modelo alterna geração e avaliaçãoEtapas separadas, chamadas separadas, postura oposta
Motor de branchSem branch explícitaVariações do próximo passoFrames cognitivos que reformulam o problema inteiro
ParalelismoNenhumGeralmente sequencialConcorrência real, controlada por semaphore
Melhor encaixeLógica de múltiplos passos e matemáticaBusca, planejamento, puzzlesDesign 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

frameponto de vista
Hardware engineerPensar por latência, layout de memória e restrições físicas
Regulatory auditPensar por compliance, risco e responsabilidade
10-year-old childPensar com linguagem simples e lógica simples
Competitor trying to break itPensar de forma adversarial sobre vulnerabilidades e pontos fracos
BiologyPensar por evolução, ecossistemas e restrições metabólicas
LogisticsPensar por supply chain, armazenagem e restrições de transporte
Game designPensar por experiência do jogador, balanceamento e feedback loops
MarketPensar por pricing, concorrência e posicionamento
InversionTrabalhar de trás para frente a partir do resultado desejado
$0 or infinite budgetPensar sob restrições extremas de orçamento
Remove load-bearing assumptionsRemover o que você está tratando como óbvio
SpeedrunnerChegar ao objetivo com o menor número de passos
Ant colonyPensar em coordenação distribuída e sem centro
3 a.m. on-callPensar sob urgência, cansaço e recursos limitados
wild slotManter 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:

  1. Tem vocabulário distintivo, não apenas “pensar por vários ângulos”.
  2. Tem postura distintiva, como adversarial, construtiva, ingênua ou extremamente restrita.
  3. 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árioPor que encaixa
Decisões de arquitetura/designAlto custo, vários ângulos, armadilhas fáceis de perder
Design de interface API/SDK/CLIUsuários chegam com mental models diferentes
NamingTermos carregam ambiguidades entre papéis
Depuração difusaA causa raiz não está clara; hipóteses vêm antes da verificação
Planos de migração e refatoraçãoPerformance, segurança, compatibilidade e ritmo de rollout entram em conflito
Code review ampliadaVocê quer simular preocupações de reviewers diferentes
Estratégia e pricingRestrições de negócio se beneficiam de frames adversariais e de mercado

Cenários inadequados

CenárioPor que não encaixa
Busca de fatosUma resposta correta; divergência não é necessária
Bug com causa conhecidaA cadeia causal já está clara, e divergência atrasa a correção
Respostas fáceis de buscarUma baseline é mais rápida e barata
Trabalho de loop interno / por teclaUm atraso de 30 a 90 segundos é inaceitável
Problemas com uma única resposta corretaMais 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ãoDados
Chamadas LLMCerca de 10: N=5 em divergência + 1 passada de scoring + 1 passada de clustering + K=3 passadas de deepening
TempoGeralmente 30 a 90 segundos
Multiplicador de custo5 a 10 vezes uma chamada única
Custo em tokensO(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ãoADHDbaselineGanho
breadth9.004.831.9x
novelty7.832.672.9x
trap detection9.501.835.2x
actionability9.506.501.5x
builder usefulness7.676.831.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. 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. 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. 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. 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 pode ser visto como uma variação de Tree-of-Thought, mas transforma isolamento de branches, exploração por frames e separação generator/critic em restrições estruturais. ToT normalmente expande o próximo passo dentro de um contexto ou árvore compartilhada. ADHD torna cada branch invisível para as outras e reformula o problema inteiro a partir de outro frame cognitivo.
ADHD precisa do Claude ou pode usar modelo local?
ADHD é construído sobre os Agent SDKs do Claude e do Codex, e por padrão usa modelos do tipo Claude. Não é uma ferramenta local pronta para uso. Se você quiser conectar Ollama ou outro modelo local, precisa adaptar a camada de chamada por conta própria.
Quanto custa uma execução de ADHD e quanto tempo demora?
O projeto descreve a execução padrão como cerca de 10 chamadas LLM, geralmente 30 a 90 segundos de wall clock e 5 a 10 vezes o custo de uma chamada única. O posicionamento é gastar algo em torno de US$ 0,30 para apoiar uma decisão de arquitetura de US$ 50.000. Isso é ordem de grandeza, não preço fixo.
Quais tarefas deveriam usar ADHD e quais não deveriam?
Arquitetura, design de interfaces API/SDK/CLI, naming, depuração difusa, planejamento de migração e code review ampliada são bons casos. Procurar uma API, corrigir bug com causa conhecida, responder algo fácil de buscar ou trabalhar em loop por tecla são maus casos.
Como instalar e ativar no Codex ou Claude Code?
Instale com npx skills add UditAkhourii/adhd e ative com /adhd "problema". Se o Codex não detectar automaticamente, rode npx skills add UditAkhourii/adhd -a codex -g ou coloque SKILL.md manualmente em ~/.codex/skills/adhd/.
Frame é só um prompt de persona?
Não. Uma persona costuma pedir ao modelo que aja como alguém. Um frame é um operador de ponto de vista: ele reformula o problema inteiro a partir de latência, layout de memória, regulação, pressão de on-call, inversão ou outra restrição. Ele muda o enquadramento do problema, não só o rótulo do papel.

12 min de leitura · Publicado em: 8 jun 2026 · Atualizado em: 24 jun 2026

Posts relacionados

Comentários

Entre com GitHub para comentar