Latest / Entre Chaves / Snippet #15 Engenharia de prompt aplicada ao Git para detecção de bugs
Transcript
- 0:09Olá, tudo bem? Aqui é o Tiago e hoje a gente
- 0:11vai falar sobre um uso prático de engenharia de prompt usando
- 0:17Git mais agentes de a. Para a gente auxiliar a comparar
- 0:232 versões diferentes de um código, é isso tem uma aplicação
- 0:26prática em algumas situações. Eu vou focar aqui no uso dela
- 0:30para análise de incidentes em produção, na engenharia de pront
- 0:34e aqui dentro chaves. A gente já se falou bastante
- 0:38sobre engenharia de pront em si. Já está bem claro que contexto é
- 0:42um ponto chave de um bom prompt para ter bons resultados.
- 0:45Ganhar, né? Essa foi a ideia de que surgiu
- 0:47de usar de juntar com o kit com os agentes.
- 0:50O kit tem uma. Ferramenta muito boa e básica,
- 0:52que é o guitedif, que é o quem faz a diferenciação, né?
- 0:57Entre 2 comities quaisquer que você escolher ali da da sua
- 1:00árvore de comities, é basicamente isso que as ideias
- 1:03usam por trás para mostrar a gente o que que está sendo
- 1:05alterado, né? Então e vem essa ideia, por que
- 1:08não passar isso para IA, né? Para ser mais assertivo para ela
- 1:13em algumas situações, no caso de incidentes, alguns incidentes
- 1:17são óbvios, não requer uma análise, muito por.
- 1:20Ali pra gente achar o problema, né?
- 1:22Mas nem sempre é esse caso. Por acaso que OA causa raiz?
- 1:25Não ficou óbvio uma análise rápida ali, não, não, não trouxe
- 1:29resultados. Antigamente a gente ainda tinha
- 1:32algumas opções mais limitadas, por exemplo, guet bicet que ele
- 1:38é muito bom, eu gosto muito dele.
- 1:40Mas ele é moroso, ele tá, é demora, você tem um resultado
- 1:44nele. Em algumas situações, você
- 1:46precisa dar uma resposta rápida, né?
- 1:48Aí veio essa ideia do gitdiff que é, vou falar aqui com vocês,
- 1:51dado que você já sabe qual é o repositório, pelo menos quanto
- 1:55que está acontecendo o problema ou tem uma ideia de qual
- 1:58repositório que é? Você vai abrir esse repositório
- 2:01numa ideia entre sua preferência ali.
- 2:03Que ela tenha agentes de a, né? Por exemplo, o cursor ou vers
- 2:08code com Copilot, isso vai abrir 11 chat ali com ele.
- 2:12Nesse chat, a gente vai colocar 2 prompts, a gente vai separar o
- 2:14programa em 2. O primeiro é um prompt para
- 2:17contextualizar a situação, não necessariamente de forma
- 2:21técnica, para explicar o que está acontecendo, qual é o
- 2:23incidente? Eu vou passar o contexto para
- 2:26ele e qual que é o problema, né? Se eu estou tendo um problema de
- 2:28vazamento de memória, de performance, se é uma
- 2:31funcionalidade que está quebrada, se eu tiver o card
- 2:34ali, eu vou pôr o card lá e vou passar todos os detalhes para
- 2:38ele e tal, e vou solicitar uma confirmação do entendimento
- 2:42nesse prompt da e a, né? Que ela resume e confie vírus,
- 2:45principais pontos da desse incidente, do que que está
- 2:47acontecendo, sem pedir uma solução nesse momento, por quê
- 2:50isso é importante para eu confirmar aqui, eu estou sabendo
- 2:53explicar. A situação para o meu agente e
- 2:56também para entender se o agente conseguiu capturar a essência
- 3:00ali do que que é o problema, né? E confirmar esse objetivo.
- 3:04Do que que precisa ser resolvido se estiver errado a gente ter
- 3:08ali mais algumas vezes para até AO agente conseguir entender
- 3:11qual que é o problema. Feito isso, a gente vai para o
- 3:13segundo pront, que é um pront mais técnico agora.
- 3:16E aí eu vou dividir em 3 etapas aqui e a gente vai estabelecer
- 3:20uma persona para esse, para esse agente.
- 3:23Agora, como eu quero que ele seja técnico, por exemplo, eu
- 3:26vou falar com ele. Você é um engenheiro de software
- 3:28experiente. Logo depois eu vou estabelecer
- 3:30um método para ele procurar aumentar o contexto dele, que é
- 3:34os. Eu vou pra Pra Ele.
- 3:37Dado também que a gente sabe o Comite aonde o incidente não
- 3:40acontecia antes, né? Isso normalmente a gente
- 3:43consegue descobrir ali. Analisando os históricos e
- 3:45versões que subiram em prótese recentemente e tal, a gente tem
- 3:48uma noção pelo menos de qual Comite aonde o incidente não
- 3:51ocorria, né? Então eu vou passar para ele
- 3:53falar usando o gitdif entre o Comite IA né?
- 3:56Passar a resh onde o incidente não acontecia e o Comite b
- 4:00passando AA ultra Rex. Onde o incidente está ativo?
- 4:03Acontecendo lá em produção. Agora analise pop, foi as
- 4:07diferenças entre esses 2 comities.
- 4:09Por fim, a gente vai pedir para ele elencar os possíveis
- 4:13hipóteses, dado esse contexto aí da seguinte dívida, possíveis
- 4:17hipóteses que explicam que se relacionam com o incidente que
- 4:21foi reportado no prompt anterior.
- 4:24Recapitulando aí são 2 prompts, um para estabelecer a situação
- 4:28do incidente. E confirmar o entendimento.
- 4:30O segundo prompt mais técnico, usando o kit DIF para
- 4:34estabelecer um espaço de busca ali do do agente para que ele
- 4:37relacione esse DIF com o incidente.
- 4:40Vê se faz sentido, se tem alguma coisa ali, alguma linha, alguma
- 4:44falta de ponto, vírgula, né? Qualquer coisa do tipo que
- 4:47explica o incidente, que se relacione de alguma forma.
- 4:50E talvez seja Oo início ali da explicação do do motivo do
- 4:53incidente, né? Para achar a causa raiz.
- 4:55Isso tem sido bem útil aqui. É foi em alguma situação?
- 4:59Que eu precisei analisar, né? Que eu tinha preciso analisar um
- 5:02Coincidente que envolvia esse espaço de busca e meio grande
- 5:07que o guite disse né, o commit que a gente tinha certeza que o
- 5:10incidente não acontecia e o atual envolvia mudanças em
- 5:15muitos arquivos e isso iria demorar uma análise do que que é
- 5:18que está causando problema. E não eram problemas óbvios,
- 5:21assim, as coisas óbvias já tinham sido verificadas e usando
- 5:25esse método EIA, trouxe. Hipóteses bem certeiras, assim,
- 5:30diretas, que a gente IA demorar muito pra achar e aí a partir
- 5:33disso a gente pegou, mas normalmente confirmou, né?
- 5:35AA hipótese e falou, não realmente é esse o problema.
- 5:38A partir daí a correção usando e a novamente.
- 5:41Mas aí são outros toques, né? Mas é bastante, isso é bem
- 5:44bacana, o método dá pra usar pra outras coisas também.
- 5:47Uma que é válida citar aqui rapidamente é code review, usado
- 5:50como parcimônia. Não é para substituir o code
- 5:53review, ele é muito importante ser feito manualmente também o
- 5:56code review, para a gente não se contaminar ali pela análise.
- 5:59Só danhar, né? Mas após fazer essa análise
- 6:02manual, você pode usar esse método também para fazer code
- 6:05review. Em vez de pedir hipóteses do
- 6:07incidente, você pode pedir uma análise do da saúde desse
- 6:11código, né? Da corretude, vamos dizer assim,
- 6:14concorreto está o código ali e tal, tem outros usos também para
- 6:18eles, mas é isso, obrigado por nos ouvir.
- 6:21Até a próxima.