Um harness para cada tarefa: fluxos de trabalho dinâmicos no Claude Code

@trq212
INGLÊShá 1 mês · 02 de jun. de 2026
2.8M
9.6K
1.2K
231
22.5K

TL;DR

A Anthropic apresenta fluxos de trabalho dinâmicos para o Claude Code, permitindo que a IA gere harnesses personalizados em JavaScript que orquestram subagentes para resolver tarefas complexas de várias etapas, evitando falhas comuns de IA.

Na semana passada, lançamos fluxos de trabalho dinâmicos no Claude Code. Agora, o Claude pode criar seu próprio harness dinamicamente, sob medida para a tarefa em questão.

Embora o harness padrão do Claude Code seja feito para programação, ele também é útil para muitos outros tipos de tarefas, pois, como se vê, muitas tarefas se assemelham a tarefas de codificação. Mas existem certas classes de tarefas para as quais tivemos que construir harnesses personalizados sobre o Claude Code para atingir o desempenho máximo, como Pesquisa, análise de segurança, equipes de agentes ou Revisão de Código.

Os workflows permitem criar harnesses dinamicamente que possibilitam ao Claude resolver todos esses problemas e muito mais nativamente dentro do Claude Code. Você também pode compartilhar e reutilizar esses workflows com outras pessoas.

Neste artigo, abordarei minhas primeiras experiências e aprendizados com workflows para que você possa aproveitá-los ao máximo.

Dito isso, as melhores práticas ainda estão em desenvolvimento! Workflows dinâmicos geralmente usam mais tokens, então pense cuidadosamente sobre quando e como usá-los.

Nota: este post também está disponível no Blog do Claude

Exemplos de prompts

Antes de mergulharmos nos detalhes técnicos, gostaria de começar com alguns exemplos de prompts para instigar sua imaginação sobre as possibilidades com workflows:

  • "Este teste falha aproximadamente 1 em 50 execuções. Crie um workflow para reproduzi-lo, formular teorias e testá-las adversarialmente em worktrees /goal não pare até que uma teoria funcione."
  • "Usando um workflow, percorra minhas últimas 50 sessões e extraia correções que continuo fazendo, transformando as recorrentes em regras no CLAUDE.md"
  • "Use um workflow para vasculhar #incidents no Slack dos últimos seis meses e encontrar causas raiz recorrentes para as quais ninguém abriu um ticket."
  • "Pegue meu plano de negócios e execute um workflow onde diferentes agentes o analisem criticamente sob a perspectiva de um investidor, um cliente e um concorrente."
  • "Aqui está uma pasta com 80 currículos; use um workflow para classificá-los para a vaga de back-end e verifique novamente os dez primeiros. Entreviste-me usando a ferramenta AskUserQuestion para criar uma rubrica."
  • "Preciso de um nome para esta ferramenta de linha de comando. Use um workflow para gerar várias opções e execute um torneio para escolher as 3 melhores."
  • "Use um workflow para renomear nosso modelo User para Account em todos os lugares."
  • "Percorra o rascunho do meu post no blog e, usando um workflow, verifique cada afirmação técnica em relação ao código base; não quero publicar nada errado."

Como funcionam os workflows dinâmicos

Os workflows dinâmicos executam um arquivo JavaScript com algumas funções especiais que ajudam a criar e coordenar subagentes:

Thariq - inline image

Os workflows dinâmicos também incluem funções JavaScript padrão como JSON, Math e Array, para ajudar a processar dados.

É particularmente útil saber que workflows dinâmicos podem decidir quais modelos um agente usa e se os subagentes são executados em seu próprio worktree, permitindo que o Claude escolha o nível de inteligência e isolamento necessário.

Se um workflow for interrompido, por exemplo, por uma ação do usuário ou ao fechar o terminal, retomar a sessão permitirá que o workflow continue de onde parou.

Por que workflows dinâmicos

Quando você pede ao harness padrão do Claude Code para realizar uma tarefa, ele precisa planejar e executar na mesma janela de contexto. Para muitas tarefas de codificação, isso é altamente eficaz, mas pode às vezes falhar em tarefas longas, massivamente paralelas e/ou altamente estruturadas e adversariais.

