IA para PHP: como fazer com que o AI Assistant gere implementações de testes
Começamos esta série analisando como o JetBrains AI Assistant pode gerar testes a partir de uma implementação existente. Mas, e se quisermos usar o AI Assistant ao contrário? E se quisermos adotar uma abordagem de desenvolvimento mais orientada a testes, escrevendo nossos testes primeiro e fazendo com que o AI Assistant gere uma implementação para nós?
Vamos dar uma olhada em como podemos fazer isso.
Gerar código com o chat do AI Assistant
A primeira etapa para gerar uma implementação é ter um teste. Vamos supor que estamos construindo um barramento de comando e temos o seguinte teste:
Não escrevemos mais nada – ainda não existe uma classe CommandBus
, muito menos uma implementação para os métodos handle
e getHistory
. Vamos usar o AI Assistant para gerar a implementação para nós. Para começar, abra o menu AI Actions selecionando o texto e pressionando Alt+Enter / ⌥Enter. Em seguida, escolha New Chat Using Selection:
O PhpStorm abrirá a janela de chat do AI Assistant. Aqui, você pode conversar com o AI Assistant e perguntar o que quiser. O snippet de código que você selecionou já estará presente na janela de chat, então vamos dar um prompt simples – “write an implementation for this test” (escreva uma implementação para este teste):
Em alguns segundos, o AI Assistant terá a implementação pronta:
Vamos copiar esse código em um arquivo e executar nosso teste para ver o que acontece:
Funciona! O AI Assistant escreveu uma implementação funcional para nosso teste. Percorrendo o código, parece uma implementação sólida, embora iremos alterar alguns detalhes estilísticos. Nosso objetivo com o AI Assistant ao longo desta série não foi fazer com que o AI Assistant escrevesse o código perfeito para nós, mas gerar aquele código básico chato que podemos usar como ponto de partida, economizando um tempo valioso. Foi exatamente isso que o AI Assistant fez!
E se quisermos usar esse prompt várias vezes? Existe uma maneira de reutilizá-lo?
É claro que sim!
Salvando prompts personalizados
Abra o menu AI Actions pressionando Alt+Enter / ⌥Enter em algum lugar do seu código. Em vez de escolher um item de menu existente, clique no link Add Your Prompts na parte inferior:
O PhpStorm permite escrever prompts personalizados e salvá-los como ações personalizadas de IA, que é o que queremos fazer neste caso. Dentro desses prompts, você pode usar a variável $SELECTION
, que conterá qualquer código que você selecionou, ao invocar seu prompt personalizado.
Vamos escrever um prompt para nosso caso de uso: criar a implementação para um teste selecionado:
Vamos experimentar! Selecione o teste novamente, pressione Alt+Enter / ⌥Enter para abrir o menu AI Actions , e você verá como a ação Write Implementation personalizada já está disponível!
Selecione a ação, e você verá que o PhpStorm escreve imediatamente a mensagem correta no AI Assistant, tornando nossa ação assistida por IA reutilizável!
Conclusão
Ao longo desta série, nós vimos vários exemplos de como podemos usar o AI Assistant em nosso benefício. Não esperamos que ele escreva um código perfeito, mas o usamos para gerar o código básico que podemos usar como ponto de partida. É interessante ver o quão preciso o AI Assistant é ao escrever códigos que funcionam, e estou ansioso para ver ele melhorar ainda mais nos próximos lançamentos.
Pessoalmente, não acho que a IA substituirá os programadores reais tão cedo, mas acho que é uma ótima ferramenta que pode ajudar a acelerar o processo de escrita de código, especialmente as partes rotineiras, para que possamos nos concentrar nas partes do nosso código que mais importam.
Quais são suas expectativas em relação à IA para ajudá-lo em seu trabalho? Compartilhe sua opinião nos comentários!
Links úteis
Gostou de ler este post do nosso blog? Aqui estão mais posts desta série:
- IA para PHP: como automatizar testes de unidade usando o AI Assistant
- IA para PHP: como ajustar prompts de IA para melhorar testes de PHP
Recursos:
- AI Assistant no PhpStorm (documentação)
- Preços do AI Assistant
Vídeos:
Artigo original em inglês por: