Melhores Práticas do Claude Agent SDK
Regras práticas para transformar um agente Claude Agent SDK de um protótipo funcional em algo seguro para rodar em produção, cobrindo escopo de ferramentas, checkpoints, subagentes e sessões.
Como Usar Esta Lista
- Percorra cada grupo com letras antes de implantar um agente que toque em dados reais, sistemas reais ou usuários reais.
- Os grupos estão ordenados aproximadamente pela importância em relação ao ciclo de vida de um agente: escopo e ferramentas primeiro, depois portões de segurança, e por último delegação e continuidade.
- Trate isto como um checklist de revisão, não como um tutorial; cada item linka de volta para a página que explica o raciocínio em profundidade.
A - Escopo de Ferramentas
- Habilite apenas as famílias de ferramentas que uma tarefa realmente necessita. Um agente que apenas escreve arquivos não precisa de
bash,web_searchouweb_fetch; cada ferramenta habilitada é uma área de superfície adicional sobre a qual o loop pode agir sem supervisão. - Escope
bashpara uma lista explícita de comandos permitidos em vez de conceder um shell aberto. Acesso bash irrestrito transforma uma ferramenta em uma capacidade de execução de código arbitrário; uma lista de comandos permitidos a mantém nas operações específicas que a tarefa requer. - Restrinja
file_editaos caminhos que uma tarefa deve realmente tocar. Restrições de caminho ou glob impedem que um agente de um monorepo edite arquivos fora do pacote ou diretório em que foi solicitado a trabalhar. - Prefira
web_fetchsobreweb_searchquando o URL já é conhecido.web_searché uma capacidade mais ampla e menos previsível; reserve-a para tarefas de pesquisa genuinamente abertas. - Reaudite o escopo da ferramenta sempre que o prompt de uma tarefa mudar significativamente. Decisões de escopo feitas para uma versão de uma tarefa podem se tornar silenciosamente muito amplas ou muito restritas à medida que o comportamento real da tarefa evolui.
B - Checkpoints Human-in-the-Loop
- Faça checkpoint de ações destrutivas ou irreversíveis, não de cada chamada de ferramenta. Bloquear leituras inofensivas junto com riscos genuínos treina os revisores a aprovar sem ler.
- Dê a cada hook de checkpoint um timeout explícito com um padrão seguro. Um hook que pode bloquear para sempre esperando por uma decisão humana pode travar uma execução de produção; defina como rejeitar quando a janela expirar.
- Construa um canal de aprovação real antes de implantar em um ambiente hospedado. Um prompt de terminal bloqueante não tem terminal para ler assim que um agente roda sem supervisão em um servidor; direcione as aprovações através de uma fila, dashboard ou webhook.
- Registre cada decisão de checkpoint junto com a chamada à qual se aplicou. Sem uma trilha de auditoria do que foi aprovado ou rejeitado e por quem, os checkpoints perdem a responsabilidade que deveriam fornecer.
- Camada de checkpoints sobre o escopo de ferramentas, nunca como um substituto. O escopo fecha classes inteiras de ações; checkpoints apenas capturam as chamadas específicas que você se lembrou de sinalizar.
C - Subagentes
- Delegue apenas tarefas que são genuinamente independentes. Dividir uma tarefa com dependências reais entre subagentes força você a sequenciar e passar resultados manualmente, o que apaga o benefício de delegar em primeiro lugar.
- Escreva descrições de subagentes tão especificamente quanto descrições de ferramentas. Uma descrição vaga não dá ao modelo pai nenhum sinal confiável para quando invocar esse subagente.
- Escope as ferramentas de cada subagente independentemente, não copiando o escopo do pai. Um subagente não herda nada automaticamente; conceda a ele apenas o que seu trabalho específico requer.
- Não divida uma tarefa simples em um subagente apenas para se sentir completo. O overhead de um novo contexto e um loop interno completo não vale a pena para uma etapa que uma única chamada de ferramenta resolveria igualmente bem.
- Execute subagentes independentes concorrentemente quando a tarefa permitir. O despacho sequencial de subagentes não relacionados desperdiça o paralelismo que o isolamento deveria habilitar.
D - Sessões e Continuidade
- Persista IDs de sessão em um armazenamento que sobreviva ao processo. O SDK fornece o mecanismo para retomar; se o ID não for armazenado de forma durável, ele se perde assim que o processo é encerrado.
- Chaveie sessões por um identificador de tarefa estável, não por um valor aleatório novo a cada chamada. Uma nova chave a cada invocação significa que você nunca retoma nada.
- Trate um ID de sessão ausente ou expirado como um caso de falha explícito. Retomar com um ID obsoleto deve falhar previsivelmente e voltar para uma nova execução, não produzir silenciosamente uma sessão vazia.
- Defina uma política de retenção para dados de sessão armazenados. O histórico de sessões pode conter resultados de ferramentas sensíveis; mantê-lo para sempre sem limpeza é um risco, não uma conveniência.
- Não confie em
resumepara reproduzir efeitos colaterais. Retomar restaura o registro do que já aconteceu; não reexecuta comandos bash ou rebusca URLs da sessão anterior.
E - Implantação e Operações
- Combine o formato de implantação com a presença de um humano. Execuções de binários CLI locais se adequam a fluxos de trabalho interativos de operador único; execução hospedada se adequa a cargas de trabalho não supervisionadas, agendadas ou multi-tenant.
- Reconstrua o roteamento de checkpoint explicitamente ao mudar de local para hospedado. Um fluxo de aprovação baseado em terminal que funcionou localmente se torna um bloqueio silencioso ou um no-op assim que o agente roda sem um terminal anexado.
- Mova segredos de arquivos locais antes de implantar em um ambiente hospedado. Leia credenciais do gerenciador de segredos da plataforma, não de arquivos de ambiente locais que não existirão nesse ambiente.
- Adicione logging estruturado assim que nenhum operador estiver assistindo um terminal ao vivo. Execuções hospedadas precisam de observabilidade embutida, já que não há ninguém presente para notar um problema conforme ele acontece.
FAQs
Qual desses grupos é mais importante fazer primeiro?
Escopo de ferramentas (Grupo A), pois determina do que o agente é capaz em primeiro lugar; checkpoints, subagentes e sessões são construídos sobre um conjunto de ferramentas bem escopado.
Preciso de checkpoints se minhas ferramentas já estiverem com escopo restrito?
Se nada acessível for destrutivo ou irreversível, checkpoints agregam menos valor; mas a maioria dos agentes que escrevem arquivos, executam comandos ou chamam sistemas externos tem pelo menos uma ação que vale a pena controlar.
É aceitável pular a persistência de sessão?
Sim, para tarefas genuinamente únicas e sem estado, onde não há nada significativo para retomar. A persistência importa quando uma tarefa abrange mais de um ciclo de vida de processo.
Qual é o erro mais comum que as equipes cometem ao ir para produção?
Assumir que as redes de segurança de desenvolvimento local (um humano assistindo o terminal, pegando um prompt de checkpoint ruim) se transferem automaticamente para uma implantação hospedada, quando elas precisam ser reconstruídas explicitamente.
Todo subagente também deve ter um checkpoint?
Apenas se o escopo de ferramentas desse subagente incluir algo destrutivo ou irreversível; a configuração do checkpoint é definida por AgentOptions, então pode diferir entre o pai e o subagente conforme necessário.
Com que frequência devo revisar o escopo das ferramentas de um agente?
Sempre que a tarefa ou prompt subjacente mudar significativamente, e periodicamente como rotina, pois o escopo que estava correto no lançamento pode se desalinhar com o que o agente realmente faz ao longo do tempo.
Agentes binários CLI locais precisam de algo disso?
A maior parte ainda se aplica, especialmente o escopo de ferramentas e o uso cuidadoso de subagentes, mesmo que o roteamento de checkpoint e as preocupações específicas de hospedagem sejam mais simples para uma execução local de operador único.
Qual o risco de escopar ferramentas excessivamente restritivamente?
Uma lista de permissões excessivamente restritiva pode fazer com que o agente falhe no meio da tarefa em uma ação legítima que ele precisa, forçando você a afrouxar o escopo reativamente; teste as operações exatas que uma tarefa requer antes de bloquear uma lista de permissões.
Relacionados
- O Modelo Mental do Claude Agent SDK - os conceitos em que essas práticas se baseiam
- Habilitando Ferramentas de Edição de Arquivo, Bash e Web no Agent SDK - escopo de ferramentas em profundidade
- Adicionando Checkpoints Human-in-the-Loop a um Fluxo de Trabalho do Agent SDK - mecânica de checkpoints em profundidade
- Delegando Trabalho para Subagentes no Claude Agent SDK - delegação de subagentes em profundidade
- Persistindo Sessões Entre Execuções com o Claude Agent SDK - persistência de sessão em profundidade
- Referência de Padrões de Implantação do Claude Agent SDK - trade-offs de implantação local vs. hospedada
Versões de Stack: Escrito contra a linha de modelos Claude atual em ~junho de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (o padrão) e Claude Haiku 4.5 - e o Claude Agent SDK (último lançamento, Python e TypeScript). Nomes de modelos, versões de SDK e preços mudam rapidamente - verifique os detalhes atuais em platform.claude.com/docs antes de confiar neles.