💬
MÓDULO 2.4 Trilha 2 — Evolução por Diffs

💬 Comunicação & Autonomia

O gargalo virou interação

Os modelos já executam tarefas de código muito bem. O que ainda falha é a interação: perguntar demais, agir de menos, narrar pensamento, enterrar o resultado. Este módulo segue a evolução das seções de como comunicar e como agir sem perguntar nos prompts reais do Claude Code (4.6 → 4.8 → Fable 5).

📋6 tópicos
~35 min
🎯Intermediário
🤖Agentes
Ação proposta editar · push · rm · enviar… Local e reversível? sim Agir sem perguntar editar arquivos · rodar testes · ler não Confirmar antes push · rm -rf · enviar · drop table Autorização durável (CLAUDE.md / "opere autônomo") vale só para o escopo declarado — não se estende ao próximo contexto Árvore de decisão: agir vs. confirmar recriação ilustrativa da política "Executing actions with care" (4.6) → "Harness" (4.8) → "Communicating with the user" (Fable 5) autonomia confirmação

Conteúdo detalhado

1

O gargalo migrou de capacidade para interação

Nos primeiros prompts de agentes de código, o esforço estava em ensinar o modelo a executar: como chamar ferramentas, como editar arquivos, como rodar testes. Hoje os modelos fazem isso bem. O que sobrou de difícil não é a capacidade — é a interação. Por isso os prompts mais recentes dedicam seções inteiras a como falar com o usuário e quando agir sem perguntar.

🎯 A nova fronteira: os dois modos de falhar

Quando a capacidade deixa de ser o limite, a experiência passa a ser definida por dois erros opostos — e o prompt existe justamente para calibrar o ponto entre eles:

Perguntou demais

Pede confirmação para editar um arquivo local. Narra cada passo. Devolve opções em vez de uma recomendação. O usuário vira gerente de um agente medroso.

Agiu de menos / agiu de mais

Para na primeira dúvida em vez de seguir o caminho óbvio — ou faz um git push sem avisar. Os dois custam confiança.

💡

Por que isso surge AGORA nos agentes de código

Um chatbot só produz texto — não há ação no mundo para confirmar. Um agente de código escreve em disco, roda comandos, faz push e envia mensagens. Cada ação tem blast radius (raio de impacto) e reversibilidade diferentes. É essa capacidade de agir no mundo que cria a necessidade de uma política de comunicação e autonomia.

🚦
Gargalo = interação
não mais capacidade
Perguntar demais
agente medroso
💥
Agir de mais
ação não autorizada
🌐
Blast radius
raio de impacto da ação
2

Como comunicar — tom, concisão e orçamento de saída

O agente roda no terminal: o usuário não vê o pensamento nem os resultados crus das ferramentas — só o texto de saída. Isso impõe regras de tom diferentes de um chat. O Claude Code dedica blocos inteiros a isso. Veja como a regra de tom é declarada no claude-code-2.1.172-opus-4.6.md:

claude-code-2.1.172-opus-4.6.md — # Tone and style (linhas 49–53)
- Only use emojis if the user explicitly requests it.
- Your responses should be short and concise.
- When referencing specific functions or pieces of code include
  the pattern file_path:line_number to allow the user to easily
  navigate to the source code location.
- Do not use a colon before tool calls. ... text like "Let me read
  the file:" followed by a read tool call should just be "Let me
  read the file." with a period.

Logo em seguida, o bloco # Text output trata do orçamento de saída — quanto texto produzir e onde colocá-lo. É aqui que aparece o Padrão 7 (Orçamento de Concisão) em ação:

A regra do terminal (4.6, linhas 55–64)

  • "Antes da 1ª chamada de ferramenta, diga em uma frase o que vai fazer."
  • Updates curtos em momentos-chave: ao achar algo, mudar de direção, travar.
  • "Brief is good — silent is not." Uma frase quase sempre basta.
  • Resumo de fim de turno: 1–2 frases. O que mudou e o que vem depois.

Não narrar deliberação

"Don't narrate your internal deliberation. User-facing text should be relevant communication to the user, not a running commentary on your thought process."

Concisão aqui não é só "responder curto" — é escolher o que merece ir para o texto. O pensamento fica no thinking; o texto leva resultados e decisões.

💡

Quando explicar mais

O 4.6 já traz o critério de calibragem: "Match responses to the task: a simple question gets a direct answer, not headers and sections." Concisão é relativa à tarefa, não um teto fixo. Pergunta exploratória → 2–3 frases com recomendação e tradeoff (linha 19). Tarefa simples → resposta direta.

⌨️
Tom de terminal
sem emoji, monospace
📏
Orçamento de saída
1–2 frases por update
🔇
Não narrar pensamento
resultados, não processo
🔗
file_path:line
referência clicável
3

