Como rever uma especificação escrita por IA:uma lista antes de o agente construir.

Um agente de IA escreve em um minuto uma especificação segura e arrumada. É esse o perigo: lê-se bem mesmo quando está errada. Esta lista mostra o que procurar antes de dizer ao agente para começar a construir.

macOS 14 ou posterior. Ler é grátis; editar e rever são um pagamento único.

Resposta rápida

Reveja uma especificação escrita por IA como reveria uma pull request: verifique se resolve o problema certo e depois procure o que falta. Passe por âmbito e não-objetivos, casos-limite, dados e migrações, testes e reversão, e deixe um comentário em cada passagem que queira alterar antes de o agente escrever código.

- [ ] Scope matches what I asked for
- [ ] Non-goals are listed
- [ ] Edge cases and errors are covered
- [ ] Data and migrations are explicit
- [ ] Tests prove each requirement
- [ ] There is a rollback

·

Porque é que as especificações de IA pedem outro tipo de revisão

Uma pessoa que redige uma especificação tende a deixar lacunas onde tem dúvidas. Um modelo escreve texto fluente sobre tudo, incluindo as partes que adivinhou. Assim, os sinais habituais de uma especificação fraca, redação vaga e buracos óbvios, não aparecem, e os problemas ficam escondidos em frases seguras. Reveja procurando as coisas sobre as quais um bom autor teria perguntado.

A lista de verificação

  1. Âmbito: resolve o que pediu?

    Compare o primeiro parágrafo com o seu pedido. Procure um problema diferente resolvido em vez do seu e funcionalidades que ninguém pediu.

  2. Não-objetivos: o que não vai fazer?

    Uma especificação sem não-objetivos não tem limites. Junte os extras que não quer.

  3. Pressupostos: o que adivinhou?

    Procure "presumivelmente", "provavelmente" e tudo o que seja afirmado como facto sobre código ou dados que possa não ter lido. Peça-lhe que cite os ficheiros.

  4. Casos-limite: o que acontece quando algo corre mal?

    Entrada vazia, entrada muito grande, sem permissão, sem rede, dois utilizadores ao mesmo tempo, a mesma ação duas vezes.

  5. Dados: o que é guardado, alterado ou apagado?

    Campos, formatos, quem os pode ler e o que acontece aos registos existentes.

  6. Migrações: como passam os dados antigos?

    Uma alteração de esquema precisa de uma ordem de passos, de um plano para uma falha a meio e de uma forma de a executar duas vezes em segurança.

  7. Interfaces: que mais é afetado?

    APIs, ecrãs, tarefas, código de outras equipas. Tudo o que a especificação altera mas não lista será uma surpresa mais tarde.

  8. Segurança e privacidade: quem pode fazer o quê?

    Novas permissões, novos dados a sair do sistema, segredos nos registos.

  9. Testes: como vai saber que funciona?

    Cada requisito deve corresponder a uma verificação. Se um requisito não pode ser testado, reescreva-o.

  10. Lançamento e reversão: como se desfaz?

    Uma flag, um lançamento faseado, uma forma de voltar atrás. "Corrigimos para a frente" não é um plano.

  11. Questões em aberto: quem as decide?

    Uma especificação honesta lista o que não sabe. Se não houver nenhuma, desconfie.

Um comentário que funciona

Um comentário vago recebe uma reescrita vaga. Um bom comentário de revisão aponta para uma só passagem, diz o que está errado e o que quer em vez disso:

> The export runs when the user taps Export.

Missing: what happens with a 2 GB file? Add a limit (R4) and an
error message, and say whether the export can be cancelled.

Mantenha os comentários separados do texto da especificação para o ficheiro ficar limpo, e agrupe-os: leia a especificação toda uma vez e depois comente, para o agente reescrever uma vez e não dez.

O ciclo de revisão

  1. Leia-a primeiro de ponta a ponta

    Antes de comentar, certifique-se de que percebeu todo o plano.

  2. Comente as passagens exatas

    Um problema por comentário.

  3. Deixe o agente rever

    Ele corrige cada comentário e produz uma nova versão.

  4. Verifique o que mudou, não o documento inteiro

    Leia as diferenças. Uma correção pode estragar algo que estava bem.

  5. Aprove só quando a lista estiver limpa

    Depois deixe-o construir, de acordo com os requisitos numerados.

A mesma lista serve quando um agente revê a especificação de outro. Peça ao revisor que responda a cada item com uma citação da especificação.

Fazê-lo no DotMD

Pode fazer tudo isto na própria página. No DotMD seleciona a passagem e escreve um comentário sobre ela; os comentários ficam no DotMD, não no ficheiro. O agente corrige-os e envia o documento de novo, e rever as alterações mostra o texto antigo a vermelho e o novo a verde para as poder aceitar uma a uma. A configuração está descrita em rever especificações de IA. A leitura é gratuita; veja os preços das revisões.

Erros comuns

  • Rever o estilo, e não a substância. Uma especificação arrumada também pode estar errada.
  • Aprovar porque é longa. Extensão não é cobertura.
  • Saltar os não-objetivos e a reversão, as duas secções que os modelos mais vezes deixam pobres.
  • Corrigir o código em vez da especificação. Se o plano está errado, corrija-o primeiro.
  • Sem segunda leitura. Depois de o agente rever, verifique o diff.

Perguntas sobre rever especificações escritas por IA

Como reviso uma especificação escrita por IA?

Verifique se resolve o problema certo e depois procure o que falta: não-objetivos, casos-limite, dados e migrações, testes e reversão. Comente cada passagem e peça ao agente que reveja antes de escrever código.

O que deve incluir uma lista de verificação para rever especificações?

Âmbito, não-objetivos, pressupostos, casos-limite, dados, migrações, interfaces, segurança, testes, lançamento e reversão, e questões em aberto.

Um agente de IA pode rever a especificação de outro agente?

Sim. Dê ao revisor a lista e peça-lhe que responda a cada item com uma citação da especificação. É sempre você a decidir o que aceitar.

Porque não ler simplesmente o código?

Nessa altura as decisões já foram tomadas e é caro mudá-las. Um pressuposto errado é mais barato de corrigir na especificação.

Mais perguntas