Unidade 12 / 12

Ferramentas de codificação de IA e integração de fluxo de trabalho

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.