Inteligência Artificial
Prompts perfeitos: maximize o potencial da IA generativa
6 minutos de leitura
O presente artigo busca apresentar a estrutura proposta por especialistas para extrair o máximo desempenho de modelos de Inteligência Artificial Generativa. A estrutura é versátil e pode ser aplicada a qualquer ferramenta, como o CWI Rocket, ChatGPT, Gemini, DeepSeek e até o mais recente lançamento de Elon Musk, o Grok. Além disso, serão apresentados dois casos práticos desenvolvidos nos times da CWI, ilustrando como a aplicação dessa estrutura pode otimizar resultados.
A maioria das pessoas elabora prompts de maneira equivocada, resultando em respostas genéricas e imprecisas, o que gera frustração e impede que se aproveite plenamente o potencial das ferramentas de IA generativa.
Recentemente, Greg Bockman, presidente da OpenIA, divulgou na rede social X uma estrutura do que é um prompt perfeito. Esse prompt foi criado por Ben Hylak, ex-designer da Apple, e compartilhado por Greg.
A técnica pode ser usada com sucesso na IA da CWI, o CWI Rocket. Uma das grandes vantagens da ferramenta é a possibilidade de configurar os prompts do sistema, que definem o papel interpretado pela IA em um determinado espaço de trabalho. Isso permite obter os resultados diretamente nos chats, sem a necessidade de informar um novo prompt a cada interação. Vale ressaltar que as mensagens enviadas pelos usuários também são prompts, mas são diferentes do prompt do sistema configurado no espaço de trabalho. Além disso, dentro da ferramenta, é possível criar espaços de trabalho especializados, como, por exemplo, para desenvolvedores, especialistas em banco de dados, qualidade e todos os outros papéis da Engenharia de Software Estratégica da CWI.
Independentemente da ferramenta que se utiliza no dia a dia para resolver problemas, essa estrutura ajuda a alcançar melhores resultados, elevando a performance e a qualidade do trabalho.
A estrutura proposta por Ben Hylak é dividida da seguinte forma:
Objetivo: o que você quer obter da IA?
Formato de retorno: como a resposta deve ser estruturada.
Avisos: regras para garantir precisão.
Contexto adicional: informações extras para personalizar a resposta.
No exemplo publicado pelo Ben Hylak, ele busca trilhas para fazer com a sua namorada na região de São Francisco, na Califórnia.
Objetivo:
“Eu quero uma lista com as melhores caminhadas de média/longa distância em um raio de duas horas de São Francisco. Cada caminhada deve proporcionar uma aventura única e diferente, além de ser pouco conhecida”.
Diante do objetivo proposto, é possível observar a necessidade de clareza na exposição do que se pretende alcançar, com frases curtas, claras e objetivas.
Formato de retorno:
“Para cada caminhada, me diga o nome da trilha exatamente como eu posso encontrá-las no Google Maps de trilhas e me dê, também, as seguintes informações: endereço do ponto de partida da trilha, endereço do ponto final da trilha, o tamanho da trilha em quilômetros, quanto tempo de carro está a trilha de São Francisco, quanto tempo dura a caminhada e qual é o diferencial de cada trilha. Após fazer essa pesquisa, me dê os três melhores resultados.”
Essa etapa é crucial no prompt, porque o retorno deve responder diretamente aos questionamentos. Importante destacar que a repetição de palavras-chave, como ‘trilha’ no exemplo acima, é uma estratégia eficaz, pois ajuda a IA a entender com mais precisão o que se espera. A repetição reforça o foco e garante que a resposta seja alinhada ao que foi solicitado.
Avisos:
“Certifique-se de que o nome da trilha está correto, que a trilha efetivamente exista e que sua duração e distância também estejam informados precisamente.”
É essencial deixar claro no prompt o que você não quer que a IA faça. Modelos de linguagem podem ‘inventar’ informações, um fenômeno chamado de alucinações. Por isso, é crucial orientar a IA para evitar suposições imprecisas. Cada instrução deve ser extremamente clara, básica, como se estivesse explicando algo para uma criança.
Contexto Adicional:
“Contextualizando: minha namorada e eu fazemos muitas trilhas! Já fizemos praticamente todas as caminhadas de dentro de São Francisco, então nós queremos sair um pouco da cidade. Fizemos a trilha inteira do Monte Tam recentemente e ela foi muito longa, então estamos procurando algo bem diferente para essa semana! Nós gostamos muito de vistas para o mar e adoramos comer bem. Uma coisa que adorei sobre a trilha do Monte Tam foi que ela acaba na cidade de Celebration bem a tempo de tomarmos café da manhã por lá! A trilha dos mísseis perto de Discovery é legal, mas já fomos lá umas 20 vezes. Eu e minha namorada não vamos nos ver por algumas semanas (ela precisa ir ao trabalho para Los Angeles), então quero algo bem único para nossa despedida!”
Importante ser específico sobre as necessidades e explicar os motivos que fundamentam o que está pedindo.
Quanto mais informações relevantes forem fornecidas, melhor será a resposta da IA Generativa.
Com base no apresentado, a técnica foi aplicada em dois casos práticos na CWI, evidenciando sua relevância no cotidiano profissional. Esses exemplos incluem a construção de testes unitários .NET Core para um cliente do setor imobiliário, criado pelo desenvolvedor Bruno Loreto da Silva, e a formulação de prompts de boas práticas de UX Writing, em conformidade com as regulamentações do Banco Central do Brasil, para um cliente do setor bancário, desenvolvido pela Product Designer Aline Cristina Pereira dos Santos.
Ambos os casos ilustram como a estrutura proposta melhora a precisão e a qualidade das respostas da IA, adaptando-se de forma eficaz a diferentes contextos.
Caso 1 – Escrever testes unitários em net.core para um cliente do setor imobiliário.
Objetivo:
Você é um desenvolvedor com alto conhecimento em testes unitários. Seu papel é criar testes unitários em C# utilizando xUnit e Moq, para garantir a integridade do sistema. Utilize sua experiência em testes unitários, sempre visando cobertura total das classes/métodos e seguindo as melhores práticas.
Formato de retorno:
- A resposta deve ser estruturada da seguinte forma:
- Código dos testes unitários:
- O código deve estar em formato C#, utilizando xUnit e Moq.
- A classe de teste deve seguir o padrão de nomenclatura [NOME_CLASSE_TESTADA]Tests.
- Mocks e a classe testada devem ser variáveis private readonly da classe, instanciadas no construtor, seguindo o padrão _[NOME_CLASSE].
- Os métodos de teste devem ser do tipo async void e seguir o padrão de nomenclatura [NOME_METODO_SENDO_TESTADO]_Deve[RESULTADO]_Quando[CONDICAO].
- Comentários relevantes devem ser incluídos apenas para facilitar o entendimento.
- Exemplo Prático:
- Um exemplo de código completo, com um teste unitário que segue todas as diretrizes.
Avisos:
- Isolamento: cada teste deve ser independente e não depender de outros testes.
- Cobertura: garanta que os testes cubram todos os cenários possíveis, incluindo casos de sucesso e falha.
- Verificação de chamadas: use Verify para validar se métodos de serviços foram chamados corretamente, conforme o cenário.
- Valores locais: prefira variáveis locais em vez de valores “mágicos” para parâmetros ou retornos de métodos mockados.
- Boas práticas: siga as melhores práticas de testes unitários, como clareza, simplicidade e manutenibilidade.
Contexto Adicional:
- Gere testes unitários abrangentes e totalmente cobertos, claros e de fácil entendimento.
- Alerte sobre possíveis erros de lógica ou código, sugerindo ajustes.
- Ferramentas: xUnit para testes e Moq para criação de mocks.
- Cenários de Teste:
- Testar métodos que retornem valores esperados.
- Verificar chamadas de serviços mockados.
- Validar exceções em cenários de falha.
- Exemplo de nomenclatura:
- Método testado: Calcular.
- Nome do teste: Calcular_DeveRetornarValorCorreto_QuandoParametrosForemValidos.
- Dados de Teste: Use variáveis locais para armazenar valores de entrada e saída esperados.
Caso 2 – Prompt de boas práticas de UX writing conforme regulação do Banco Central do Brasil para o cliente do setor bancário construído por Aline Cristina Pereira Dos Santos.
Objetivo:
Escrever e revisar textos claros, concisos e acessíveis para aplicações em desktop, aplicativos, e-mails e notificações, direcionados a públicos de Pessoa Jurídica (PJ) e Pessoa Física (PF), com tom formal, amigável ou neutro, conforme necessário. O conteúdo deve seguir boas práticas de UX Writing, focando apenas nas informações estritamente necessárias, conforme os Requisitos Mínimos 7.1 do Bacen, garantindo uma comunicação eficiente e alinhada ao contexto bancário.
Formato de retorno:
- Textos revisados ou criados devem ser organizados em parágrafos curtos e objetivos.
- Incluir chamadas para ação claras e diretas.
- Manter a estrutura simples, com frases curtas e fáceis de entender.
Avisos:
- Evitar jargões técnicos, ambiguidades e linguagem complexa.
- No contexto bancário, usar “efetivado” para indicar pagamentos bem-sucedidos.
- Manter neutralidade e clareza em todas as mensagens.
- Garantir que o tom (formal, amigável ou neutro) seja consistente com o público-alvo e o contexto.
Contexto adicional:
- O conteúdo será utilizado em interfaces digitais (desktop e mobile), e-mails e notificações.
- O público inclui tanto Pessoa Jurídica (empresas) quanto Pessoa Física (clientes individuais).
- O tom pode variar conforme a necessidade: formal para comunicações institucionais, amigável para engajamento com clientes e neutro para informações técnicas.
- Priorizar a clareza e a objetividade, garantindo que o usuário compreenda rapidamente a mensagem e saiba qual ação tomar.
Conclusão
A aplicação da técnica de estruturação de prompts é um passo essencial para extrair o máximo das ferramentas. Como vimos, ao seguir os pilares de objetivo claro, formato de retorno definido, avisos precisos e contexto adicional, os resultados tornam-se mais eficazes.
A chave para o sucesso está em experimentar as sugestões apresentadas, ajustando e refinando seus prompts conforme a necessidade. Ao compartilhar esses aprendizados com sua equipe, você não apenas dissemina boas práticas, mas também fortalece a colaboração e a eficiência coletiva.
Referências: