Parte 4: Execute o trabalho
Você tem um arquivo de regras, contexto engenheirado e verificação em vigor. Agora você executa o trabalho de verdade. As duas perguntas que decidem o quão bem isso vai correr: qual modo você está usando e qual tipo de agente se encaixa na tarefa.
Dois modos: condutor e orquestrador
A maioria dos desenvolvedores alterna entre dois modos ao longo do dia. Eles exigem habilidades diferentes, e usar o modo errado para a tarefa é uma fonte comum de frustração.
Modo condutor é em tempo real, hands-on. Você está no editor, observando o código aparecer, dirigindo com prompts e correções, mantendo controle fino. Você entende cada mudança conforme ela é feita.
- Melhor para: lógica complexa, depuração difícil, bases de código desconhecidas — em qualquer lugar que você precise entender cada etapa.
- O risco: se você dirige cada tecla pressionada, você se torna o gargalo e o ganho de velocidade desaparece.
Modo orquestrador é assíncrono e de nível mais alto. Você define um objetivo, entrega a um agente e revisa o resultado — não as teclas pressionadas. Os agentes podem rodar em segundo plano, em paralelo, em diferentes partes da base de código.
- Melhor para: trabalho bem especificado — correções de bugs, migrações, geração de testes, funcionalidades que seguem um padrão estabelecido.
- O problema: requer mais disciplina antecipada, não menos. Você precisa escrever uma especificação precisa antes de poder delegar. O retorno chega na segunda tarefa, não na primeira.
O modo orquestrador recompensa um conjunto de habilidades diferente da fluência em sintaxe:
- Especificação — defina a tarefa com precisão suficiente para que um agente execute sem adivinhar.
- Decomposição — quebre trabalho grande em unidades do tamanho de um agente.
- Avaliação — julgue a qualidade da saída rapidamente.
- Design de sistema — construa as restrições e ciclos de feedback que mantêm os agentes produtivos.
Três lugares onde os agentes se encaixam no seu dia
Olhando a mesma imagem de um ângulo diferente, os agentes aparecem em três locais. A maioria das pessoas usa os três.
- No editor — conclusão inline e chat no lugar, com consciência de toda a base de código. É aqui que você se mantém em fluxo. (Copilot, Cursor, Windsurf, JetBrains AI.)
- No terminal — você lança o agente, entrega um objetivo em linguagem natural e o deixa trabalhar em arquivos, executando ferramentas e testes e reagindo aos resultados. É aqui que acontece o trabalho hands-on sério. (Claude Code, Codex CLI e similares.)
- Em segundo plano — o agente roda de forma autônoma em um sandbox, às vezes por horas, e entrega de volta um pull request para revisar depois. (Jules, modo agente do Copilot, agentes em segundo plano do Cursor.)
O mapeamento é intuitivo uma vez que você o vê: agentes no editor se encaixam enquanto você escreve; agentes no terminal se encaixam em exploração multi-arquivo e executar-e-reagir; agentes em segundo plano se encaixam em qualquer coisa que você possa descrever em um parágrafo e se afastar. O ponto de partida certo é a tarefa, não a ferramenta que reivindica mais autonomia.
Execute dentro de um sandbox
Quando o agente executa código — rodando testes, tentando uma correção, lendo arquivos — ele deve fazer isso dentro de um sandbox isolado com um conjunto definido e limitado de ferramentas e acessos. É isso que torna o loop autônomo "pensar → agir → observar" seguro: o agente pode tentar coisas e falhar sem tocar em nada que não deveria.
O problema dos 80% (onde as coisas dão errado)
Um agente vai gerar aproximadamente 80% de uma funcionalidade rapidamente. Os 20% restantes — casos extremos, tratamento de erros, pontos de integração, correção sutil — precisam de contexto profundo que o modelo geralmente não tem. E é exatamente aí que vivem as falhas de produção.
O perigo mudou. Os primeiros erros de IA eram erros de sintaxe óbvios. Os erros de hoje são conceituais: uma suposição errada sobre lógica de negócio, um caso extremo perdido, uma escolha arquitetural que acumula silenciosamente dívida de manutenção. São difíceis de detectar precisamente porque o código parece correto e pode até passar em testes básicos.
Concretamente:
# The agent's 80%: looks correct, passes the happy-path test
def apply_discount(price, percent):
return price * (1 - percent / 100)
Os 20% ausentes são tudo que o agente não sabia perguntar: percent pode ultrapassar 100? price é um valor inteiro em centavos ou um float? Qual arredondamento de moeda se aplica? Um desconto de 100% deve ser permitido, ou isso sinaliza um bug upstream? Nada disso é visível no código — são regras de negócio que você detém e o modelo não.
Os desenvolvedores que se saem bem não tentam ir mais rápido aceitando tudo. Eles usam o agente nos 80% bem especificados e gastam sua própria atenção nos 20% que precisam de julgamento.
Configure seu próprio fluxo de trabalho
- Antes de uma tarefa, escolha conscientemente condutor ou orquestrador — e perceba quando você está conduzindo trabalho que deveria ter delegado.
- Combine o local do agente com a tarefa: editor para em fluxo, terminal para multi-arquivo, segundo plano para se afastar.
- Garanta que a execução de código aconteça em um sandbox com acesso com escopo.
- Para cada funcionalidade, anote os 20% — os casos extremos e as regras de negócio — e revise essas linhas você mesmo, mesmo que os testes passem.