Engenharia de prompt
Visite nosso tutorial de engenharia de prompt para aprender a criar prompts através de um curso interativo.
O Claude oferece um alto nível de desempenho básico pronto para uso. No entanto, a engenharia de prompt pode ajudá-lo a aprimorar ainda mais seu desempenho e ajustar suas respostas para melhor se adequar ao seu caso de uso específico. Essas técnicas não são necessárias para obter bons resultados com o Claude, mas você pode achá-las úteis para aprimorar suas entradas e saídas.
Para começar rapidamente com um prompt ou ser introduzido ao conceito de prompting, consulte introdução ao prompting.
O que é engenharia de prompt?
A engenharia de prompt é uma ciência empírica que envolve iterar e testar prompts para otimizar o desempenho. A maior parte do esforço gasto no ciclo de engenharia de prompt não está realmente na escrita de prompts. Em vez disso, a maior parte do tempo de engenharia de prompt é gasta no desenvolvimento de um forte conjunto de avaliações, seguido por testes e iterações contra essas avaliações.
O ciclo de vida do desenvolvimento de prompt
Recomendamos uma abordagem principiada e orientada a testes para garantir o desempenho ideal do prompt. Vamos percorrer o processo de alto nível que usamos ao desenvolver prompts para uma tarefa, conforme ilustrado no diagrama abaixo.
- Defina a tarefa e os critérios de sucesso: O primeiro e mais crucial passo é definir claramente a tarefa específica que você deseja que o Claude realize. Isso pode ser qualquer coisa, desde extração de entidades, resposta a perguntas ou sumarização de texto até tarefas mais complexas, como geração de código ou escrita criativa. Uma vez que você tenha uma tarefa bem definida, estabeleça os critérios de sucesso que orientarão seu processo de avaliação e otimização.
Os principais critérios de sucesso a serem considerados incluem:- Desempenho e precisão: Quão bem o modelo precisa executar a tarefa?
- Latência: Qual é o tempo de resposta aceitável para o modelo? Isso dependerá dos requisitos em tempo real do seu aplicativo e das expectativas do usuário.
- Preço: Qual é o seu orçamento para executar o modelo? Considere fatores como o custo por chamada de API, o tamanho do modelo e a frequência de uso.
Ter critérios de sucesso claros e mensuráveis desde o início ajudará você a tomar decisões informadas ao longo do processo de adoção e garantir que você esteja otimizando para os objetivos certos.
- Desenvolva casos de teste: Com sua tarefa e critérios de sucesso definidos, o próximo passo é criar um conjunto diversificado de casos de teste que cubram os casos de uso pretendidos para seu aplicativo. Eles devem incluir exemplos típicos e casos extremos para garantir que seus prompts sejam robustos. Ter casos de teste bem definidos antecipadamente permitirá que você meça objetivamente o desempenho de seus prompts em relação aos seus critérios de sucesso.
- Crie o prompt preliminar: Em seguida, crie um prompt inicial que descreva a definição da tarefa, as características de uma boa resposta e qualquer contexto necessário para o Claude. Idealmente, você deve adicionar alguns exemplos de entradas e saídas canônicas para o Claude seguir. Esse prompt preliminar servirá como ponto de partida para o refinamento.
- Teste o prompt contra os casos de teste: Alimente seus casos de teste no Claude usando o prompt preliminar. Avalie cuidadosamente as respostas do modelo em relação às suas saídas esperadas e critérios de sucesso. Use uma rubrica de avaliação consistente, seja uma avaliação humana, comparação com uma chave de resposta ou até mesmo outra instância do julgamento do Claude com base em uma rubrica. A chave é ter uma maneira sistemática de avaliar o desempenho.
- Refine o prompt: Com base nos resultados da etapa 4, refine iterativamente seu prompt para melhorar o desempenho nos casos de teste e atender melhor aos seus critérios de sucesso. Isso pode envolver adicionar esclarecimentos, exemplos ou restrições para orientar o comportamento do Claude. Tenha cuidado para não otimizar excessivamente para um conjunto restrito de entradas, pois isso pode levar a overfitting e baixa generalização.
- Envie o prompt polido: Depois de chegar a um prompt que tenha um bom desempenho em seus casos de teste e atenda aos seus critérios de sucesso, é hora de implantá-lo em seu aplicativo. Monitore o desempenho do modelo em produção e esteja preparado para fazer mais refinamentos, conforme necessário. Casos extremos podem surgir que não foram previstos em seu conjunto de testes inicial.
Ao longo desse processo, vale a pena começar com o modelo mais capaz e o comprimento de prompt irrestrito para estabelecer um teto de desempenho. Depois de alcançar a qualidade de saída desejada, você pode então experimentar otimizações como prompts mais curtos ou modelos menores para reduzir a latência e os custos, conforme necessário.
Ao seguir essa metodologia orientada a testes e definir cuidadosamente sua tarefa e critérios de sucesso antecipadamente, você estará no caminho certo para aproveitar o poder do Claude para seu caso de uso específico. Se você investir tempo na criação de casos de teste e prompts robustos, colherá os benefícios em termos de desempenho e manutenibilidade do modelo.
Técnicas de engenharia de prompt
Ao longo do seu ciclo de desenvolvimento de prompt, existem algumas técnicas que você pode usar para aprimorar o desempenho do Claude, tais como:
- Seja claro e direto: Forneça instruções claras e contexto para orientar as respostas do Claude
- Use exemplos: Inclua exemplos em seus prompts para ilustrar o formato ou estilo de saída desejado
- Dê um papel ao Claude: Prepare o Claude para assumir um papel específico (como o de um especialista) a fim de aumentar o desempenho para o seu caso de uso
- Use tags XML: Incorpore tags XML para estruturar prompts e respostas para maior clareza
- Encadeie prompts: Divida tarefas complexas em etapas menores e gerenciáveis para obter melhores resultados
- Deixe o Claude pensar: Incentive o pensamento passo a passo para melhorar a qualidade da saída do Claude
- Preencha previamente a resposta do Claude: Comece a resposta do Claude com algumas palavras para orientar sua saída na direção desejada
- Controle o formato de saída: Especifique o formato de saída desejado para garantir consistência e legibilidade
- Peça ao Claude por reescritas: Solicite revisões com base em uma rubrica para fazer o Claude iterar e melhorar sua saída
- Dicas para janelas de contexto longas: Otimize prompts que aproveitam as janelas de contexto mais longas do Claude
Também fornecemos um metaprompt auxiliar experimental que solicita ao Claude criar um prompt para você com base nas diretrizes fornecidas. O metaprompt é experimental, mas pode ser útil para rascunhar um prompt inicial ou criar rapidamente muitas variações de prompt para teste.
Nota: Modelos mais antigos que a família Claude 3 podem exigir mais engenharia de prompt. Para obter mais informações, consulte nosso guia de modelos legados.
Recursos adicionais
Para saber mais sobre engenharia de prompt, confira estes recursos:
- Anthropic Cookbook: Um conjunto de receitas na forma de notebooks Jupyter que apresentam código copiável que demonstra como usar o Claude de maneiras interessantes e eficazes em cenários mais avançados, como upload de PDFs, uso de ferramentas e chamada de funções, embeddings e mais
- Tutorial interativo de engenharia de prompt: Um tutorial prático passo a passo para facilitar o aprendizado de estratégias eficazes de prompting (requer uma chave de API)
- Também há uma chave de respostas de acompanhamento, caso você queira ver exemplos de soluções.
- Biblioteca de prompts: Uma coleção de prompts pré-escritos para tarefas comuns, divertidas e úteis para uma variedade de casos de uso pessoais e profissionais
- SDKs de cliente: um conjunto de ferramentas para facilitar a construção e integração do Claude em seus aplicativos
Feliz prompting!