Em maio publiquei o estado das ferramentas — Claude Code, Cursor e Codex. Desde então a pergunta mudou: deixou de ser 'qual ferramenta usar' e virou 'como operar'. Agentes agora executam tarefas de 6 a 8 horas, em paralelo, com acesso a repositório, terminal e credenciais. Agosto de 2026 foi o mês em que operação virou produto: o changelog do Claude Code teve lançamentos quase diários (da 2.1.229 à 2.1.252) e pelo menos três startups da Y Combinator surgiram só para fornecer infraestrutura a esses agentes.
O pior cenário não é o agente escrever código ruim — é o agente ser enganado por prompt injection e entregar credenciais. Os fundadores do OneCLI (YC S26) documentaram o padrão: agentes guardam segredos em memória, arquivos locais e logs em texto plano, e podem ser persuadidos a entregá-los.
Modo restrito: menos ferramentas, menos risco
O Claude Code lançou a flag --restricted (ou CLAUDE_CODE_RESTRICTED=1): remove os built-ins perigosos — Bash e WebFetch, a menos que explicitamente re-habilitados via --tools —, confina as file tools ao diretório de trabalho, recusa bypassPermissions e ignora arquivos locais de configuração de usuário e projeto. É o modo 'agente não confiável': use por padrão em CI, automações e qualquer sessão que toque em produção. No sandbox do macOS, as regras de negação de leitura com wildcard (como **/.env) agora têm precedência dentro das regiões permitidas — renomear o arquivo não burla mais o bloqueio.
# Sessão restrita: sem shell arbitrário, sem fetch externo,
# arquivos apenas dentro do working directory
claude --restricted
# Sandboxing por deny rules: o .env nunca entra no contexto
# .claude/settings.json
# {
# "permissions": {
# "deny": ["Read(**/.env*)", "Read(**/*credentials*)"]
# }
# }
# Limita memória de comandos Bash — build fugindo não derruba a sessão
export CLAUDE_CODE_TOOL_MEMORY_LIMIT=2gSegredos: fora do contexto, injetados no gateway
A lição de segurança do mês veio do OneCLI (Launch HN, 19/08): o agente nunca segura o segredo de verdade — recebe um placeholder, e a credencial real é injetada no gateway, por requisição, depois da autorização. Ela nunca entra no contexto, na memória nem nos logs. A parte mais interessante é a filosofia: políticas da organização rodam na camada de rede, fora do modelo — prompt é sugestão, o gateway decide. Na mesma direção, o Claude Code ampliou a redação automática de segredos na saída das sessões, cobrindo famílias de tokens do GitLab (glrt-, gloas-, glptt-) e outras credenciais.
- Least privilege por agente: uma VM ou contêiner por sessão — o blast radius de um agente comprometido é um agente
- Credencial via gateway, nunca via prompt: placeholder no contexto, segredo real só na requisição
- Política fora do modelo: bloqueio de endpoints, rate limit e aprovações determinísticas na camada de rede
- Auditoria com identidade: todo agente vinculado a um responsável, todo call logado com 'em nome de quem' foi feito
- Modo restrito por padrão em CI e automações; modo interativo só para desenvolvimento local
Custo: prompt cache é o novo benchmark
O /cost do Claude Code agora expõe métricas de cache por sessão: hit ratio, misses, tokens re-cacheados, warm/cold. Por que isso importa: token de cache hit custa uma fração do token normal — em sessões longas de agente, o cache é a diferença entre a conta dobrar ou não. O subagent forking (agora default) herda o prompt cache da conversa pai, o que acabou com o subagente 'frio' 100% mais caro. E o promptCacheTtl separado — 1h na conversa principal, 5m nos subagentes — permite manter cache longo onde ele paga a conta. Para orçamento: spend limit no /usage e o perfil /claude-api cost-optimize, que audita o gasto do projeto e aplica um lever de otimização por vez.
{
// Settings documentados no changelog do Claude Code (ago/2026)
"promptCacheTtl": "1h", // conversa principal: cache longo
"subagentPromptCacheTtl": "5m" // subagentes: cache curto e barato
}
// O /cost reporta prompt_cache (hit ratio, re-cacheados, warm/cold)
// e o status line expõe rate_limits.spend_limit para quem usa gatewayFrotas: cada agente com sua máquina
A história de infraestrutura do mês foi o machine0 (YC S26, 18/08): VMs persistentes para agentes, de 1 vCPU/1GB a US$ 0,013/hora até 60 vCPU/240GB e GPUs — de RTX 4000 Ada a 8×H200 —, com suspend, snapshot e resume, e builds reprodutíveis via NixOS flakes ou Ansible. O caso de uso que descrevem: um agente piloto define o escopo e delega para subagentes, cada um na própria VM; um cliente roda centenas de máquinas simultâneas, criadas e destruídas via CLI. O insight é simples e definitivo: fechar o notebook não pode matar o agente no meio de uma tarefa de 8 horas.
O checklist de operação
- Rode --restricted ou sandbox em tudo que não é desenvolvimento interativo
- Nenhum segredo no contexto: gateway injeta por requisição e a redação automática fica ligada
- Orçamento: spend limit por workspace, com alerta antes de estourar — não depois
- Cache como métrica: acompanhe o hit ratio no /cost e prefira fork de subagente a spawn frio
- Isolamento: VM ou contêiner por agente, com deny rules para .env, credenciais de cloud e chaves SSH
- Hooks de auditoria: eventos PreModelSwitch/PostModelSwitch registram toda troca de modelo
- Trilha de identidade: quem pediu, qual política permitiu e o que o agente tocou — em log consultável
Trate cada agente como um estagiário com acesso a produção: capacidades mínimas, orçamento próprio e tudo auditado. A diferença é que o estagiário dorme à noite — o agente escala em frota.