3 pontos por GN⁺ 3 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Fluxos de trabalho dinâmicos são um recurso em que o Claude Code escreve na hora um harness adequado à tarefa, tratando nativamente dentro do código harnesses personalizados que antes precisavam ser construídos separadamente
  • Executa arquivos JavaScript para criar e orquestrar subagentes (subagents), podendo escolher até o modelo que cada agente usará e se haverá isolamento por worktree
  • Evita estruturalmente modos de falha como agentic laziness, self-preferential bias, goal drift que surgem em uma única janela de contexto, usando contextos separados
  • Pode ser usado também em tarefas não técnicas além de programação, como migrações, deep research, ordenação, triagem e investigação de causa raiz
  • Consome muitos tokens, então não é necessário para toda tarefa, mas pode ser um ponto de partida para expandir o Claude Code de formas criativas

Visão geral dos fluxos de trabalho dinâmicos

  • Na semana passada, o Claude Code lançou fluxos de trabalho dinâmicos, permitindo que o Claude escreva na hora um harness adequado à tarefa
  • O harness padrão do Claude Code foi feito para programação, mas como muitas tarefas se parecem com tarefas de código, ele também é útil para outros tipos de trabalho
  • Research, security analysis, agent teams e Code Review já vinham alcançando melhor desempenho com harnesses personalizados construídos separadamente sobre o Claude Code
  • Os workflows resolvem esses problemas nativamente dentro do Claude Code e também permitem compartilhar e reutilizar com outras pessoas
  • As melhores práticas ainda estão evoluindo e, como o consumo de tokens é alto, é preciso pensar com cuidado em quando e como usar

Exemplos de prompts

  • "Este teste pode falhar cerca de 1 vez a cada 50 execuções. Crie um workflow para reproduzir isso. Levante várias hipóteses sobre a corrida e continue até chegar a uma hipótese válida com base nas evidências."
  • "Use um workflow para analisar as 50 sessões mais recentes, encontrar os pontos que estou corrigindo repetidamente e transformar as partes recorrentes em regras no CLAUDE.md"
  • "Use um workflow para analisar o #incidents do Slack dos últimos 6 meses e encontrar causas raiz recorrentes para as quais ninguém abriu ticket."
  • "Pegue meu plano de negócios e execute um workflow em que vários responsáveis o analisem minuciosamente da perspectiva de investidores, clientes e concorrentes."
  • "Aqui está uma pasta com 80 currículos. Use um workflow para ranquear os currículos adequados para uma vaga de backend e depois revise novamente os 10 melhores. Use a ferramenta AskUserQuestion para me entrevistar com base na matriz de critérios de avaliação."
  • "Precisamos dar um nome a esta ferramenta de CLI. Use um workflow para fazer brainstorming de várias opções e selecionar as 3 melhores em formato de torneio."
  • "Use um workflow para renomear o modelo User para Account em todos os lugares."
  • "Revise minuciosamente o rascunho do meu post de blog e use um workflow para confrontá-lo com o codebase e com todas as afirmações técnicas. Não quero publicar nada incorreto."

Como os fluxos de trabalho dinâmicos funcionam

  • Executam arquivos JavaScript com algumas funções especiais que ajudam a criar e orquestrar subagentes
  • Também incluem funções padrão de JavaScript como JSON, Math e Array para dar suporte ao processamento de dados
  • É possível definir a escolha do modelo que o agente usará e decidir se haverá isolamento por worktree para os subagentes; o Claude escolhe o nível de inteligência e isolamento necessário
  • Mesmo que o workflow seja interrompido por ação do usuário ou pelo fechamento do terminal, ele continua do ponto em que parou quando a sessão é retomada

Por que os fluxos de trabalho dinâmicos são necessários

  • O harness padrão faz planejamento e execução ao mesmo tempo em uma única janela de contexto; isso funciona bem para muitas tarefas de programação, mas tem limites em trabalhos longos, de grande paralelismo ou altamente estruturados e adversariais
  • Quanto mais tempo uma tarefa complexa roda em um único contexto, mais vulnerável ela fica a certos modos de falha
    • Agentic laziness: interrompe uma tarefa complexa e de várias etapas antes de concluí-la e declara conclusão após terminar só parcialmente (ex.: processa apenas 20 de 50 itens de uma revisão de segurança)
    • Self-preferential bias: tendência a preferir o próprio resultado ao validar ou julgar em relação a uma rubrica
    • Goal drift: perda gradual de fidelidade ao objetivo original ao longo de várias interações, especialmente após compaction, fazendo com que requisitos de edge case ou restrições como "não fazer X" se percam
  • Isso é evitado ao orquestrar vários Claude com janelas de contexto separadas e objetivos focados e isolados

Fluxos de trabalho dinâmicos vs. estáticos

  • Antes, já era possível escrever workflows estáticos para orquestrar várias instâncias do Claude Code com Claude Agent SDK ou claude -p
  • Workflows estáticos tendem a ser mais gerais, porque precisam lidar com todos os edge cases
  • Com Claude Opus 4.8 e os fluxos de trabalho dinâmicos, o Claude agora é inteligente o bastante para escrever por conta própria harnesses personalizados para cada caso de uso

Padrões de uso dos fluxos de trabalho dinâmicos

  • Você pode pedir ao Claude que gere um workflow ou usar a palavra-gatilho ultracode para garantir a criação de um workflow
  • Há padrões comuns que o Claude combina ao montar workflows
  • Classify-and-act

    • Um agente classificador identifica o tipo de tarefa e então a encaminha para agentes ou ações diferentes, ou usa um classificador no fim para decidir a saída
  • Fan-out-and-synthesize

    • Divide a tarefa em etapas menores, executa um agente para cada etapa e depois sintetiza os resultados
    • Útil quando há muitas etapas pequenas ou quando cada etapa se beneficia de uma janela de contexto limpa, evitando interferência mútua e contaminação cruzada
    • A etapa de synthesize funciona como uma barreira: espera todos os agentes do fan-out e depois combina tudo em uma única saída estruturada
  • Adversarial verification

    • Para cada agente gerado, executa outro agente separado para verificar adversarialmente sua saída em relação a uma rubrica ou critério
  • Generate-and-filter

    • Gera muitas ideias sobre um tema, depois filtra com rubricas e validação, remove duplicatas e retorna só as ideias validadas de maior qualidade
  • Tournament

    • Em vez de dividir a tarefa, os agentes competem: N agentes tentam a mesma tarefa com abordagens diferentes, e um agente julgador decide em pares até sair um vencedor
  • Loop until done

    • Quando o volume do trabalho é incerto, cria agentes repetidamente até que uma condição de parada seja atendida, em vez de usar um número fixo de repetições, como ausência de novas descobertas ou de erros no log

Casos de uso

  • Em alguns casos, workflows podem ser ainda mais úteis em tarefas não técnicas
  • Migrações e refatoração

    • O Bun foi reescrito de Zig para Rust com workflows; mais detalhes estão na thread do Jarred no X
    • O ponto-chave é decompor o trabalho em etapas como callsites, testes com falha e módulos
    • Para cada alteração, cria-se um subagente em um worktree, outro agente faz uma revisão adversarial e depois ocorre a mesclagem
    • Dá para instruir os agentes a evitar comandos intensivos em recursos para maximizar o paralelismo sem esgotar os recursos da máquina
  • Deep research

    • Foi disponibilizada a skill de deep research (/deep-research) que usa workflows dinâmicos para fazer fan-out de buscas na web, buscar fontes, verificar adversarialmente afirmações e sintetizar um relatório com citações
    • Além de buscas na web, também pode ser usada para escrever relatórios de status com contexto do Slack ou investigar em profundidade como um recurso funciona em um codebase
  • Verificação profunda

    • Para verificar e atribuir fontes a todas as afirmações factuais de um relatório, é possível criar um workflow em que um agente identifica todas as afirmações factuais e subagentes verificam cada uma detalhadamente
    • Agentes de verificação também podem avaliar a qualidade das fontes usadas pelos subagentes de origem
  • Ordenação

    • Útil para ordenar itens por critérios qualitativos, como tickets de suporte por gravidade do bug
    • Tentar ordenar mais de 1000 linhas em um único prompt degrada a qualidade e pode estourar o contexto; em vez disso, dá para usar tournament, pipelines de comparação pairwise ou bucket-rank em paralelo seguido de mesclagem
    • Comparative judgment é mais confiável do que pontuação absoluta; como cada comparação é feita por um agente separado, um loop determinístico mantém o bracket e deixa no contexto apenas a ordem de execução
  • Memória e conformidade com regras

    • Para regras que o Claude ignora mesmo estando no CLAUDE.md, é possível criar um workflow com uma lista de regras e um agente de verificação para cada regra
    • Para reduzir falsos positivos, pode-se criar um subagente com persona skeptic para revisar as regras
    • O inverso também é possível: minerar correções recorrentes em sessões recentes e comentários de code review, agrupar com agentes paralelos e verificar adversarialmente cada regra candidata ("essa regra teria realmente evitado esse erro?") antes de refinar as sobreviventes em CLAUDE.md
  • Investigação de causa raiz

    • Debugging funciona melhor quando várias hipóteses independentes são levantadas e verificadas, mas em uma única janela de contexto pode surgir self-preferential bias
    • Workflows evitam isso estruturalmente, gerando hipóteses com agentes separados por evidência (logs, arquivos, dados), e cada hipótese passa por um painel de validadores e refutadores
    • Também pode ser usado em post-mortems fora de código, como vendas (causa de queda de receita em março) e engenharia de dados (causa de falha em pipeline)
  • Triagem em grande escala

    • Para filas de suporte, relatórios de bug ou backlog grandes demais para pessoas lidarem sozinhas, workflows de triagem classificam cada item, removem duplicatas em relação a itens já rastreados e executam ações como tentar corrigir ou escalar para humanos
    • Um padrão útil é quarantine, que bloqueia ações de alto privilégio por agentes que leem conteúdo público não confiável e deixa o processamento da informação para agentes específicos
    • Pode ser combinado com /loop para execução contínua
  • Exploração e preferência

    • Útil para explorar soluções baseadas em gosto, como design e naming, que se beneficiam de uma rubrica
    • É possível mandar explorar várias soluções e fornecer ao agente revisor uma rubrica do que define uma boa solução; quando o revisor conclui que os critérios foram atendidos, o trabalho termina, e também dá para ordenar e escolher com tournament
  • Avaliações (Evals)

    • É possível executar avaliações leves criando agentes separados em worktrees e usando agentes comparadores para pontuar contra uma rubrica; por exemplo, avaliar e melhorar uma skill gerada segundo critérios específicos
  • Roteamento de modelo e inteligência

    • Dá para criar um agente classificador que decide o modelo adequado para a tarefa, identificando previamente o melhor modelo em trabalhos com muitas chamadas de ferramenta
    • Ex.: o melhor modelo para a tarefa "explicar como o módulo auth funciona" varia conforme a quantidade de arquivos do módulo auth e o formato do codebase; o classificador investiga e roteia para Sonnet ou Opus de acordo com a complexidade

Quando não usar

  • Workflows são um recurso novo e, embora existam muitos casos de uso com grande impacto, não são necessários para toda tarefa e podem consumir muito mais tokens
  • São mais adequados para usos criativos que levem o Claude Code além de formas antes impossíveis
  • Em tarefas comuns de programação, vale se perguntar: "isso realmente precisa de mais computação?"; na maioria dos trabalhos tradicionais de código, não é necessário um painel de 5 revisores

Dicas para criar fluxos de trabalho dinâmicos

  • Prompting

    • Prompts detalhados usando as técnicas descritas acima geram os melhores resultados
    • Não é algo só para tarefas grandes; dá para pedir um "quick workflow" para fazer, por exemplo, uma revisão adversarial rápida de hipóteses
  • Combinar com /goal e /loop

    • Workflows repetíveis como triagem, pesquisa e verificação podem ser combinados com /loop para execução regular e com /goal para definir requisitos rígidos de conclusão
  • Orçamento de uso de tokens

    • Dá para definir um orçamento explícito de tokens por tarefa, usando prompts como "use 10k tokens" para impor um limite
  • Salvar e compartilhar

    • No menu de workflows, pressione "s" para salvar; também é possível fazer check-in em ~/.claude/workflows ou publicar como skill
    • Ao compartilhar como skill, coloque o arquivo JavaScript do workflow na pasta da skill e faça referência a ele no SKILL.md; para maior flexibilidade, use prompts que o tratem como um template, e não como um script a ser executado literalmente dentro da skill
  • Ponto de partida para expansão

    • Workflows são uma nova forma de expandir o Claude Code, e o melhor jeito de usá-los ainda está sendo descoberto; este é apenas o ponto de partida

Ainda não há comentários.

Ainda não há comentários.