プログラム
多くの場合、私たちは完全なプロンプトを書きたくはない。 クロードに提出する前に、追加のデータ入力に基づいて後で修正できるプロンプトテンプレート.もし望むなら クロード 毎回同じタスクを実行できれば非常に便利だが、クロードが使用するデータは毎回異なる可能性がある。
幸運なことに、我々はこの2つの世界のベストを得ることができる。 プロンプトの固定フレームと可変のユーザー入力を分離し、ユーザー入力をプロンプトに置き換えてから、完全なプロンプトをClaudeに送信する。これを達成するのはとても簡単だ。
以下では、置き換え可能なプロンプトテンプレートの書き方と、ユーザー入力を置き換える方法を順を追って説明する。
典型例
最初の例では、Claudeに動物の鳴き声ジェネレーターとしての役割を依頼した。Claudeに提出された完全なプロンプト(連鎖している3番目の黄色いボックス)は、入力(この場合、2番目のボックスの「Cow」)をプロンプトテンプレート(1番目のボックス)に置き換えただけであることに注意。Cow」は3番目の黄色いボックスの「{{ANIMAL}}」を置き換えていることに注意。
注:置換プレースホルダーに特別な名前をつける必要はありません。この例では、{{ANIMAL}}が使用されていますが、これは練習に必要な書式だからです。この例では、{{ANIMAL}}が使用されていますが、これは演習に必要な書式だからです。しかし、一般的には、「{{CREATURE}}」または「{{A}}」と呼ぶこともできます(しかし 通常、プレースホルダーは具体的で関連性のあるものにするのがベストです。(こうすることで、たとえ置き換えがなくても、ヒントを理解しやすく、ユーザーが解析しやすくなります)。置換プレースホルダにどのような名前を付けるにしても、置換式でも同じ名前を使うようにしてください。
例
输入:
提示模板
用户:我会告诉你一种动物的名字。请回复该动物发出的声音。{{ANIMAL}}
+
输入 {{ANIMAL}}
牛
=
替换后的提示
用户:我会告诉你一种动物的名字。请回复该动物发出的声音。牛
输出:
Claude 的回应
哞。
なぜ、このように入力を分離し、入れ替えるのか?なぜならプロンプトテンプレートは、繰り返しのタスクを簡素化します。 例えば、サードパーティユーザーがコンテンツ(この場合は、サウンドを生成したい動物)を投稿できるようなプロンプト構造を構築したとします。サードパーティユーザーは、プロンプトの全文を書いたり見たりする必要はありません。変数を入力するだけです。
ここでは代入にスプレッドシートの関数を使用していますが、これもコーディングのベストプラクティスです!私たち自身のコードでは{{二重中括弧}}形式を使っています。
注目してほしい:ヒント・テンプレートにはいくつでも変数を入れることができる。
このような代入変数を導入する場合、クロードが変数の始まりと終わりを(命令やタスクの記述とは別に)知っていることを確認することが重要です。命令と代入変数を分けていない例を見てみよう。
例
输入:
提示模板
User: Yo Claude. {{EMAIL}} <----- 将这封邮件变得更加礼貌,但不要修改其他内容。
+
输入 {{EMAIL}}
明天早上 6 点到场,因为我是 CEO,我说了算。
=
替换后的提示
User: Yo Claude. 明天早上 6 点到场,因为我是 CEO,我说了算。 <----- 将这封邮件变得更加礼貌,但不要修改其他内容。
输出:
Claude 的回复
亲爱的 Claude,
希望你一切安好。作为 CEO,我想请求你明天早上 6 点到我们的办公室。我知道这可能是一个早起的时间,但我相信这对我们公司的成功是必要的。如果你对此时间有任何疑虑或冲突,请告诉我,我们可以一起找到合适的安排。
感谢你一直以来的奉献和辛勤工作。期待明天见到你。
此致敬礼,
[你们 CEO 的名字]
ここでは、クロードは「Yo Claude」をメールの一部とみなし、「Dear Claude」と書き換えている!リライトされたメールが "Dear Claude "で始まるので、このことがわかります。人間には、特にプロンプトのテンプレートでは、メールの始まりと終わりがはっきりしているのですが、置き換えプロンプトでは、それほどはっきりしていません。
どうすれば解決できるのか?入力をXMLタグで囲む!この結果、出力に「Dear Claude」の文字はなくなった。
XMLタグ は、このようにシャープな括弧で囲まれたタグです。XMLタグは、コンテンツをラップするために使用されます。
注目してほしい: クロードは様々なセパレータや区切り文字を認識し扱いますが、以下のことをお勧めします。クロード区切りとしてのXMLタグの特別な使用法というのも、クロードのトレーニングでは、プロンプトを整理するメカニズムとしてXMLタグの使用に特に注意を払っているからである。関数呼び出しに加えてクロードは、特定のXMLタグをターゲットにしてパフォーマンスを最大化するような訓練は受けていません。私たちは、クロードが非常にフレキシブルでカスタマイズ可能であることを意図していた。
例
输入:
提示模板
用户:Yo Claude. <email>{{EMAIL}}</email> <----- 请将这封邮件写得更礼貌一些,但不要改变其内容。
+
输入 {{EMAIL}}
早上6点到,因为我是CEO,所以我这么说。
=
替换后的提示
用户:Yo Claude. <email>早上6点到,因为我是CEO,所以我这么说。</email> <----- 请将这封邮件写得更礼貌一些,但不要改变其内容。
输出:
Claude的回复
亲爱的 [您的名字],
希望这封邮件能给您带来愉快的心情。作为CEO,我希望您能在早上6点到场。我理解这可能是一个很早的时间,但我相信这是我们组织成功的必要条件。请告知我这个时间是否适合您,非常感谢您的配合。
此致,
[CEO的名字]
XMLタグがどのように役立つか、別の例を見てみよう。
次のヒントでは、クロードはヒントの指示部分と入力部分の両方を誤って解釈しています。書式の問題で、"Each is about an animal, like rabbits "をリストの一部として誤って見てしまう。
例
输入:
提示模板
用户:以下是一组句子。告诉我列表中的第二个句子。
- 每个句子都与一种动物有关,比如兔子。
{{SENTENCES}}
+
输入 {{SENTENCES}}
- 我喜欢奶牛的叫声
- 这句话是关于蜘蛛的
- 这句话看起来是关于狗的,但实际上是关于猪的
=
替换后的提示
用户:以下是一组句子。告诉我列表中的第二个句子。
- 每个句子都与一种动物有关,比如兔子。
- 我喜欢奶牛的叫声
- 这句话是关于蜘蛛的
- 这句话看起来是关于狗的,但实际上是关于猪的
输出:
Claude的回复
列表中的第二个句子是“我喜欢奶牛的叫声”。
この問題を解決するには、ユーザーが入力した文章を単純にXMLタグでくくる。こうすることで、"Each is about an animal, like rabbits "の前に誤解を招くようなダッシュがあるにもかかわらず、クロードに入力データの始まりと終わりが表示される。
例
输入:
Prompt 模板
User: 下面是一组句子。告诉我列表中的第二项。
- 每个句子都与动物有关,比如兔子。
<sentences>
{{SENTENCES}}
</sentences>
+
Input {{SENTENCES}}
- 我喜欢牛的声音
- 这句话是关于蜘蛛的
- 这句话看似是关于狗的,但实际上是关于猪的
=
替换后的 Prompt
User: 下面是一组句子。告诉我列表中的第二项。
- 每个句子都与动物有关,比如兔子。
<sentences>
- 我喜欢牛的声音
- 这句话是关于蜘蛛的
- 这句话看似是关于狗的,但实际上是关于猪的
</sentences>
输出:
Claude 的回复
列表中的第二项是“这句话是关于蜘蛛的”。
注目してほしい: すべての文章は動物について書かれている」という誤ったプロンプトでは、クロードが私たちの望む例で誤った回答をするためには、ハイフンを含めなければならない。これはプロンプトのデザインにおける重要な教訓である:詳細は重要だ! 時間をかける価値はある。プロンプトにスペルミスや文法ミスがないかチェックする。 クロードはパターンに非常に敏感である(初期の段階では、微調整されていないテキストのみの予測ツールだった)。あなたがミスをするとミスをしやすくなり、あなたが賢く見えるとより賢く振る舞い、あなたが愚かに見えると愚かに振る舞うなど。
各章の練習問題を試す準備ができたら、下のリンクをクリックしてください。このレッスンの例題を試したい場合は、下にスクロールしてください!
エクササイズ
練習4.1 - 俳句のテーマ
強調表示されたテンプレートボックスに、"{{TOPIC}}"という変数を受け取り、そのトピックに関する俳句を出力するプロンプトを書いてください。この練習は、変数テンプレートの構造についての理解を試すためのものです。
例
输入:
Prompt 模板
User: 写一首关于 {{TOPIC}} 的俳句。
+
Input {{TOPIC}}
猪
=
替换后的 Prompt
User: 写一首关于猪的俳句。
输出:
Claude 的回复
这是关于猪的俳句:
泥中拱鼻响
卷尾粉胖咕噜
猪儿游农场
練習4.2 - 犬のスペルミスの問題
クロードが正しい答えを出すようにXMLタグを追加して、ハイライトされたテンプレートボックスのヒントを修正する。
プロンプトの他の部分は変えないようにしてください。この混乱したエラーの多い文章は意図的なもので、クロードがこれらのエラーにどのように反応するかを知ってもらうためのものです。あなたのプロンプトが正しい答えを生成した場合、クロードの回答は緑色に変わります。
注目してほしい: クロードは稚拙な文法やスペルミスの手がかりをある程度は解析できるものの明確に書かれ、スペルチェックされ、文法的に正しいプロンプトは、クロードのミスのリスクを大幅に減らし、アウトプットの質を大幅に向上させる。
例
输入:
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 的回复
是的,狗可以是棕色的。
プロンプトが必要な場合は、この行の左端にあるプラス記号(↪So_95)をクリックしてください。
練習4.3 - 犬の問題 パートII
忌むXMLタグを追加して、ハイライトされたテンプレートボックスのプロンプトを修正する。代わりに、プロンプトから1語または2語だけを削除します。
繰り返しますが、プロンプトの他の部分は何も変えないようにしてください。これは、クロードが解析し理解できる言語のタイプを示すことになります。あなたのヒントが正しい答えを生成した場合、クロードの応答は緑色に変わります。
例
输入:
Prompt 模板
User: 嗨是我我有个关于狗的问题 {{QUESTION}} tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
+
Input {{QUESTION}}
狗能是棕色的吗?
=
替换后的 Prompt
User: 嗨是我我有个关于狗的问题 狗能是棕色的吗? tx 它对我帮助很大非常非常多 atx fst fst 答案简短简短 tx
输出:
Claude 的回复
是的,狗可能有棕色的毛发。棕色是许多犬种常见的毛色。
プロンプトが必要な場合は、この行の左端にあるプラス記号(↪So_95)をクリックしてください。