Isso ocorre porque, quanto mais o Claude trabalha em uma tarefa complexa em uma única janela de contexto, mais ele se torna suscetível a alguns modos de falha específicos:

  • Preguiça agentiva refere-se a quando o Claude para antes de concluir uma tarefa particularmente complexa e de múltiplas partes e declara o trabalho concluído após um progresso parcial, por exemplo, abordando 20 dos 50 itens em uma revisão de segurança.
  • Viés autopreferencial refere-se à tendência do Claude de preferir seus próprios resultados ou descobertas, especialmente quando solicitado a verificá-los ou julgá-los de acordo com uma rubrica.
  • Desvio de objetivo refere-se à perda gradual de fidelidade ao objetivo original ao longo de muitas interações, especialmente após a compactação. Cada etapa de sumarização é lossy, e detalhes como requisitos de casos extremos ou restrições do tipo "não faça X" podem se perder.

Criar um workflow ajuda a combater esses problemas orquestrando Claudes separados com suas próprias janelas de contexto e objetivos focados e isolados.

Workflows dinâmicos vs. estáticos

Você pode ter criado anteriormente um workflow estático usando o Claude Agent SDK ou claude -p para coordenar várias instâncias do Claude Code juntas.

Mas, como os workflows estáticos precisam funcionar para todos os casos extremos, eles geralmente são mais genéricos. Com o Claude Opus 4.8 e os workflows dinâmicos, o Claude agora é inteligente o suficiente para escrever um harness personalizado sob medida para o seu caso de uso.

Thariq - inline image

Padrões úteis ao usar workflows dinâmicos

Você pode começar a usar workflows dinâmicos simplesmente pedindo ao Claude para criar um, ou usando a palavra de gatilho "ultracode" para garantir que o Claude Code crie um workflow.

Mas construir um modelo mental de como os workflows dinâmicos funcionam ajudará você a entender quando usá-los e como pode direcionar o Claude por meio de prompts.

Existem alguns padrões comuns que o Claude pode usar e combinar ao construir workflows:

Thariq - inline image

Classificar e agir

Use um agente classificador para decidir o tipo de tarefa e então direcione para diferentes agentes ou comportamentos com base na tarefa. Ou use um classificador no final para determinar a saída.

Expandir e sintetizar

Divida uma tarefa em muitas etapas menores, execute um agente em cada etapa e depois sintetize esses resultados. Isso é particularmente útil quando há um grande número de etapas menores, ou quando cada etapa se beneficia de sua própria janela de contexto limpa para que não interfiram ou se contaminem. A etapa de síntese é uma barreira — ela espera que todos os agentes de expansão terminem e então mescla suas saídas estruturadas em um único resultado.

Verificação adversarial

Para cada agente gerado, execute um agente separado para verificar adversarialmente sua saída em relação a uma rubrica ou critério.

Gerar e filtrar

Gere várias ideias sobre um tópico e depois filtre-as por uma rubrica ou por verificação, remova duplicatas e retorne apenas as ideias de maior qualidade e testadas.

Torneio

Em vez de dividir o trabalho, faça com que os agentes compitam nele. Crie N agentes que tentem a mesma tarefa usando abordagens diferentes. Em seguida, prompts ou modelos julgam os resultados de forma pareada usando um agente julgador até que haja um vencedor.

Repetir até concluir

Para tarefas com quantidade desconhecida de trabalho, repita a criação de agentes até que uma condição de parada seja atendida (sem novas descobertas ou sem mais erros nos logs) em vez de um número fixo de passes.

Casos de uso

Pense de forma criativa sobre quando e como pedir ao Claude Code para criar workflows dinâmicos. Descobri que os workflows às vezes são ainda mais úteis para trabalhos não técnicos.

Thariq - inline image

Migrações e refatorações

O Bun foi reescrito de Zig para Rust usando workflows. Você pode ler mais sobre como isso foi feito no thread do Jarred no X.

