A engenharia de prompts é uma técnica fundamental para melhorar a qualidade e o controle da saída dos modelos de linguagem grande (LLMs) por meio da otimização do texto de entrada (ou seja, "prompts"). Este guia abrangente oferece uma introdução sistemática às técnicas usadas em conjunto com Claude
Uma série de práticas recomendadas para cada uma das interações do modelo, abrangendo todo o espectro, desde a preparação básica até os aplicativos avançados, para ajudar os desenvolvedores e pesquisadores a maximizar os benefícios do modelo. Claude
Potencial.
Antes de começar: a base para o sucesso
Antes de se aprofundar em técnicas específicas de engenharia imediata, é necessário estabelecer uma base sólida. Isso inclui:
- Critérios claros de sucessoDefinição clara de quais são os critérios de sucesso para o caso de uso.
- Métodos de teste eficazesEstabelecer uma metodologia que possa avaliar de forma objetiva e quantitativa se os resultados do modelo atendem a esses critérios.
- Solicitações de rascunho inicialDica: Há uma dica de versão inicial que você deseja aprimorar.
Se esses preparativos ainda não tiverem sido concluídos, é altamente recomendável que se invista tempo para configurá-los primeiro.
Quando escolher um projeto de sinalização? (ajuste fino do contraste)
Nem todos os problemas são mais bem resolvidos pela engenharia de pistas. Por exemplo, os problemas de latência e custo às vezes podem ser melhorados mais facilmente com a escolha de um modelo diferente. Considerando que a engenharia de dicas e o ajuste fino são as duas principais ferramentas quando se trata de controlar o comportamento do modelo, aqui estão alguns motivos pelos quais a engenharia de dicas é melhor do que o ajuste fino em uma variedade de cenários:
- Eficiência de recursosO ajuste fino requer recursos computacionais significativos (por exemplo, GPUs de ponta) e memória, enquanto a engenharia de dicas requer apenas entrada de texto e é muito mais fácil de usar.
- custo-benefícioPara cenários que usam serviços de IA baseados em nuvem, o ajuste fino incorre em custos de treinamento significativos. A engenharia de dicas utiliza o modelo básico diretamente, o que geralmente é menos dispendioso.
- Compatibilidade de atualização de modeloQuando o provedor do modelo atualiza o modelo básico, a versão ajustada pode precisar ser treinada novamente. Por outro lado, dicas bem projetadas geralmente podem continuar funcionando em todas as versões.
- eficiência de tempoO processo de ajuste fino pode levar horas ou até dias. Em contrapartida, a engenharia de dicas fornece feedback quase instantâneo, acelerando drasticamente a velocidade da iteração e da solução de problemas.
- Requisitos de dados muito baixosO ajuste fino requer grandes conjuntos de dados rotulados e específicos da tarefa, cuja obtenção pode ser difícil ou cara. A engenharia de dicas funciona de forma eficaz em cenários de poucas ou até mesmo zero fotos.
- Flexibilidade e iteração rápidaOs desenvolvedores podem experimentar rapidamente várias abordagens, ajustar as dicas e observar os resultados imediatamente. Essa agilidade para experimentação rápida é difícil de ser obtida com o ajuste fino.
- Adaptação de domínioO que significa que, ao fornecer contexto específico do domínio nas dicas, os modelos podem ser facilmente adaptados a novos domínios sem retreinamento.
- Aprimoramento da compreensãoEngenharia de dicas: A engenharia de dicas é muito mais eficaz do que o ajuste fino para ajudar os modelos a entender e utilizar melhor o conteúdo externo (por exemplo, documentos recuperados via RAG).
- Retenção de conhecimento genéricoO ajuste fino traz o risco de "esquecimento catastrófico", ou seja, o modelo pode perder seus recursos generalizados originais à medida que aprende novos conhecimentos. A engenharia de dicas preserva a ampla base de conhecimento do modelo.
- Transparência e interpretabilidadeDicas: As dicas são legíveis por humanos e demonstram claramente as informações exatas recebidas pelo modelo. Essa transparência ajuda a entender e depurar o comportamento do modelo.
Claude 4
Princípios básicos de engenharia de dicas
Claude 4
Os modelos da série (incluindo Opus 4.1, Opus 4 e Sonnet 4) são otimizados para seguir as instruções com mais precisão. Para obter os melhores resultados, siga estes princípios básicos.
1. instruções claras e diretas
Os modelos respondem melhor a instruções claras e específicas. A declaração explícita do resultado desejado pode melhorar significativamente a qualidade dos resultados. Se for esperado que o modelo se comporte como o antigo Claude
Assim como no caso do "desempenho excessivo", esses comportamentos agora precisam ser solicitados de forma mais explícita.
Exemplo: Criando um painel de análise
- Dicas menos eficazes::
创建一个分析仪表盘。
- Dicas para obter melhores resultados::
创建一个分析仪表盘。请包含尽可能多的相关功能和交互细节,超越基础功能,实现一个功能完备的设计。
2. complementação do contexto para melhorar o desempenho
Forneça o contexto ou a motivação por trás da diretriz, por exemplo, para o Claude
Explicar por que um determinado comportamento é importante pode ajudar o modelo a entender melhor o alvo e a fornecer uma resposta mais direcionada.
Exemplo: Preferências de formato
- Dicas menos eficazes::
绝不使用省略号。
- Dicas para obter melhores resultados::
你的回答将被文本转语音引擎朗读,所以绝不使用省略号,因为引擎不知道如何发音。
O modelo é inteligente o suficiente para generalizar a partir dessas explicações.
3. uso cuidadoso de exemplos e detalhes
Claude 4
O modelo leva a sério cada detalhe e exemplo das instruções. Certifique-se de que os exemplos que você fornecer sejam consistentes com os comportamentos que se espera que sejam incentivados e minimizem os comportamentos que você deseja evitar.
Dicas básicas Técnicas de engenharia
As técnicas a seguir estão organizadas em ordem, da mais geral para a mais especializada. Recomenda-se experimentá-las nessa ordem ao resolver problemas de desempenho.
- instruções claras e diretas (como mencionado acima)
- Exemplo de uso (ponta de várias amostras)
- Modelagem guiada (cadeia de pensamento)
- Uso de tags XML
- Capacitação de personagens por meio de prompts do sistema
- Respostas pré-preenchidas do modelo
- Dicas complexas encadeadas
- técnica de dicas de contexto longo
- Usando o gerador de dicas
As técnicas mais importantes são descritas em detalhes a seguir.
Uso de tags XML para criar prompts estruturados
Quando o prompt contém vários componentes (como informações de fundo, instruções, exemplos e dados de entrada), o uso de tags XML é uma ótima maneira de aprimorar a Claude
Analisando a precisão dos atiradores de elite.
- Benefícios do uso de tags XML::
- clarezaSepare claramente as diferentes partes da sugestão para garantir uma boa estrutura.
- precisãoReduzir erros de modelo causados pela confusão entre instruções e contexto.
- destrezaFacilidade para localizar, adicionar, remover ou modificar partes específicas do prompt.
- resolubilidadeExigência de que os modelos também usem tags XML em seus resultados pode facilitar a extração de partes específicas de suas respostas pelos programas.
- melhores práticas::
- Manter a consistênciaSempre use os mesmos nomes de tag nos prompts e faça referência a eles nos comandos (por exemplo, "Use the
<contract>
Contratos na guia..."). - rótulo aninhadoPara conteúdo hierárquico, podem ser usadas tags aninhadas, como
<outer><inner></inner></outer>
.
- Manter a consistênciaSempre use os mesmos nomes de tag nos prompts e faça referência a eles nos comandos (por exemplo, "Use the
Exemplo: Análise de contratos jurídicos
Dicas para não usar tags XML::
分析这份软件许可协议的潜在风险和责任:{{CONTRACT}}。关注赔偿、责任限制和知识产权所有权条款。同时,注意任何不寻常或令人担忧的条款。这是我们的标准合同以供参考:{{STANDARD_CONTRACT}}。给出调查结果摘要和给我们法律团队的建议。
no finalAnálise de dados: As análises podem ser confusas e é fácil perder pontos importantes.
Dicas para usar tags XML::
分析这份软件许可协议的法律风险和责任。
我们是一家跨国企业,正在考虑将此协议用于我们的核心数据基础设施。
<agreement>
{{CONTRACT}}
</agreement>
这是我们的标准合同以供参考:
<standard_contract>
{{STANDARD_CONTRACT}}
</standard_contract>
<instructions>
1. 分析以下条款:
- 赔偿 (Indemnification)
- 责任限制 (Limitation of liability)
- 知识产权所有权 (IP ownership)
2. 指出不寻常或令人担忧的条款。
3. 与我们的标准合同进行比较。
4. 在 <findings> 标签中总结发现。
5. 在 <recommendations> 标签中列出可行的建议。
</instructions>
no finalO modelo gera uma imagem bem estruturada <findings>
responder cantando <recommendations>
Ele é detalhado, lógico e fácil de ser adotado diretamente pela equipe jurídica.
Prompting de função
fazer uso de system
parâmetros Claude
A criação de um personagem é uma das formas mais poderosas de aprimorar seu desempenho. Um personagem adequado pode transformar o Claude
Transforme-se de um assistente generalista em um especialista em domínio virtual.
- Benefícios de usar os prompts do sistema para configurar seu personagem::
- Precisão aprimoradaEm cenários complexos, como análise jurídica ou modelagem financeira, os avisos de função podem melhorar significativamente
Claude
O desempenho. - Tom de voz personalizadoSe você precisa que um CFO seja sucinto ou que um redator seja animado, os avisos de função podem ser ajustados
Claude
estilo de comunicação. - Aumentar o focoApós definir as funções
Claude
teriam mais condições de se limitar aos requisitos específicos da tarefa.
- Precisão aprimoradaEm cenários complexos, como análise jurídica ou modelagem financeira, os avisos de função podem melhorar significativamente
- Como realizar::
Na chamada à API Messages, coloque a descrição da função no camposystem
Parâmetros. Reserve instruções de tarefas específicas na seçãouser
Mensagem.import anthropic client = anthropic.Anthropic() response = client.messages.create( model="claude-3-opus-20240229", max_tokens=2048, system="你是一家高增长B2B SaaS公司的CFO。我们的投资者希望实现积极增长,但对我们的烧钱率保持警惕。", # <-- 赋予角色 messages=[ {"role": "user", "content": "在董事会议上,请分析我们Q2的财务数据,指出关键趋势,标记关注点,并推荐战略行动:\n\n{{FINANCIALS}}"} ] ) print(response.content)
Dicas de especialistas: Experimente funções diferentes! Para os mesmos dados.数据科学家
e市场营销策略师
talvez 专为财富500强公司提供客户洞察分析的数据科学家
Pode-se chegar a uma visão muito diferente.
Modelo de pensamento guiado (Cadeia de pensamento, Cadeia de pensamento)
Ao se deparar com tarefas complexas, como pesquisar, analisar ou resolver problemas, dar Claude
A técnica de estímulo da Cadeia de Pensamento (CoT), que incentiva os funcionários a pensar, pode melhorar drasticamente seu desempenho. Essa técnica é conhecida como estímulo da Cadeia de Pensamento (CoT) e incentiva a Claude
A desmontagem passo a passo do problema resulta em um resultado mais preciso e refinado.
- Quando devo usar uma corrente de pensamento?
- Tarefas a serem consideradasUsado para tarefas que exigem que os humanos também pensem, como cálculos matemáticos complexos, análises de várias etapas, redação de documentos complexos ou decisões que exigem a ponderação de vários fatores.
- Melhorar a precisãoSolução de problemas passo a passo: a solução de problemas passo a passo reduz os erros em tarefas lógicas, matemáticas e analíticas.
- ajustar os componentes durante o testeObservações
Claude
O processo de reflexão o ajuda a identificar áreas do prompt que podem não estar claras.
- Como você conduz o pensamento?
Há várias maneiras de navegar do simples ao complexoClaude
Pensamento. Uma habilidade essencial é:Sempre deixe o Claude exportar seu processo de pensamento.Caso contrário, o pensamento não acontece.- Dicas básicasAdicionar "pensar passo a passo" ao prompt.
- Dica introdutória: para
Claude
O processo de pensamento descreve etapas específicas. - Dicas estruturadas: Uso
<thinking>
responder cantando<answer>
e outras tags XML separam o processo de raciocínio da resposta final.
Exemplo: Análise financeira
Análise de cadeias de pensamento não utilizadas::
用户
Exemplo: Um cliente deseja investir US$ 10.000, sendo a opção A uma ação 12% anualizada, mas volátil, e a opção B um título de renda fixa 6% anualizado. O cliente precisará desse dinheiro para dar uma entrada em 5 anos. Qual das opções é recomendada?模型
Recomendação B. Os motivos são: alta certeza, aversão ao risco e horizonte de tempo curto. A conclusão parece razoável, mas carece de profundidade.
Análises usando cadeias de pensamento::
用户
(ibid.), mas com o acréscimo das palavras "Please think step by step" no final.模型
::<thinking> 1. 理解客户目标和时间线:目标是房屋首付,时间线5年。结论:这是一个短期的、高优先级的财务目标,客户可能无法承受重大风险。 2. 分析选项A(股票): - 优点:历史回报率高(12%)。 - 缺点:波动性大。 - 计算潜在的5年回报: - 最佳情况(年化12%):$10,000 * (1.12)^5 ≈ $17,623.42 - 最差情况(市场崩盘):可能损失惨重,例如50%的崩盘 = $5,000 3. 分析选项B(债券): - 优点:保证回报率(6%)。 - 缺点:回报率低于股票的历史表现。 - 计算5年回报: - 保证:$10,000 * (1.06)^5 ≈ $13,382.25 4. 考虑风险承受能力:目标是房屋首付(必需品,非可有可无),时间短,无法承受市场低迷。结论:客户风险承受能力可能较低。 ... </thinking> <answer> 我推荐选项B,即保证年回报率为6%的债券。虽然股票的历史回报率很诱人,但债券能确保您在5年后拥有$13,382.25用于房屋首付。考虑到您目标的重要性和短暂的时间线,股票的波动性构成了不可接受的风险。 </answer>
Essa análise fornece dados quantitativos e uma lógica mais rigorosa, e as conclusões são mais convincentes.
Preenchimento prévio da resposta do Claude (Preenchimento prévio)
O pré-preenchimento é uma técnica exclusiva e avançada que permite que você adicione uma chamada de API ao assistant
O texto inicial é fornecido na mensagem.Claude
continuará a ser gerado a partir do final desse texto. Isso permite que você imponha um formato específico (como JSON), ignore aberturas longas ou reforce a consistência do personagem na interpretação.
tomar nota deConteúdo pré-preenchido: O conteúdo pré-preenchido não pode terminar com espaços à direita. No momento, esse recurso não é compatível com o modo Extended Thinking.
- Como fazer o pré-preenchimento::
import anthropic client = anthropic.Anthropic() response = client.messages.create( model="claude-3-opus-20240229", max_tokens=1024, messages=[ {"role": "user", "content": "你最喜欢的颜色是什么?"}, {"role": "assistant", "content": "作为一个AI助手,我没有最喜欢的颜色,但如果我必须选一个,那会是绿色,因为"} # 在此预填充 ] )
Exemplo: controlar o formato de saída e ignorar o preâmbulo
Não é usado nenhum pré-preenchimentoQuando solicitado a extrair JSON, o modelo pode dizer "Aqui estão as informações que você deseja no formato JSON:" antes de fornecer o bloco de código.
Usando o pré-preenchimento::
用户
Extrair nome, tamanho, preço e cor como objetos JSON das descrições de produtos...助手 (预填充)
::{
Claude 的回应
::"name": "SmartHome Mini", "size": "5 inches wide", "price": "$49.99", "colors": ["black", "white"] }
Isso forçará
Claude
A saída direta do conteúdo JSON é limpa e fácil de ser analisada pelo programa.
Orientação específica para o cenário
- Formato da resposta de controle::
- As diretivas positivas são superiores às diretivas negativasEm vez de dizer "não use markdown em sua resposta", diga "sua resposta deve consistir em parágrafos de prosa fluida".
- Uso de indicadores de formato XMLTente: "Escreva a parte em prosa de sua resposta no
<smoothly_flowing_prose_paragraphs>
Incluído." - Correspondência do estilo de sinalização com a saída desejada: O estilo de formatação usado em seu prompt pode afetar a
Claude
O estilo de resposta.
- Otimização de chamadas de ferramentas paralelas::
Claude 4
Os modelos são excelentes na execução de ferramentas em paralelo. Embora eles tenham uma alta taxa de sucesso para invocações de ferramentas paralelas sem dicas, algumas pequenas dicas podem aumentar a taxa de sucesso para perto de 1001 TP3T. Esta dica se mostrou mais eficaz: "Para obter o máximo de eficiência, sempre que várias operações independentes precisarem ser realizadas, todas as ferramentas relevantes devem ser invocadas simultaneamente, em vez de sequencialmente. " - Reduzir a criação de arquivos na geração de código::
Claude 4
Às vezes, os modelos criam novos arquivos para testes e iteração. Se quiser minimizar a criação de novos arquivos, você pode instruir oClaude
Faça a limpeza por conta própria: "Se você criou novos arquivos temporários, scripts ou arquivos auxiliares para a iteração, limpe-os excluindo-os no final da tarefa." - Geração de código visual e de front-end aprimoradaPara a geração de código de front-end, isso pode ser orientado pelo incentivo explícito do
Claude 4
Modelagem da criação de designs complexos, detalhados e interativos: "Não se limite, vá com tudo".
Gerar e gerenciar alertas automaticamente
Usando o gerador de dicas
Às vezes, a parte mais difícil do uso de um modelo de IA é descobrir como dar dicas eficazes.Anthropic
É fornecida uma ferramenta de geração de avisos para orientar o Claude
Gere modelos de lembretes de alta qualidade para suas tarefas específicas. Esses modelos seguem muitas práticas recomendadas de engenharia de prompt e são especialmente úteis para resolver o "problema da página em branco". Você pode encontrar esses modelos na seção Anthropic Console
Experimente o gerador de dicas diretamente no
Uso de modelos de prompt e variáveis
Ao implantar aplicativos baseados em LLM, as chamadas de API normalmente contêm dois tipos de conteúdo:
- Conteúdo fixoInstrução ou contexto estático que permanece constante em várias interações.
- conteúdo variávelElementos dinâmicos que mudam a cada solicitação ou diálogo, como entrada do usuário, conteúdo recuperado pelo RAG, histórico do diálogo etc.
Modelos de dicas Combine essas seções fixas e variáveis para usar espaços reservados para conteúdo dinâmico. Na seção Anthropic Console
Esses espaços reservados são representados pelo {{双花括号}}
disse.
Benefícios de usar um modelo de prompt:
- consistênciaAssegure-se de que os avisos sejam estruturados de forma consistente em várias interações.
- eficiênciaSubstitua facilmente o conteúdo variável sem reescrever todo o prompt.
- testabilidadeTeste rapidamente diferentes casos de entrada e de borda, alterando apenas a parte variável.
- escalabilidadeSimplifique o gerenciamento de dicas à medida que a complexidade dos aplicativos aumenta.
- controle de versãoRastreamento: rastreie facilmente as alterações na estrutura do prompt, separando a parte principal do prompt da entrada dinâmica.
Notas sobre a migração do Sonnet 3.7 para o Claude 4
- Especificação do comportamento desejadoConsidere a possibilidade de descrever exatamente o que você deseja ver na saída.
- Crie suas instruções com modificadoresAdicionar incentivo
Claude
Os modificadores que melhoram a qualidade e os detalhes do resultado ajudam a moldar melhor oClaude
O desempenho. - Solicitação explícita de funções específicasSe forem necessários elementos de animação e interativos, eles deverão ser solicitados explicitamente.
Próximas etapas e recursos de aprendizado
Para os desenvolvedores que desejam aprender mais por meio de exemplos, explore os seguintes recursos:
- Dicas do GitHub Tutorial de engenhariaTutorial: um tutorial com vários exemplos que abrangem os conceitos de engenharia das dicas da documentação.
- Dicas do Google Sheets Tutorial de engenhariaUma versão leve do tutorial do Tips Project apresentada por meio de uma planilha interativa.
Ao aprender e aplicar sistematicamente as técnicas deste guia, você poderá navegar de forma mais precisa e eficiente pelo Claude
para criar aplicativos mais inteligentes e confiáveis.