Como agir sem perguntar — autonomia calibrada

O contraponto da comunicação é a autonomia: agir sem pedir permissão quando a ação é segura. A regra-mestra do Claude Code é simples e poderosa — calibre pela reversibilidade e pelo blast radius da ação, não pela importância dela.

Agir sozinho (local e reversível)

  • Ler arquivos, fazer grep, explorar o repositório
  • Editar arquivos locais e rodar testes
  • Criar branch local, fazer commit local
  • Seguir o caminho óbvio sem devolver um menu de opções

Confirmar antes (irreversível ou externo)

  • Deletar arquivos/branches, rm -rf, drop de tabela
  • Force-push, git reset --hard, amend de commit publicado
  • Push, abrir/comentar PR, enviar Slack/e-mail
  • Subir conteúdo a serviço externo (vira público, indexável)
claude-code-2.1.172-opus-4.6.md — # Executing actions with care (linha 34)
Generally you can freely take local, reversible actions like
editing files or running tests. But for actions that are hard to
reverse, affect shared systems ..., check with the user before
proceeding. The cost of pausing to confirm is low, while the cost
of an unwanted action ... can be very high.

A assimetria que justifica a regra

A política não é "seja cauteloso sempre" — seria voltar a perguntar demais. É uma análise de custo assimétrico: parar para confirmar custa pouco; uma ação indesejada (trabalho perdido, mensagem enviada, branch deletada) custa muito. Logo, autonomia total no lado barato/reversível, confirmação no lado caro/irreversível.

↩️
Reversibilidade
eixo de decisão #1
Agir no barato
local e reversível
⚖️
Custo assimétrico
pausa barata, erro caro
🚫
Sem atalho destrutivo
root cause, não --no-verify
4

Quando confirmar — o teste das 3 perguntas

"Confirmar antes" não é um sentimento — é um teste. Uma ação cruza o limiar de confirmação se responder "sim" a qualquer uma de três perguntas. E há uma sutileza crucial sobre autorização que o prompt deixa explícita.

01

É difícil de reverter?

Force-push, reset --hard, remover dependência, sobrescrever mudanças não commitadas. Se o "ctrl-Z" não existe, confirme.

02

Afeta estado compartilhado / é visível a outros?

Push, PR, mensagem em Slack/e-mail, infra compartilhada. O blast radius sai do ambiente local. Confirme.

03

Vai para um serviço externo (publica)?

Renderizadores de diagrama, pastebins, gists. "It may be cached or indexed even if later deleted." Pode ser sensível. Confirme.

💡

A regra mais sutil: autorização não se estende

No 4.6 (linha 34): "A user approving an action (like a git push) once does NOT mean that they approve it in all contexts ... Authorization stands for the scope specified, not beyond."

Ou seja: o usuário aprovou aquele push, não "pushes em geral". A exceção é autorização durável — instruções no CLAUDE.md ou um "opere de forma autônoma" explícito. Aí o agente prossegue, mas ainda atento ao risco.

Diante de um obstáculo: investigar

  • Achar a causa-raiz e corrigir o problema de fundo
  • Resolver conflito de merge em vez de descartar mudanças
  • Investigar arquivo/branch desconhecido — pode ser trabalho em andamento

Atalho destrutivo: nunca

  • Usar --no-verify para passar do hook que reclama
  • Deletar o lock file em vez de ver qual processo o segura
  • Sobrescrever estado inesperado sem entender o que é
3️⃣
Teste das 3 perguntas
reverter · compartilhar · publicar
📜
Escopo da autorização
vale só o que foi pedido
🗂️
Autorização durável
CLAUDE.md sobrepõe
🔍
Investigar antes
de deletar/sobrescrever
5

Conexão com os Padrões 7 e 11

Comunicação e autonomia não são padrões novos isolados — elas aplicam dois padrões do catálogo da Trilha 1 a um contexto de agente. Reconhecer essa conexão é o que transforma a leitura de um prompt em entendimento de princípio.

7

Orçamento de Concisão

O bloco # Text output é o Padrão 7 puro: define quanto texto cabe ("1–2 frases por update", "resumo de fim de turno em 1–2 frases").

No terminal o orçamento é apertado de propósito — cada linha extra polui o histórico. Concisão é gestão de um recurso escasso, não estilo.

11

Hierarquia de Prioridade

"Confirmar antes" é sobrescrito por autorização durável (CLAUDE.md). Isso é precedência: a instrução do usuário vence o default do prompt.

E uma skill carregada não vence o usuário: ela altera o comportamento dentro do espaço que o usuário permitiu. Usuário > skill > default.