O segredo é dividir a tarefa em uma série de etapas que precisam ser operadas, por exemplo, locais de chamada, testes com falha, módulos etc. Crie um subagente para cada correção em um worktree para fazer a correção, depois tenha outro agente para revisar adversarialmente e mesclar. Considere instruir o agente a não usar comandos que consomem muitos recursos para que você possa paralelizar ao máximo sem ficar sem recursos na sua máquina.

Pesquisa aprofundada

Publicamos uma habilidade de pesquisa aprofundada (/deep-research) dentro do Claude Code que usa workflows dinâmicos. Especificamente, ela expande pesquisas na web, busca fontes, verifica adversarialmente suas afirmações e sintetiza um relatório com citações.

Mas você pode fazer esse tipo de pesquisa para mais do que apenas pesquisas na web. Por exemplo, pedir ao Claude para compilar um relatório de status a partir do contexto no Slack ou pesquisar como um recurso funciona explorando um código base em profundidade.

Verificação aprofundada

Thariq - inline image

Por outro lado, se você tem um relatório onde deseja verificar e referenciar cada afirmação factual mencionada, pode querer gerar um workflow que tenha um agente identificando todas as afirmações factuais e, em seguida, crie subagentes para verificar cada uma em detalhes. Você também pode ter um agente de verificação que examine o subagente de fonte para garantir que sua fonte seja de alta qualidade.

Classificação

Thariq - inline image

Você pode ter uma lista de itens que deseja classificar por alguma medida qualitativa que acredita que o Claude Code é bom em avaliar, por exemplo: tickets de suporte classificados por gravidade do bug. Mas se você tentar classificar mais de 1000 linhas em um único prompt, a qualidade degrada e não cabe no contexto. Em vez disso, execute um torneio, um pipeline de agentes de comparação pareada (julgamento comparativo é mais confiável do que pontuação absoluta) ou classifique por buckets em paralelo e depois mescle. Cada comparação é seu próprio agente, então o loop determinístico mantém a chave e apenas a ordem de execução permanece no contexto.

Memória e adesão a regras

Thariq - inline image

Se você tem um conjunto específico de regras que o Claude parece ignorar ou ter dificuldade, mesmo quando colocadas nos CLAUDE.md, crie um workflow com uma lista de regras que devem ser verificadas por agentes verificadores — um verificador por regra. Criar um subagente com persona cética para revisar as regras e garantir que estejam alinhadas ajudará a evitar muitos falsos positivos.

O caminho inverso também funciona: extraia de suas sessões recentes e comentários de revisão de código as correções que você continua fazendo, agrupe-as com agentes paralelos, verifique adversarialmente cada candidato (essa regra teria evitado um erro real?) e então destile os sobreviventes de volta para um CLAUDE.md.

Investigação de causa raiz

Depuração funciona melhor quando você cria várias hipóteses independentes e as testa, mas se você estiver usando apenas uma janela de contexto, o Claude pode cair em viés autopreferencial.

Um workflow pode evitar isso estruturalmente criando agentes para gerar hipóteses a partir de evidências desconexas. Por exemplo, agentes separados para logs, arquivos e dados. Cada hipótese pode então enfrentar um painel de verificadores e refutadores.

Isso não é apenas para código. Workflows podem ser usados para vendas (por que as vendas caíram em março?), engenharia de dados (por que este pipeline falhou?) ou qualquer exercício de post-mortem.

Triagem em escala

Thariq - inline image

Toda equipe tem uma fila de suporte, relatórios de bugs ou algum outro backlog que não pode ser totalmente processado por humanos.

Um workflow de triagem classifica cada item, remove duplicatas do que já está registrado e toma uma ação. Isso pode significar tentar a correção ou escalar para um usuário humano.

Um padrão útil para workflows de triagem é a quarentena. Isso envolve impedir que os agentes que leem conteúdo público não confiável realizem ações de alto privilégio, que são feitas pelos agentes responsáveis por agir com base na informação.

Combine workflows de triagem com /loop para fazer o Claude fazer isso continuamente.

Exploração e bom gosto

Workflows podem ser úteis ao explorar diferentes abordagens para uma solução, especialmente quando é baseada em gosto, como design ou nomenclatura, e se beneficiaria de uma rubrica.

