2

Subagents ou Agent Teams no Claude Code: como paralelizar sem criar caos

English summary: A practical guide to choosing Claude Code subagents or experimental agent teams, defining safe write boundaries, controlling coordination cost, and making handoffs, worktrees, verification, and cancellation operational.


TL;DR

  • Use subagents quando houver uma tarefa isolável.
  • Use teams somente quando houver coordenação e fronteiras reais.
  • Exija artefatos, handoffs, cancelamento e reconciliação verificáveis.

Exemplo concreto: um worker pode escrever seu relatório em um diretório próprio e entregar um contrato para o reconciliador.

Adicionar mais agentes parece uma resposta óbvia quando um trabalho de engenharia demora: se um Claude investiga, outro implementa e um terceiro testa, o time termina antes. Às vezes termina. Outras vezes você paga três vezes para produzir duas hipóteses idênticas, cria um conflito no mesmo arquivo e descobre tarde que ninguém era dono da decisão de merge.

Esse é o problema menos glamouroso da programação com agentes: paralelismo não elimina trabalho; ele troca parte do trabalho de implementação por trabalho de coordenação. Sem uma fronteira de escrita, um contrato de handoff e uma regra de parada, cada novo agente aumenta a área de incerteza.

Minha tese é simples: use subagents para trabalho focado cujo resultado basta ao agente principal; use agent teams apenas quando pessoas-agentes precisam se coordenar de verdade — e trate ownership, verificação e cancelamento como parte do produto, não como detalhes do prompt.

No Claude Code, essa escolha tem implicações concretas de contexto, tokens, ferramentas, isolamento de Git e controle humano. Este texto explica o que cada topologia é, onde ela falha, como começar pequeno e um artefato copiável para operacionalizar uma equipe sem abrir a porteira para escrita concorrente.

O que são subagents e agent teams — e o que não são

Um subagent é um assistente especializado chamado dentro de uma sessão do Claude Code. Ele tem janela de contexto própria, prompt de sistema, ferramentas e permissões definidos para o seu papel; faz o trabalho e devolve um resultado resumido a quem o chamou. Isso é especialmente útil quando busca, logs ou leitura de muitos arquivos poluiriam a conversa principal. A documentação também permite restringir ferramentas, pré-carregar skills, limitar turns e, quando necessário, isolar o subagent em um worktree. Claude Code: subagents

Um agent team é outra topologia: a sessão principal vira líder e coordena várias sessões independentes. Os teammates têm contexto próprio, compartilham uma lista de tarefas e podem trocar mensagens diretamente. A documentação do Claude Code os marca como experimentais e desabilitados por padrão; em 12 de agosto de 2026, exigem CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. Claude Code: agent teams

Essa diferença não é cosmética.

PerguntaSubagentsAgent teams
Quem coordena?A conversa principalLíder e teammates via lista compartilhada
Quem conversa com quem?Worker reporta ao chamadorTeammates podem se comunicar diretamente
Unidade operacionalTrabalho especializado dentro da sessãoSessões independentes colaborando
Custo de contextoMenor; resultado volta resumidoMaior; cada teammate tem contexto próprio
Melhor encaixePesquisa, revisão, análise, tarefa auxiliarHipóteses concorrentes, revisão multidisciplinar, módulos independentes
Maior riscoDelegação vaga ou resumo insuficienteCoordenação, conflito de arquivos e custo multiplicado

Nenhum dos dois é sinônimo de “autonomia total”. Um grupo de agentes não substitui uma decisão de produto, uma revisão de segurança ou a responsabilidade de quem faz merge. Tampouco é o caminho certo para toda automação. Um workflow sequencial simples — lint, teste, build, publicação — continua melhor quando a ordem é conhecida, a saída é objetiva e não há decisão aberta a ser tomada.

A própria Anthropic separa workflows, nos quais caminhos são definidos em código, de agents, nos quais o modelo dirige dinamicamente o processo e o uso de tools. A recomendação é começar pelo sistema mais simples que resolve o problema e só elevar complexidade quando ela melhora um resultado mensurável. Building effective agents

As quatro falhas que fazem uma equipe de agentes virar ruído

Antes de desenhar a topologia, vale reconhecer os padrões que parecem produtividade no terminal e viram retrabalho no repositório.

1. Paralelizar dependências

“Um agente cria a API, outro cria a UI e outro escreve os testes” parece uma boa divisão. Mas não é paralela se a UI depende do contrato da API e os testes dependem dos dois. Os três vão inventar interfaces provisórias, e a integração passa a ser uma quarta tarefa não planejada.

Divida por independência verificável, não por nomes de camadas. Três revisores lendo o mesmo diff com lentes diferentes — segurança, performance e cobertura — podem trabalhar em paralelo porque suas saídas são achados, não alterações concorrentes. Já uma feature de autenticação provavelmente precisa de uma sequência: primeiro contrato, depois implementação, depois testes e revisão.

Uma pergunta útil é: “Se este worker terminar sem receber uma nova mensagem por vinte minutos, ele ainda consegue produzir um artefato correto?” Se a resposta for não, há uma dependência; modele-a como tal na lista de tarefas.

2. Fronteiras de escrita imaginárias

“Cada agente pega uma parte” não é fronteira. Uma fronteira é um objeto que pode ser inspecionado: diretório, pacote, arquivo, contrato de API ou documento de decisão. Sem isso, dois agentes editam package.json, uma migration ou o mesmo componente “só para ajustar uma coisa”.

O dano não é só conflito de Git. Mudanças que aplicam limpas ainda podem contradizer regras de negócio, duplicar um endpoint ou introduzir duas abstrações para o mesmo problema. git diff não detecta essa colisão semântica.

Para trabalho de escrita, declare antes de começar:

  • um único dono por caminho gravável;
  • arquivos compartilhados que são somente leitura para teammates;
  • quem pode editar contrato, schema, lockfile e configuração de CI;
  • o branch ou worktree de cada implementação;
  • a pessoa ou sessão que integra o resultado.

Um worktree resolve isolamento físico de checkout; ele não resolve ownership. É possível ter três worktrees e três interpretações incompatíveis do mesmo requisito.

3. Handoff como “me avise quando terminar”

Um agente que diz “feito” entrega quase nenhuma informação útil. O próximo precisa redescobrir objetivo, escopo, hipótese, arquivos mexidos, comandos rodados e risco restante. Isso é o imposto de handoff.

Todo handoff precisa ter formato. No mínimo: entrega, evidência, limites, próximos passos e decisão pendente. Se uma tarefa alterou estado, inclua também a localização exata da mudança e como revertê-la. Isso transforma uma conversa em interface operacional.

Não espere uma documentação bonita no fim. Exija um handoff curto ao encerrar cada unidade de trabalho. Quanto mais cedo o contrato aparece, menor o custo de descobrir que dois workers assumiram coisas diferentes.

4. Cancelamento tratado como desaparecimento

Interromper um teammate não desfaz o que ele leu, escreveu ou concluiu. Ele pode ter deixado um worktree com alterações, uma tarefa marcada como em progresso e uma hipótese parcialmente comunicada. E um agente cancelado pode ter parado justamente antes da verificação.

No Claude Code, é possível interromper um teammate ativo pela interface e pedir encerramento gracioso por nome; a documentação alerta que agent teams têm limitações conhecidas de retomada, coordenação e shutdown. Controle e encerramento de teammates Não use cancelamento como sinal de sucesso nem como limpeza automática de responsabilidade.

O protocolo correto é: parar novas ações, registrar o estado, inspecionar o diff, decidir entre preservar ou descartar de modo explícito e só então redistribuir a tarefa. Se houver um ambiente remoto, revogar ou expirar a credencial temporária também faz parte do cancelamento.

O harness: o sistema ao redor do modelo é que torna o paralelo seguro

O modelo não sabe, por si, quais arquivos são sensíveis, qual comando é aceitável ou o que prova que uma mudança funciona. O harness é o conjunto de contexto, tools, permissões, ambiente e verificação que transforma uma resposta em trabalho controlado.

Em Claude Code, comece pelo CLAUDE.md do projeto. Ele deve conter invariantes que não podem depender da memória de uma conversa: comandos de validação, áreas proibidas, regras de testes, convenções e pontos de parada humana. Em seguida, dê a cada subagent ou teammate apenas as tools necessárias. Um revisor não precisa de Write; um migrador não precisa de credencial de produção; um pesquisador não deve ter a chave para publicar nada.

Use três níveis de permissão, não uma permissão ampla com aviso em linguagem natural:

NívelCapacidadesCasos típicos
ObservarLer, buscar, executar checks sem efeitosExploração, revisão, triagem de incidente
ProporCriar plano, patch ou diff em worktree isoladoFeature, correção, refactor
AplicarEditar checkout designado ou ambiente autorizadoIntegração controlada, manutenção aprovada

O ponto de transição entre propor e aplicar é uma decisão humana ou um gate automatizado robusto. Não deixe o mesmo agente inventar o requisito, editar a superfície crítica e declarar que validou tudo.

Hooks são úteis para tornar essa política executável. Em vez de escrever “nunca toque em produção” no prompt, um PreToolUse pode negar a ferramenta antes de ela rodar. A referência oficial permite decisões de bloqueio e negação no ciclo de ferramentas. Claude Code hooks

Também há observabilidade. Guarde uma trilha por tarefa: prompt de delegação, dono, caminhos permitidos, mensagens de handoff, comandos de verificação, exit codes e diff final. Não é burocracia: em um sistema não determinístico, essa trilha é como você explica por que uma alteração existe e como reproduzir o julgamento.

A escada incremental: não comece por uma equipe

Muitas equipes introduzem agent teams porque uma tarefa parece grande. O caminho de menor risco é subir uma escada e parar assim que o ganho aparece.

  1. Trabalho único. Execute uma tarefa manualmente com uma definição de pronto clara. Descubra entradas, saídas, comandos e decisões humanas.
  2. Contrato. Registre invariantes no CLAUDE.md: caminhos sensíveis, testes, reversão e aprovações.
  3. Skill. Empacote um playbook repetitivo: revisão de autenticação, triagem de falha, preparação de release. Uma skill reduz reexplicação, não cria mais autonomia por mágica.
  4. Subagent. Delegue uma função com contexto isolado e tools mínimas. Comece por leitura ou revisão. Meça se o resumo poupa contexto e produz achados melhores.
  5. Hooks e MCP. Adicione gates a ações perigosas e dados externos apenas quando o caso exigir. Integração é superfície de ataque; cada tool precisa de descrição e permissão.
  6. Autonomia limitada. Permita mudanças em um worktree ou diretório explicitamente dono, com limites de turnos e validação exigida.
  7. Agent team. Só agora, quando há subtarefas independentes que precisam discutir, contestar hipóteses ou coordenar um plano compartilhado.
  8. Evals. Construa um conjunto de tarefas reais, critérios e traces. Meça taxa de conclusão correta, regressões, custo, tempo e necessidade de intervenção humana.

Essa sequência acompanha a orientação da Anthropic de preferir composição simples e aumentar complexidade apenas quando ela demonstra ganho. Também evita o erro de usar “mais agentes” para mascarar um contrato ainda desconhecido.

Artefato copiável: contrato de equipe com escrita exclusiva e handoff obrigatório

O arquivo abaixo é um CLAUDE.md de projeto. Ele não liga agent teams sozinho; ele torna uma equipe eventual mais segura ao declarar o que o líder deve fazer antes de delegar. Ajuste os caminhos e comandos para seu repositório.

# Multi-agent working agreement

## Before spawning workers

- State the goal, acceptance criteria, and integration owner.
- Create one task per independently verifiable deliverable.
- Give every writing task one exclusive `write_scope`.
- Treat `package.json`, lockfiles, migrations, CI, and public API contracts as
  shared: only the integration owner may edit them.

## Worker task template

Each task must include:

- `owner`: teammate or subagent name
- `mode`: observe | propose | apply
- `write_scope`: exact directories or files; empty for observe
- `inputs`: issue, spec, or source files
- `done_when`: observable acceptance criteria
- `verify`: exact commands and expected result
- `handoff_to`: integration owner

## Handoff format

Reply with exactly these fields:

1. `status`: done | blocked | cancelled
2. `changed`: files changed, or `none`
3. `evidence`: commands run and their result
4. `risk`: remaining uncertainty or `none known`
5. `next`: one recommended action for the handoff owner

## Cancellation

- Stop tool use immediately when asked to cancel.
- Do not mark the task done after cancellation.
- Report the handoff format above, including the current diff and commands not run.
- The integration owner decides whether to keep, revert, or move partial work.

## Verification gate

- A task is not done until its `verify` commands have run successfully.
- A failed or skipped check changes `status` to `blocked`, never `done`.
- Only the integration owner resolves cross-scope conflicts and merges changes.

Ele funciona porque transforma termos vagos em campos testáveis. “Ownership” deixa de ser boa intenção quando write_scope aponta para um caminho. “Validado” deixa de ser frase quando evidence traz o comando e seu resultado. “Cancelado” deixa de ser sumiço quando o handoff revela o estado parcial.

Para testar o contrato sem risco, rode primeiro uma equipe somente de revisão: um agente procura falhas de segurança, outro procura regressões de comportamento e outro lista lacunas de testes. Todos em observe, sem escopo de escrita. Só depois delegue uma correção pequena a um único dono.

Worktrees: isolamento útil, não licença para esquecer integração

Quando dois workers realmente precisam editar, worktrees evitam que um checkout físico seja modificado por vários processos. Um subagent pode receber isolation: worktree, o que o executa em uma cópia isolada do repositório. Segundo a documentação, o worktree é criado a partir do branch padrão por default, não necessariamente do HEAD da sessão pai; isso precisa entrar no seu plano de integração. Isolamento de subagents com worktrees

Há três decisões que não podem ser automáticas:

  1. Base. De qual commit ou branch cada worktree parte? Se o objetivo depende de uma alteração ainda não integrada, criar do branch padrão gera falso sucesso contra código velho.
  2. Integração. Quem compara e aplica os diffs? Escolha um único dono. Ele verifica conflitos textuais e também compatibilidade de contrato.
  3. Descarte. Que worktree temporário tem mudanças que devem sobreviver ao encerramento? Cancelamento e término precisam chamar essa decisão pelo nome.

Uma topologia saudável para feature média costuma ser: líder em modo de coordenação; dois ou três reviewers read-only em paralelo; um implementador com worktree e escopo exclusivo; líder ou humano como integrador; depois teste end-to-end. Não entregue o mesmo componente para três implementadores e espere que o Git escolha o design certo.

Como escolher a topologia certa

Use a tabela como decisão inicial, não como substituta da leitura do trabalho.

SituaçãoTopologia inicialPor quêGate antes de aumentar autonomia
Localizar arquivos e explicar uma áreaConversa principal ou subagent read-onlyA saída é um resumoConferir referências a arquivos
Revisar um PR por lentes independentes2–3 subagents ou team de reviewAchados são paralelizáveisConsolidar duplicatas e severidade
Depurar causa raiz com hipóteses concorrentesAgent team pequenoTeammates podem contestar evidênciasReproduzir a hipótese vencedora
Implementar uma alteração em um pacote isoladoUm subagent em worktreeHá um dono e uma fronteira claraTestes do pacote e diff revisado
Alterar schema, autenticação ou cobrançaSequência com humano integradorAlto impacto e dependências fortesReview, testes e aprovação explícita
Pipeline previsível de build e releaseWorkflow, não equipeOrdem e regras já são conhecidasLogs e artefatos de CI

Agent teams tendem a vencer quando a comunicação entre workers muda a qualidade da resposta: investigação científica com hipóteses rivais, revisão de um desenho por perspectivas conflitantes, ou módulos realmente separáveis. A documentação recomenda começar, em geral, com três a cinco teammates e aumentar apenas se o trabalho se beneficiar de simultaneidade; mais participantes elevam tokens, coordenação e conflitos. Boas práticas para agent teams

Subagents tendem a vencer quando só o resultado precisa voltar. Eles são mais fáceis de encerrar, auditar e encaixar em uma sessão já orientada por uma pessoa. Em muitas tarefas, o melhor “multi-agent system” é um agente principal que chama um investigador read-only e, depois, executa um patch pequeno com testes.

Segurança, ownership e verificação: o tripé que não pode ser delegado

Segurança começa antes do prompt. Remova acesso em vez de pedir que o agente “tenha cuidado”. Use tokens de curta duração e com escopo mínimo; separe credenciais de leitura e escrita; não disponibilize segredos em logs, prompts ou arquivos de handoff; exija confirmação humana para ações irreversíveis, externas ou financeiras.

Ownership é a regra que impede responsabilidade diluída. Cada mudança deve ter um dono de implementação e um dono de integração. Podem ser a mesma pessoa em uma tarefa pequena; em alteração sensível, não deveriam ser. O líder da equipe é responsável por desfazer sobreposição, mas não deve fingir que mensagens entre teammates são uma transação consistente.

Verificação é a evidência que fecha o loop. Para código, combine o menor conjunto que prova o requisito: teste focal, lint ou typecheck relevante, build quando apropriado, teste de integração e inspeção do diff. Para investigação, a evidência pode ser reprodução, query versionada, log com intervalo temporal ou links para código. A pergunta não é “o agente trabalhou bastante?”. É “qual observação independente sustenta a conclusão?”.

Instrumente a avaliação antes de ampliar a autonomia. A Anthropic recomenda avaliações que acompanhem tarefas multi-turn e mudanças de estado, porque agentes chamam tools, adaptam-se aos resultados intermediários e podem falhar em caminhos que um teste de resposta única não vê. Demystifying evals for AI agents

Checklist operacional antes de abrir mais sessões

Carregando publicação patrocinada...