A precedência declarada (4.6, linha 34)
This default can be changed by user instructions - if explicitly
asked to operate more autonomously, then you may proceed without
confirmation ... unless actions are authorized in advance in
durable instructions like CLAUDE.md files, always confirm first.

Usuário × Skill: quem manda?

Quando uma skill diz "seja terse como caveman" e o usuário pede uma explicação detalhada, o usuário vence. A skill define o como dentro do espaço autorizado; o usuário define os limites desse espaço. É a mesma lógica de "autorização não se estende": quem detém a precedência é sempre a instrução mais próxima da intenção real do usuário.

📏
Padrão 7
orçamento de concisão
🔢
Padrão 11
hierarquia de prioridade
👤
Usuário > default
instrução sobrepõe
🧩
Skill no espaço
não vence o usuário
6

A evolução das seções: 4.6 → 4.8 → Fable 5

Aqui está o diferencial deste acervo: dá pra ver a mesma política sendo reorganizada três vezes em poucos meses. O conteúdo é estável; o que muda é como ele é embalado — e cada reembalagem conta uma história sobre o que estava falhando.

4.6

Espalhado em 4+ seções nomeadas

2088 linhas

A política mora em blocos separados: # Doing tasks, # Executing actions with care, # Tone and style, # Text output. Muitos bullets, prosa generosa, exemplos enumerados de ações arriscadas.

Sinal: a regra é nova o bastante para precisar de muito espaço e muitos exemplos explícitos.

4.8

Consolidado em # Harness

1798 linhas (−290)

As 4 seções colapsam num bloco denso: 5 bullets curtos + um parágrafo só que comprime "Executing actions with care". "Tone and style" e "Text output" praticamente somem como títulos — viram regra internalizada. Toda a confirmação de risco cabe em uma frase (linha 16).

Sinal: comportamento já estabilizado no treino → menos prompt necessário. É consolidação por internalização (a lição central da Trilha 2).

F5

Reexpandido em # Communicating with the user

1821 linhas (+23)

Comunicação volta a ser uma seção nomeada e em prosa — mas com ideias novas, não as antigas: "Lead with the outcome", a regra de que tudo que o usuário precisa deve estar na mensagem final do turno, e a tese explícita "being readable and being concise are different things, and readable matters more".

Sinal: a falha mudou. Não é mais "agente fala demais" — é "agente comprime tanto que vira ilegível (setas, jargão, fragmentos)". O prompt corrige o novo erro.

claude-code-2.1.172-fable-5.md — # Communicating with the user (linha 22)
Being readable and being concise are different things, and readable
matters more. ... The way to keep output short is to be selective
about what you include ..., not to compress the writing into
fragments, abbreviations, arrow chains like `A -> B -> fails`,
or jargon.
💡

A lição do arco 4.6 → 4.8 → Fable 5

Reorganizar uma seção não é cosmética: cada movimento corrige o efeito colateral do movimento anterior. O 4.8 enxugou demais a comunicação; o Fable 5 reabre a seção para impedir que "conciso" vire "ilegível". Promover algo de volta a um título nomeado é um sinal tão forte quanto removê-lo.

🗃️
4.6: espalhado
4+ seções, muitos bullets
📦
4.8: consolidado
# Harness, −290 linhas
📖
F5: reexpandido
readable > concise
🔄
Correção de saldo
cada arco corrige o anterior

📝 Resumo do Módulo

O gargalo migrou para a interação — modelos já executam bem; falham em perguntar demais ou agir de mais. Por isso surgem seções dedicadas a comunicação e autonomia.
Comunicar é orçamento, não estilo — tom de terminal, 1–2 frases por update, não narrar deliberação, calibrar à tarefa (Padrão 7).
Autonomia calibra por reversibilidade — aja sozinho no local/reversível; o custo assimétrico justifica confirmar só no caro/irreversível.
Confirmar = teste das 3 perguntas — difícil de reverter? afeta o compartilhado? publica em serviço externo? E autorização não se estende além do escopo pedido.
Padrões 7 e 11 em ação — concisão como recurso escasso; precedência usuário > skill > default, com CLAUDE.md como autorização durável.
A seção evoluiu 3 vezes — 4.6 espalhada → 4.8 consolidada em # Harness (−290 linhas) → Fable 5 reexpandida ("readable > concise"). Cada arco corrige o anterior.

Atividade do módulo

Abra Anthropic/Claude Code/claude-code-2.1.172-opus-4.6.md na seção # Executing actions with care (linhas 32–42) e liste 3 regras de "quando confirmar". Entregável: resumo da política de autonomia de um agente — em prosa, não em setas.

Próximo módulo

2.5 — Caso OpenAI: personalidades e a família GPT-5.x → 5.5