Tente pedir ao Claude para explorar várias soluções e dê a um agente de revisão uma rubrica do que constitui uma boa solução. A tarefa está completa quando o agente de revisão sentir que os critérios foram atendidos. As soluções também podem ser ordenadas ou selecionadas por meio de um torneio baseado na rubrica.

Avaliações

Você pode executar avaliações leves para tarefas específicas criando agentes separados em um worktree e, em seguida, criando agentes de comparação para comparar e classificar as saídas específicas em relação a uma rubrica. Por exemplo, avaliar e depois refinar uma habilidade que você criou em relação a um critério específico.

Roteamento de modelo e inteligência

Crie um agente classificador ajustado às suas tarefas que decida qual modelo usar. Isso pode ser útil quando sua tarefa envolver muitas chamadas de ferramentas e a realização de pesquisa antes da execução pode identificar o melhor modelo para o trabalho.

Por exemplo, o melhor modelo para a tarefa "explique como o módulo de autenticação funciona" depende de quantos arquivos existem no módulo de autenticação e da forma do código base. Um agente classificador pode fazer essa pesquisa e então direcionar para Sonnet ou Opus com base na complexidade esperada da tarefa.

Quando não usar workflows dinâmicos

Workflows são novos. Embora existam muitos casos de uso em que eles gerarão resultados excepcionais, não são necessários para todas as tarefas e podem acabar usando significativamente mais tokens.

É melhor usar workflows de forma criativa para impulsionar o Claude Code de maneiras que você não fez antes. Para tarefas regulares de codificação, tente se perguntar: isso realmente precisa de mais computação? Por exemplo, a maioria das tarefas tradicionais de codificação não precisa de um painel de 5 revisores.

Dicas para construir workflows dinâmicos

Criação de prompts

Prompts detalhados, usando as técnicas específicas que descrevemos acima, para workflows dinâmicos geram os melhores resultados.

Workflows não são apenas para tarefas grandes. Você pode instruir o modelo a usar um "workflow rápido". Por exemplo, você pode criar uma revisão adversarial rápida de uma suposição.

Combine com /goal e /loop

Ao usar workflows que podem ser repetidos, por exemplo, triagem, pesquisa ou verificação, combine-os com /loop para serem executados em intervalos regulares e com /goal para definir um requisito de conclusão rigoroso.

Orçamentos de uso de tokens

Você pode definir orçamentos explícitos de uso de tokens para workflows dinâmicos para limitar quantos tokens uma tarefa usa. Você pode instruí-lo com um orçamento como: "use 10 mil tokens", que definirá o limite.

Salvando e compartilhando workflows dinâmicos

Você pode salvar workflows pressionando "s" no menu do workflow. Você pode armazená-los em ~/.claude/workflows ou distribuí-los por meio de uma skill.

Thariq - inline image

Para compartilhá-los por meio de uma skill, coloque seus arquivos JavaScript de workflow na pasta da skill e referencie-os no SKILL.MD. Para permitir mais flexibilidade, você pode instruir o Claude a pensar nos workflows da skill como um modelo, em vez de um script que precisa ser executado literalmente.

Thariq - inline image

Um mundo totalmente novo

Workflows são uma nova maneira útil de estender o Claude Code. Encorajo você a pensar nisso como um ponto de partida; ainda há muito a descobrir sobre como usá-los da melhor forma. Conte-nos o que você encontrar.

Thariq Shihipar e Sid Bidasaria (@sidbid) são membros da equipe técnica da Anthropic, trabalhando no Claude Code.

https://x.com/jarredsumner/status/2060050578026189172

Salvar com um clique

Faça leitura profunda de artigos virais com IA no YouMind

Salve a fonte, faça perguntas específicas, resuma o argumento e transforme um artigo viral em notas reutilizáveis em um único espaço de trabalho com IA.

Explorar o YouMind
Para criadores

Transforme seu Markdown em um artigo 𝕏 impecável

Quando você publica seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown em um artigo 𝕏 impecável e pronto para publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais