Uma sugestão de IA é um rascunho, nunca um commit pronto

Prévia grátis 3 min de leitura

Duas coisas que parecem iguais na tela

Uma ferramenta agêntica, do tipo que Ferramentas de IA: introdução (Cursor & Antigravity) apresentou, devolve um método para Article com cara de pronto: indentação limpa, um nome sensato, nenhum sublinhado vermelho. Um pull request de um colega que escreveu e testou o mesmo método à mão parece igual na tela. O destaque de sintaxe não distingue "alguém conferiu isto" de "um modelo previu que isto parece certo". Essa semelhança é o motivo desta aula.

O que "rascunho" quer dizer aqui

Um rascunho é algo escrito para ser conferido, não algo já conferido. A saída de uma ferramenta agêntica é um rascunho nesse sentido. Ela foi produzida prevendo uma continuação plausível do seu pedido a partir de padrões do treinamento, não raciocinando sobre as regras deste projeto e confirmando-as. Isso não a torna inútil; uma primeira versão útil vale a pena. Torna-a tão inacabada quanto a primeira versão que um colega júnior te entrega antes de testar.

O que "pronto para merge" exige

Neste projeto, código pronto para merge cumpre quatro condições:

  1. Segue as convenções do Rails.
  2. Fica num contexto delimitado com nome. O arquivo de convenções do projeto, MEMORY.md, chama a organização por domínios de estrita: nada de controllers, models, services ou helpers na raiz.
  3. Não quebra em silêncio uma regra em outro lugar do código.
  4. Uma pessoa que entende por que ele está certo o conferiu. Vê-lo rodar não basta.

O rascunho de uma ferramenta agêntica não cumpre a quarta condição sozinho. Rodar sem erro não é o mesmo que estar certo. Article.new(params[:article]) não mostra essa lacuna; mostra o oposto. A aula 1 de Parâmetros e segurança mostrou o Rails recusando isso com ActiveModel::ForbiddenAttributesError, uma proteção falhando alto. O rascunho perigoso roda sem erro: params.require(:article).permit(:title, :published_at, :admin_only), uma lista de permit com um campo a mais. Nada levanta erro, nada avisa, e uma requisição agora consegue definir uma coluna que nenhum formulário deveria alcançar.

Para onde este curso vai

A aula 2 faz a pergunta que esta prepara: quando um rascunho vai ao ar e se revela errado, de quem é o nome no erro? A aula 4 volta ao article_params, o método que Parâmetros e segurança passou um curso inteiro abrindo, como estudo de caso de um rascunho que parece pronto e não está.

Pontos-chave

  • A saída de uma ferramenta agêntica e uma mudança humana testada podem parecer idênticas; o destaque de sintaxe nunca mostra qual foi conferida.
  • "Rascunho" quer dizer produzido prevendo uma continuação plausível, não confirmando as regras deste projeto.
  • Rodar sem erro não é estar certo; o rascunho que preocupa roda sem erro, como uma lista de permit com um campo a mais.
  • Um rascunho só fica pronto para merge depois que alguém que entende por que ele está certo o confere.
Aula 1 de 7 · grátis

Continue com a aula 2

De quem é o resultado: responsabilidade não se transfere

Mostra que a responsabilidade por uma mudança em produção fica com quem a revisou e aprovou.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...