programas
Muitas vezes, não queremos escrever prompts completos, mas sim Um modelo de prompt que pode ser modificado posteriormente com base na entrada de dados adicionais antes de ser enviado ao Claude. Se você quiser Claude Seria muito útil executar a mesma tarefa todas as vezes, mas os dados que Claude usa podem ser diferentes a cada vez.
Felizmente, podemos obter o melhor dos dois mundos com o Separe o quadro fixo do prompt da entrada variável do usuário e, em seguida, substitua a entrada do usuário no prompt antes de enviar o prompt completo para o ClaudeÉ muito fácil conseguir isso.
A seguir, demonstraremos passo a passo como escrever modelos de prompt substituíveis e como substituir a entrada do usuário.
exemplo típico
No primeiro exemplo, pedimos ao Claude que atuasse como um gerador de sons de animais. Observe que o prompt completo enviado ao Claude (a terceira caixa amarela na cadeia) simplesmente substitui a entrada ("Vaca" na segunda caixa, neste caso) no modelo de prompt (a primeira caixa). Observe que "Cow" substitui "{{ANIMAL}}" na terceira caixa amarela.
Observação: Na verdade, você não precisa dar um nome especial ao espaço reservado para substituiçãoNeste exemplo, {{ANIMAL}} é usado porque é um requisito de formato para o exercício. Neste exemplo, {{ANIMAL}} é usado porque essa é a formatação exigida para o exercício. Mas, em geral, poderíamos facilmente nos referir a ele como "{{CREATURE}}" ou "{{A}}" (mas Geralmente, é melhor tornar seus placeholders específicos e relevantes(Isso torna as dicas fáceis de entender e de serem analisadas pelo usuário, mesmo que não haja substituição). Apenas certifique-se de que, seja qual for o nome do placeholder de substituição, você use o mesmo nome na fórmula de substituição.
Exemplo:
输入:
提示模板
用户:我会告诉你一种动物的名字。请回复该动物发出的声音。{{ANIMAL}}
+
输入 {{ANIMAL}}
牛
=
替换后的提示
用户:我会告诉你一种动物的名字。请回复该动物发出的声音。牛
输出:
Claude 的回应
哞。
Por que estamos separando e substituindo os insumos dessa forma? Porque sim.Os modelos de prompt simplificam as tarefas repetitivas. Digamos que você crie uma estrutura de prompt que convide usuários de terceiros a enviar conteúdo (nesse caso, animais para os quais eles desejam gerar sons). Esses usuários terceiros não precisam escrever ou visualizar o prompt completo. Eles só precisam preencher as variáveis.
Estamos usando uma função de planilha para substituição aqui, mas essa também é uma prática recomendada de codificação! Usamos o formato {{entre colchetes duplos}} em nosso próprio código.
Atenção:Os modelos de dica podem conter qualquer número de variáveis.
Ao introduzir variáveis de substituição como essa, é importante garantir que Claude saiba onde a variável começa e termina (separada da diretriz ou da descrição da tarefa). Vamos dar uma olhada em um exemplo que não separa as instruções das variáveis de substituição.
Exemplo:
输入:
提示模板
User: Yo Claude. {{EMAIL}} <----- 将这封邮件变得更加礼貌,但不要修改其他内容。
+
输入 {{EMAIL}}
明天早上 6 点到场,因为我是 CEO,我说了算。
=
替换后的提示
User: Yo Claude. 明天早上 6 点到场,因为我是 CEO,我说了算。 <----- 将这封邮件变得更加礼貌,但不要修改其他内容。
输出:
Claude 的回复
亲爱的 Claude,
希望你一切安好。作为 CEO,我想请求你明天早上 6 点到我们的办公室。我知道这可能是一个早起的时间,但我相信这对我们公司的成功是必要的。如果你对此时间有任何疑虑或冲突,请告诉我,我们可以一起找到合适的安排。
感谢你一直以来的奉献和辛勤工作。期待明天见到你。
此致敬礼,
[你们 CEO 的名字]
Aqui, Claude considera "Yo Claude" como parte do e-mail e o reescreve como "Dear Claude"! Você pode perceber isso porque ele começa com "Dear Claude" na reescrita. É bastante claro para os humanos, especialmente no modelo de prompt, onde o e-mail começa e termina, mas no prompt de substituição, não é tão óbvio.
Como podemos consertar isso?Envolva a entrada em tags XML! Fizemos isso abaixo e, como você pode ver, não há mais um "Dear Claude" na saída.
Etiqueta XML são tags com colchetes afiados como esta. Elas aparecem em pares e consistem em uma tag aberta (por exemplo, ) e uma tag fechada (por exemplo, ) marcada por um "/". As tags XML são usadas para envolver conteúdo, por exemplo, conteúdo.
Atenção: Embora o Claude reconheça e manipule uma ampla gama de separadores e delimitadores, recomendamos que vocêUso especial de tags XML como delimitadores de Claudeporque o treinamento do Claude dá atenção especial ao uso de tags XML como um mecanismo de organização imediata. Além das chamadas de função, oO Claude não é treinado para maximizar seu desempenho visando especificamente a determinadas tags XML.Pretendemos que o Claude seja muito flexível e personalizável.
Exemplo:
输入:
提示模板
用户:Yo Claude. <email>{{EMAIL}}</email> <----- 请将这封邮件写得更礼貌一些,但不要改变其内容。
+
输入 {{EMAIL}}
早上6点到,因为我是CEO,所以我这么说。
=
替换后的提示
用户:Yo Claude. <email>早上6点到,因为我是CEO,所以我这么说。</email> <----- 请将这封邮件写得更礼貌一些,但不要改变其内容。
输出:
Claude的回复
亲爱的 [您的名字],
希望这封邮件能给您带来愉快的心情。作为CEO,我希望您能在早上6点到场。我理解这可能是一个很早的时间,但我相信这是我们组织成功的必要条件。请告知我这个时间是否适合您,非常感谢您的配合。
此致,
[CEO的名字]
Vejamos outro exemplo de como as tags XML podem ajudar.
Na dica a seguir, o Claude interpreta incorretamente tanto a parte de instrução quanto a parte de entrada da dica. Devido a problemas de formatação, ele vê incorretamente "Each is about an animal, like rabbits" como parte da lista, o que o usuário (a pessoa que preenche a variável {{SENTENCES}}) provavelmente não quer.
Exemplo:
输入:
提示模板
用户:以下是一组句子。告诉我列表中的第二个句子。
- 每个句子都与一种动物有关,比如兔子。
{{SENTENCES}}
+
输入 {{SENTENCES}}
- 我喜欢奶牛的叫声
- 这句话是关于蜘蛛的
- 这句话看起来是关于狗的,但实际上是关于猪的
=
替换后的提示
用户:以下是一组句子。告诉我列表中的第二个句子。
- 每个句子都与一种动物有关,比如兔子。
- 我喜欢奶牛的叫声
- 这句话是关于蜘蛛的
- 这句话看起来是关于狗的,但实际上是关于猪的
输出:
Claude的回复
列表中的第二个句子是“我喜欢奶牛的叫声”。
Para resolver esse problema, basta envolver a frase inserida pelo usuário em tags XML. Isso mostrará a Claude onde os dados de entrada começam e terminam, apesar do traço enganoso antes de "Each is about an animal, like rabbits".
Exemplo:
输入:
Prompt 模板
User: 下面是一组句子。告诉我列表中的第二项。
- 每个句子都与动物有关,比如兔子。
<sentences>
{{SENTENCES}}
</sentences>
+
Input {{SENTENCES}}
- 我喜欢牛的声音
- 这句话是关于蜘蛛的
- 这句话看似是关于狗的,但实际上是关于猪的
=
替换后的 Prompt
User: 下面是一组句子。告诉我列表中的第二项。
- 每个句子都与动物有关,比如兔子。
<sentences>
- 我喜欢牛的声音
- 这句话是关于蜘蛛的
- 这句话看似是关于狗的,但实际上是关于猪的
</sentences>
输出:
Claude 的回复
列表中的第二项是“这句话是关于蜘蛛的”。
Atenção: No prompt incorreto "Toda frase é sobre animais", precisamos incluir um hífen para que o Claude dê a resposta incorreta no exemplo que desejamos. Essa é uma lição importante sobre o design do prompt:Os detalhes são importantes! Vale a pena.Verifique se há erros de ortografia e gramática em seus prompts. O Claude é muito sensível a padrões (em seus estágios iniciais, era uma ferramenta de previsão somente de texto não ajustada); é mais provável que ele cometa um erro quando você comete um erro, ele se comporta de forma mais inteligente quando você parece inteligente, ele se comporta de forma estúpida quando você parece estúpido, etc.
Se você estiver pronto para experimentar os exercícios do capítulo, clique nos links abaixo. Role a tela para baixo se quiser experimentar qualquer um dos exemplos desta lição!
exercício
Exercício 4.1 - Temas de haicai
Escreva um prompt na caixa de modelo destacada que aceite uma variável chamada "{{TOPIC}}" e produza um haicai sobre esse tópico. Este exercício foi criado para testar sua compreensão da estrutura do modelo de variável.
Exemplo:
输入:
Prompt 模板
User: 写一首关于 {{TOPIC}} 的俳句。
+
Input {{TOPIC}}
猪
=
替换后的 Prompt
User: 写一首关于猪的俳句。
输出:
Claude 的回复
这是关于猪的俳句:
泥中拱鼻响
卷尾粉胖咕噜
猪儿游农场
Exercício 4.2 - Problemas de cães com erros de ortografia
Corrija as dicas na caixa de modelo destacada adicionando tags XML para que o Claude forneça a resposta correta.
Tente não alterar mais nada no prompt. Essa redação confusa e cheia de erros é intencional e tem o objetivo de dar a você uma ideia de como o Claude responde a esses erros. Se o seu prompt gerar uma resposta correta, a resposta do Claude ficará verde.
Atenção: Embora o Claude seja capaz de analisar a gramática ruim e as dicas de erros ortográficos até certo ponto, oOs prompts claramente escritos, com verificação ortográfica e gramaticalmente corretos reduzirão significativamente o risco de Claude cometer erros e melhorarão significativamente a qualidade de seu resultado.
Exemplo:
输入:
Prompt 模板
User: 嗨是我我有个关于狗的问题 jkaerjv <question>{{QUESTION}}</question> jklmvca tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
+
Input {{QUESTION}}
狗能是棕色的吗?
=
替换后的 Prompt
User: 嗨是我我有个关于狗的问题 jkaerjv <question>狗能是棕色的吗?</question> jklmvca tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
输出:
Claude 的回复
是的,狗可以是棕色的。
Se você precisar de um prompt, clique no sinal de mais (➕) na extremidade esquerda dessa linha.
Exercício 4.3 - Problemas com cães - Parte II
abster-se deAdicione tags XML para corrigir os prompts na caixa de modelo destacada. Em vez disso, remova apenas uma ou duas palavras do prompt.
Novamente, tente não alterar mais nada no prompt. Isso demonstrará o tipo de linguagem que o Claude é capaz de analisar e entender. Se a sua dica gerar a resposta correta, a resposta do Claude ficará verde.
Exemplo:
输入:
Prompt 模板
User: 嗨是我我有个关于狗的问题 {{QUESTION}} tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
+
Input {{QUESTION}}
狗能是棕色的吗?
=
替换后的 Prompt
User: 嗨是我我有个关于狗的问题 狗能是棕色的吗? tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
输出:
Claude 的回复
是的,狗可能有棕色的毛发。棕色是许多犬种常见的毛色。
Se você precisar de um prompt, clique no sinal de mais (➕) na extremidade esquerda dessa linha.