Ganhos:
- Capacidade de mapear categorias de conclusão do editor, assistente de chat, agente CLI e automação de CI para tarefas
- Capacidade de ajustar o nível de autonomia de acordo com o risco e aplicar a disciplina de “planejar primeiro” aos agentes CLI
- Capacidade de transformar o uso de IA em um sistema de equipe baseado em uma ferramenta validada, portão de verificação, transparência e responsabilidade
Até agora aprendemos a usar IA em tarefas individuais (codificação, revisão, teste, depuração). Nesta unidade final, juntamos as peças: conhecer diferentes ferramentas de codificação de IA, combinar a ferramenta certa com o trabalho certo e incorporá-las com segurança em seu fluxo diário de desenvolvimento – do editor ao controle de versão, do pipeline de CI/CD à governança da equipe. O objetivo é transformar o hábito confuso de “perguntar à IA de vez em quando” em um sistema de trabalho consistente e auditável.
Cobrimos tipos de veículos com categorias neutras (nomes de produtos específicos mudam rapidamente; o que importa é o que a categoria faz). Cada categoria tem um “ponto ideal” e um perfil de risco; Maestria é saber quanta autonomia dar para cada tarefa.
Categorias de ferramentas de codificação de IA
1. Conclusão no editor. Plugins que sugerem linhas/blocos conforme você digita em seu IDE (o ambiente de desenvolvimento onde você escreve o código). Ponto ideal: velocidade in-stream, código padrão. Risco: contexto estreito, aceitando a sugestão sem pensar.
2. Assistente de chat/painel lateral. Interface de chat incorporada no IDE com visibilidade de parte da sua base de código. Ponto ideal: descrição, refatoração, teste, análise de bugs. Risco: limitado ao contexto que você fornece, requer verificação.
3. Agentes CLI (ferramentas de agente). Ferramentas executadas a partir da linha de comando podem ler e modificar vários arquivos, executar comandos e executar tarefas de várias etapas por conta própria. Ponto ideal: alterações em vários arquivos, tarefas repetitivas, trabalhos do tipo "adicionar esta propriedade". Risco: alta autonomia = alto impacto; Se não for controlado, produz mudanças amplas e difíceis de verificar.
4. Integração linha/automação. Bots de CI (integração contínua) que deixam comentários de revisão automática em PRs, sugerem testes ou produzem registros de alterações. Ponto ideal: primeira peneira sem fadiga, consistência. Risco: ruído, falsa confiança.
Dica: À medida que a autonomia aumenta, o controle também deve aumentar. Como a conclusão do editor é pequena e instantânea, ela é levemente supervisionada; A modificação de vários arquivos de um agente CLI deve ser examinada da mesma forma, senão com mais cuidado, do que um PR humano.
Passo a passo: incorporando IA no fluxo de trabalho
- Mapeie a tarefa para a ferramenta. Pequena adição in-stream → conclusão; entender/refatorar/testar → conversar; trabalho repetitivo e com vários arquivos → agente CLI; primeiro filtro contínuo → integração CI.
- Escolha o nível de autonomia. Quanta liberdade o agente tem? Sugestão somente leitura ou modificação de arquivo + execução de comando? Ajuste para risco.
- Cultive o contexto. Introduzir permanentemente regras de projeto (estilo, arquitetura, "não fazer") na ferramenta; Use um arquivo de instruções do projeto em vez de explicá-lo continuamente.
- Manter portões de verificação. A mudança na IA é como a mudança humana: ela passa por compilação, teste, revisão e (se for crítica) aprovação de especialistas. A abertura de PR de IA não ignora a aprovação.
- Meça e ajuste. Observe o que realmente acelera, onde aumenta a carga de correção; Elimine usos que não funcionam.
Três Mini Estojos
Caso 1 — O agente CLI administrou a renomeação de vários arquivos. Uma equipe renomearia um conceito espalhado por 60 arquivos. Eles entregaram a tarefa a um agente CLI, primeiro solicitaram um plano, aprovaram o plano, depois fizeram a alteração e executaram todo o conjunto de testes. O Agente 3 perdeu um caso extremo no arquivo; Os testes detectaram e consertaram. O trabalho, que demorou aproximadamente 3 horas manualmente, foi concluído em 50 minutos com supervisão.
Caso 2 — A autonomia não controlada saiu pela culatra. Outro desenvolvedor disse a um agente para “melhorar este módulo” e o lançou; O agente modificou 18 arquivos e adicionou duas dependências. A mudança foi tão ampla que não pôde ser revista e teve que ser retirada. Lição: dê aos agentes um escopo restrito, critérios de aceitação claros e disciplina de primeiro planejar, depois fazer.
Caso 3 — O bot de revisão de CI se tornou o primeiro filtro. Uma equipe construiu um bot que deixa comentários automatizados de revisão de IA em PRs. Depois que o bot detectou omissões de verificação nula e problemas de estilo, os revisores humanos puderam dedicar seu tempo à lógica de negócios. No entanto, a equipe deixou claro que o bot não fornecia “aprovação”: ainda era necessária pelo menos uma aprovação humana. Para reduzir o ruído, eles ajustaram o barco para deixar apenas ruídos de alta/média intensidade.
Quatro modelos copiáveis
Disciplina "Planejar primeiro" para agente CLI:
Tarefa: {{tarefa clara e estreita}}Critérios de aceitação: {{resultado mensurável}}Restrição: trabalhar apenas em {{os seguintes diretórios/arquivos}}; adicionando nova dependência.Primeiro apresente um plano SEM MUDANÇA: quais arquivos, o que mudará, quais testes executar. Espere que eu APROVA o plano. Em seguida, aplique passo a passo, executando testes em cada etapa.
Arquivo de instruções do projeto (contexto persistente para ferramentas):
Regras persistentes para ferramentas de IA neste projeto: - Idioma/versão: {{...}}. Estilo: {{...}}.- Restrição arquitetônica: {{ex. direção entre camadas}}.- NUNCA: incorporar segredos, usar dados de produção, {{bibliotecas proibidas}}.- Toda mudança deve ser testável; Alterar a assinatura pública da API SEM perguntar. - Na dúvida, pare e pergunte.
Decisão de mapeamento de ferramenta de tarefa:
Eu defino a seguinte tarefa: {{task}}. Com que classe de ferramentas devo fazer isso: (a) conclusão do editor, (b) assistente de chat, (c) agente CLI, (d) automação de CI? Escreva sua justificativa, risco e nível de autonomia recomendado (mera sugestão/alterar arquivo/executar comando).
Código de conduta do bot de revisão de CI:
Deixe apenas resultados de gravidade ALTA e MÉDIA como comentários na revisão do PR. Cada achado: categoria, gravidade, correção sugerida. Colete notas no nível de preferência de estilo em um único comentário de resumo separado. Você NÃO CONSENTE; aprovação humana necessária.
Alerta fraco / Alerta forte
Fraco: (para o agente CLI) "Melhore o módulo de pagamento."
Forte: (Para o agente CLI) "Execute apenas em src/payments/. Tarefa: Extraia a lógica de validação recursiva da função refund() em um único auxiliar; o comportamento e as assinaturas não mudam. Primeiro apresente o plano e aguarde minha aprovação; em seguida, execute e execute o pacote testes/pagamentos/. Adicione nova dependência."
A versão forte restringe o escopo, estabelece critérios e restrições de aceitação e impõe a disciplina de “planejar primeiro”. As vagas exigências de “fazer melhor” são a causa raiz de mudanças vastas e incontroláveis.
classe de veículo
No que ele é melhor
autonomia
peso de inspeção
Conclusão do editor
Pequena adição in-stream
baixo
Leve (leitura instantânea)
assistente de bate-papo
Entenda, teste, refatore
médio
Médio (verificação de saída)
Agente CLI
Vários arquivos, recursivos
alto
Pesado (plano + revisão completa)
Automação de CI
Primeiro filtro contínuo
médio
Médio (regra + aprovação humana)
Governança de Equipe: Da Habilidade Individual ao Sistema Compartilhado
Usar bem a IA individualmente é um começo; a verdadeira maturidade é um sistema consistente no nível da equipe. Este sistema é baseado em vários pilares: lista de ferramentas aprovadas (quais ferramentas podem ser usadas com quais dados — da unidade 10), portas de verificação (a mudança de IA passa pelas mesmas portas de construção/teste/revisão — da unidade 11), transparência (afirmar que uma mudança é alimentada por IA fornece rastreabilidade quando necessário) e clareza de responsabilidade (a pessoa que assina e é responsável é clara). Essa estrutura limita os riscos, ao mesmo tempo que mantém a velocidade e garante que os novos membros da equipe trabalhem com a mesma disciplina.
Cuidado: Quanto maior a autonomia de uma ferramenta (especialmente agentes CLI que podem modificar arquivos e executar comandos), mais estritamente ela limitará o acesso ao ambiente de produção, dados confidenciais e operações difíceis de reverter. Vincule comandos destrutivos (exclusão permanente, implantação) à aprovação humana.
Erros comuns
- Tarefa significa incompatibilidade. Tentando fazer um trabalho de vários arquivos com conclusão do editor ou um pequeno anexo com um agente pesado.
- Liberando o agente. As tarefas do agente dadas com escopo restrito e sem um “planejar primeiro” produzem mudanças não examinadas.
- Afrouxando as portas de verificação para IA. “A IA conseguiu, vamos seguir em frente rapidamente” é a exceção mais perigosa; As portas são iguais para todos.
- Fornecendo o contexto manualmente sempre. Não escrever as regras do projeto em um arquivo de instruções permanente produz inconsistência e duplicação.
- Confundir a aprovação do bot de CI com aprovação humana. Um bot é um filtro; A aprovação humana responsável é obrigatória.
Resumindo
As ferramentas de codificação de IA se enquadram em quatro categorias principais: conclusão do editor, assistente de chat, agentes CLI e automação de CI. Domínio é combinar a tarefa com a ferramenta certa e com o nível certo de autonomia; À medida que a autonomia aumenta, o controle também aumenta. Dê às ferramentas um contexto de projeto persistente, imponha uma disciplina de “planejar primeiro” aos agentes de vários arquivos e passe as mudanças de IA pelos mesmos portões de verificação que as mudanças humanas. Habilidade individual; Transforme-o em um sistema de equipe baseado em uma lista de ferramentas aprovadas, portas de verificação, transparência e clareza de responsabilidade. AI é um multiplicador de velocidade ponta a ponta; Quem assina e presta contas é sempre uma pessoa competente.
Tarefa de aplicativo
Liste três tarefas reais que você fará na próxima semana. Use o modelo de “decisão de correspondência entre tarefa e veículo” para cada um, para justificar qual classe de veículo e qual nível de autonomia você escolherá. Em seguida, execute uma tarefa restrita para um agente CLI (ou assistente de chat) com uma disciplina de “planejar primeiro”: aprovar o plano, aplicá-lo, executar os testes e revisar a mudança como um PR humano. Por fim, elabore uma “regra de uso de IA” de 5 pontos para sua equipe (ferramentas aprovadas, regra de dados, portão de verificação, limite de autonomia, responsabilidade).
lista de verificação
- [] Posso distinguir entre categorias de ferramentas de codificação de IA e o ponto ideal de cada uma.
- [ ] Mapeio a tarefa para a classe correta do veículo e o nível de autonomia apropriado.
- [] Dou contexto de projeto permanente (arquivo de instruções) às ferramentas.
- [] Eu aplico escopo restrito e disciplina de "planejar primeiro" aos agentes CLI.
- [] Eu passo as mudanças de IA pelos mesmos portões de verificação que as mudanças humanas.
- [] Defendo uma ferramenta validada, regras de dados, transparência e estrutura de responsabilidade em nível de equipe.
Exame do Módulo
1. O que o modelo de linguagem grande subjacente de um assistente de codificação realmente faz quando produz código?
- A) Prevê de forma padronizada a continuação mais provável com base no contexto fornecido ✔
- B) Garante o resultado correto compilando e executando o código
- C) Ele verifica o código em toda a Internet ao vivo e copia o mais preciso.
- D) Compreende a lógica do código como um engenheiro humano e entende a intenção
Esclarecimento: o LLM não “entende” o código como um ser humano; Ele gera a continuação mais provável para um determinado contexto, com base em padrões que aprende a partir de um conjunto muito grande de texto e código. Portanto, a qualidade do resultado depende diretamente da qualidade do contexto e da instrução que você dá, e cada resultado deve ser validado.
2. Como você chama quando a IA inventa de forma convincente uma função ou biblioteca inexistente, e qual é o único antídoto real?
- A) Isso é chamado de erro de compilação; O antídoto é um equipamento mais forte
- B) Isso se chama alucinação; O antídoto é verificar o código e cada API utilizada ✔
- C) Isso é chamado de regressão; O antídoto é reiniciar o modelo
- D) Isso é chamado de estouro de contexto; O antídoto é encurtar o prompt
Descrição: Isso é chamado de alucinação e causa um dos bugs mais caros do software. O único antídoto real é a verificação: confirmar se cada função, API e pacote usado realmente existe e se o código funciona. O tom confiante do modelo não é evidência de precisão.
3. Qual abordagem melhora mais a qualidade e a consistência do resultado ao gerar código com IA?
- A) Liberar o modelo dizendo 'escreva isso para mim' sem fornecer nenhum contexto
- B) Escrever o prompt mais longo e sofisticado possível
- C) Especifique e dê exemplos de contrato de entrada/saída, casos extremos, versão e estilo ✔
- D) Combinar o código gerado diretamente sem lê-lo
Explicação: Determinar os tipos de entrada/saída da função (contrato), casos extremos, idioma/versão e restrição de estilo e dar um exemplo ao modelo permite a transição da previsão para a precisão. Solicitações sem contexto do tipo 'escreva-me isto' produzem código que é diferente a cada vez e geralmente ignora casos extremos.
4. Ao explorar uma base de código estrangeira com IA, o nome de uma função pode ser 'validateAndSave', mas o resumo da IA pode estar incorreto. Qual é a abordagem correta?
- A) Confiança total no resumo da IA, pois o nome é autoexplicativo
- B) Alterar a função diretamente sem lê-la
- C) Decidir apenas olhando o nome da função
- D) Trate a descrição da IA como uma hipótese e verifique as afirmações críticas linha por linha no código ✔
Explicação: a IA pode olhar para o nome no código e dizer “o que parece estar fazendo”, mas na realidade a lógica pode ser diferente (ou até invertida). Portanto, a explicação da IA é uma hipótese; Alegações críticas, especialmente aquelas que envolvem segurança, autoridade ou fluxo de dinheiro, devem ser verificadas visualmente nas linhas relevantes.
5. Qual é o maior perigo em dizer “A IA pareceu, está claro” na revisão de código assistida por IA?
- A) A IA pode produzir falsos negativos; Erros reais perdidos criam falsa confiança ✔
- B) A revisão da IA é muito lenta, por isso é uma perda de tempo
- C) A equipe não entende porque a IA só comenta em inglês
- D) PR não converge porque a IA sempre interpreta demais
Explicação: A IA produz falsos positivos (sinalizando um problema onde ele não existe) e falsos negativos (perdendo o bug real). Os falsos negativos são silenciosos; Os erros mais perigosos são aqueles que não são mencionados na revisão. Portanto, a IA é um primeiro filtro, não uma aprovação; A decisão de fusão pertence a uma pessoa responsável.
6. Qual é a armadilha mais insidiosa que ocorre quando você simplesmente fornece o código à IA e imprime os testes?
- A) A IA sempre escreve muitos testes e sobrecarrega a base de código
- B) A IA testa o comportamento atual (talvez errado) do código como ‘correto’ e corrige o bug ✔
- C) AI exclui código automaticamente ao escrever testes
- D) A IA escreve testes não apenas para o caminho feliz, mas sempre para o caso extremo
Explicação: a IA tende a analisar o código e escrever afirmações que testam o comportamento atual. Se o código estiver errado desde o início, a IA corrige esse comportamento errado como ‘correto’. Portanto, as expectativas do teste devem ser escritas de acordo com a regra (especificação) exigida, e não de acordo com a saída atual do código.
7. O que mais determina a precisão das hipóteses ao depurar um bug com IA?
- A) Quão educadamente o prompt é escrito.
- B) Quantas vezes a pergunta foi feita novamente
- C) Qualidade das evidências fornecidas ao modelo: mensagem de erro completa, stack trace, entrada e comportamento esperado ✔
- D) Em que tema de cores o código está escrito?
Explicação: a IA não vê o erro da mesma forma que você; Ele só conhece as evidências que você dá a ele. Dada a mensagem de erro completa, o rastreamento de pilha, a entrada de acionamento e o comportamento esperado, o modelo enumera as possibilidades reais; Se não houver nenhuma evidência, ele dá um palpite (alucinação) e leva você para o caminho errado.
8. Qual é a etapa mais crítica antes de fornecer os logs de produção à IA para análise?
- A) Colando o log como está, cobrindo o dia inteiro
- B) Converta o log para maiúsculas primeiro
- C) Organizando linhas de log em ordem alfabética
- D) Mascarar dados e segredos pessoais e fornecer apenas a janela relevante ✔
Descrição: os logs de produção brutos contêm IP, e-mail, ID de sessão, token e, às vezes, segredo aberto. Colocá-los em uma ferramenta de IA sem mascará-los é uma grave violação de privacidade. Além disso, o log deve ser filtrado para uma janela de tempo estreita; Mas a primeira necessidade é limpar dados confidenciais.
9. O que deve ser feito se a IA disser que dois eventos aconteceram ‘simultaneamente’ na análise de log e declarar um como a causa raiz?
- A) Desconsiderando a correlação como causalidade e verificando a afirmação com métricas e código ✔
- B) Aceitar a causa como definitiva porque a IA estabelece uma relação temporal
- C) Reiniciar imediatamente o primeiro componente acusado
- D) Excluir os logs completamente e coletá-los novamente
Explicação: A armadilha mais comum na análise de log é confundir correlação com causalidade. A relação temporal estabelecida pela IA é uma pista, não uma evidência. A verdadeira causalidade requer tempo, mecanismo e, se possível, repetibilidade; A declaração deve ser validada com métricas e código.
10. Qual é a regra de ouro inegociável ao refatorar com IA e o que a protege?
- A) O código deve ser mais curto; O número de linhas garante isso
- B) Sem mudança de comportamento; testes que capturam o comportamento atual garantem isso ✔
- C) O código contém mais comentários; IA garante isso
- D) Reescrever o arquivo inteiro de uma só vez; o agente garante isso
Explicação: Refatorar é melhorar a estrutura interna do código sem alterar seu comportamento externo; A regra de ouro é que o comportamento permaneça constante. O que garante isso são os testes: uma testnet que captura o comportamento atual antes de alterá-lo é configurada e executada após cada etapa. Refatorar sem testnet é uma aposta.
11. Qual é a camada na produção de documentação que a IA não consegue conhecer e é perigosa de criar?
- A) Como executar as etapas de instalação
- B) Lista de parâmetros de uma função
- C) Justificativa do 'porquê' uma decisão de design foi tomada dessa forma ✔
- D) Em que linguagem o código está escrito?
Descrição: a IA pode extrair a camada 'o que/como' (o que a função faz, como é configurada) do código; mas não pode saber a camada “por que” (a justificativa de projeto para uma decisão, a razão para um valor limite). Uma “razão” inventada é mais perigosa do que nenhuma justificação; O proprietário do código deve adicionar esta camada.
12. O que um desenvolvedor deve fazer se quiser colar um arquivo de configuração contendo uma chave de API ativa em uma ferramenta de IA não aprovada enquanto resolve um bug urgente?
- A) Para maior velocidade, cole o arquivo como está e exclua o bate-papo
- B) Adicione uma nota 'confidencial' no final do arquivo e envie-a
- C) Deixe a chave e altere apenas o nome do arquivo
- D) Remover/mascarar segredos e fornecer apenas o contexto não confidencial necessário ✔
Divulgação: Segredos, dados pessoais e ativos confidenciais nunca devem ser inseridos em meios não aprovados; A urgência não suspende esta linha vermelha. A abordagem correta é extrair/mascarar os segredos primeiro e fornecer apenas o contexto necessário e não confidencial. Se um segredo ainda vazar, a primeira coisa a fazer é virar essa chave imediatamente.
13. Um código gerado por IA passa nos testes e é executado em produção. Isso prova que o código é seguro?
- A) Não; 'funcionar' não significa seguro, segurança requer uma camada separada de autenticação ✔
- B) Sim; O código que passa no teste é seguro por definição
- C) Sim; Executá-lo em produção elimina todas as vulnerabilidades
- D) Não; mas a segurança só importa se o código for lento
Esclarecimento: 'Trabalhar' não é o mesmo que 'seguro'. Mesmo que o código contenha uma vulnerabilidade como injeção de SQL, ele pode passar no teste e funcionar sem problemas; A vulnerabilidade só é revelada quando um invasor a encontra. Portanto, além da precisão, a revisão e varreduras orientadas para a segurança, como o SAST, devem ser realizadas como uma camada separada.
14. Qual é a disciplina mais segura ao atribuir uma tarefa de vários arquivos a um agente CLI (ferramenta autônoma que pode modificar arquivos e executar comandos)?
- A) Dizer ao agente 'melhore este módulo' e dar total liberdade
- B) Fornecer escopo e critérios de aceitação restritos, solicitar primeiro um plano, aprová-lo, implementá-lo passo a passo e executar os testes ✔
- C) Mesclar diretamente todas as alterações do agente sem revisá-las
- D) Conceder ao agente acesso irrestrito ao ambiente de produção e aos dados confidenciais
Explicação: À medida que a autonomia aumenta, o controlo também deve aumentar. Dar ao agente um escopo restrito e critérios de aceitação claros, primeiro solicitando um plano sem alterações, aprovando o plano, depois implementando-o passo a passo e executando testes em cada etapa; Ele evita alterações amplas, irrevisíveis e que precisam ser revertidas.
15. Quem tem a responsabilidade decorrente do código gerado pela IA em software crítico para a segurança (por exemplo, pagamento ou autenticação)?
- A) Como o código vem da IA, ele está no fornecedor do veículo
- B) Se a IA estiver suficientemente desenvolvida, ninguém o fez; não há necessidade de verificar
- C) A equipe/engenheiro que examina, monta e distribui o código; IA não substitui consentimento ✔
- D) Somente a pessoa que escreve o prompt, não aqueles que o revisam
Descrição: AI é um multiplicador de velocidade e gerador de projetos; não pode assumir responsabilidade. A responsabilidade por quaisquer erros, vulnerabilidades ou violações decorrentes do código em produção é da equipe que analisa, monta e distribui esse código. Em áreas críticas de segurança, os resultados da IA não substituem a revisão e aprovação por um engenheiro qualificado em nenhuma circunstância.