Uma sugestão de IA é um rascunho, nunca um commit pronto
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:
- Segue as convenções do Rails.
- 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. - Não quebra em silêncio uma regra em outro lugar do código.
- 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
permitcom um campo a mais. - Um rascunho só fica pronto para merge depois que alguém que entende por que ele está certo o confere.
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.