プログラム
多くの場合、私たちは完全なプロンプトを書きたくはない。 クロードに提出する前に、追加のデータ入力に基づいて後で修正できるプロンプトテンプレート.もし望むなら クロード 毎回同じタスクを実行できれば非常に便利だが、クロードが使用するデータは毎回異なる可能性がある。
幸運なことに、我々はこの2つの世界のベストを得ることができる。 プロンプトの固定フレームと可変のユーザー入力を分離し、ユーザー入力をプロンプトに置き換えてから、完全なプロンプトをClaudeに送信する。これを達成するのはとても簡単だ。
以下では、置き換え可能なプロンプトテンプレートの書き方と、ユーザー入力を置き換える方法を順を追って説明する。
典型例
最初の例では、Claudeに動物の鳴き声ジェネレーターとしての役割を依頼した。Claudeに提出された完全なプロンプト(連鎖している3番目の黄色いボックス)は、入力(この場合、2番目のボックスの「Cow」)をプロンプトテンプレート(1番目のボックス)に置き換えただけであることに注意。Cow」は3番目の黄色いボックスの「{{ANIMAL}}」を置き換えていることに注意。
注:置換プレースホルダーに特別な名前をつける必要はありません。この例では、{{ANIMAL}}が使用されていますが、これは練習に必要な書式だからです。この例では、{{ANIMAL}}が使用されていますが、これは演習に必要な書式だからです。しかし、一般的には、「{{CREATURE}}」または「{{A}}」と呼ぶこともできます(しかし 通常、プレースホルダーは具体的で関連性のあるものにするのがベストです。(こうすることで、たとえ置き換えがなくても、ヒントを理解しやすく、ユーザーが解析しやすくなります)。置換プレースホルダにどのような名前を付けるにしても、置換式でも同じ名前を使うようにしてください。
例
入力
プロンプトテンプレート
ユーザー:動物の名前を言います。その動物の鳴き声を答えてください。{ANIMAL}}
+
ANIMAL}}を入力してください。
牛
=
置換後のプロンプト
ユーザー:動物の名前を言います。その動物の鳴き声を答えてください。牛
出力
クロードの返事
ムー
なぜ、このように入力を分離し、入れ替えるのか?なぜならプロンプトテンプレートは、繰り返しのタスクを簡素化します。 例えば、サードパーティユーザーがコンテンツ(この場合は、サウンドを生成したい動物)を投稿できるようなプロンプト構造を構築したとします。サードパーティユーザーは、プロンプトの全文を書いたり見たりする必要はありません。変数を入力するだけです。
ここでは代入にスプレッドシートの関数を使用していますが、これもコーディングのベストプラクティスです!私たち自身のコードでは{{二重中括弧}}形式を使っています。
注目してほしい:ヒント・テンプレートにはいくつでも変数を入れることができる。
このような代入変数を導入する場合、クロードが変数の始まりと終わりを(命令やタスクの記述とは別に)知っていることを確認することが重要です。命令と代入変数を分けていない例を見てみよう。
例
入力
プロンプトテンプレート
User: Yo Claude. {{EMAIL}} <----- このメールをもっと丁寧にしてください。
+
EMAIL}}を入力してください。
明日の朝6時に来てください。
=
プロンプトを次のように置き換えてください。
ユーザー:よぉクロード。 明日の朝6時に来てくれ。 <----- このメールをもっと丁寧にする。
出力してください:
クロードからの返信
親愛なるクロード。
お元気でいらっしゃいますか。CEOとして、明日の朝6時にオフィスに来ていただきたいと思います。早起きかもしれませんが、会社の成功のためには必要なことだと思います。もしこの時間について何かご心配やご都合があるようでしたら、私にお知らせください。
皆さんの献身と努力に感謝します。明日お会いできることを楽しみにしています。
よろしくお願いします。
[あなたのCEOの名前]
ここでは、クロードは「Yo Claude」をメールの一部とみなし、「Dear Claude」と書き換えている!リライトされたメールが "Dear Claude "で始まるので、このことがわかります。人間には、特にプロンプトのテンプレートでは、メールの始まりと終わりがはっきりしているのですが、置き換えプロンプトでは、それほどはっきりしていません。
どうすれば解決できるのか?入力をXMLタグで囲む!この結果、出力に「Dear Claude」の文字はなくなった。
XMLタグ は、このようにシャープな括弧で囲まれたタグです。XMLタグは、コンテンツをラップするために使用されます。
注目してほしい: クロードは様々なセパレータや区切り文字を認識し扱いますが、以下のことをお勧めします。クロード区切りとしてのXMLタグの特別な使用法というのも、クロードのトレーニングでは、プロンプトを整理するメカニズムとしてXMLタグの使用に特に注意を払っているからである。関数呼び出しに加えてクロードは、特定のXMLタグをターゲットにしてパフォーマンスを最大化するような訓練は受けていません。私たちは、クロードが非常にフレキシブルでカスタマイズ可能であることを意図していた。
例
入力
プロンプトテンプレート
User: Yo Claude. {{EMAIL}} <-----このメールをもっと丁寧にしてください。
+
EMAIL}}と入力してください。
朝6時に到着してください、私がCEOだからそう言うのです。
=
プロンプトを
User: Yo Claude. Come in at 6am, because I'm the CEO, so I say so. <----- このメールをもっと丁寧なものにしてください。
出力してください:
クロードからの返信
親愛なる[あなたの名前]。
このメールを見て、あなたが楽しい気分になることを願っています。CEOとして、朝6時に出社してほしい。とても早い時間であることは承知していますが、私たちの組織を成功させるためには必要不可欠なことだと考えています。ご都合がよろしければお知らせください。
よろしくお願いいたします。
[CEO氏名]
XMLタグがどのように役立つか、別の例を見てみよう。
次のヒントでは、クロードはヒントの指示部分と入力部分の両方を誤って解釈しています。書式の問題で、"Each is about an animal, like rabbits "をリストの一部として誤って見てしまう。
例
入力
プロンプト・テンプレート
ユーザー:次の文は一組の文です。リストの2番目の文を教えてください。
- それぞれの文はウサギなどの動物に関するものです。
{センテンス}}。
+
SENTENCES}}を入力してください。
- 私は牛の鳴き声が好きです。
- この文はクモについてです。
- この文章は犬について書いているように見えますが、本当は豚について書いています。
=
置換プロンプト
ユーザー:ここに一連の文があります。リストの2番目の文を教えてください。
- それぞれの文はウサギなどの動物に関するものです。
- 私は牛の鳴き声が好きです。
- この文はクモに関するものです。
- この文は犬について書いているように見えるが、本当は豚について書いている。
アウトプット
クロードの返答
リストの2番目の文は "I like the sound of cows mooing "です。
この問題を解決するには、ユーザーが入力した文章を単純にXMLタグでくくる。こうすることで、"Each is about an animal, like rabbits "の前に誤解を招くようなダッシュがあるにもかかわらず、クロードに入力データの始まりと終わりが表示される。
例
入力
プロンプト・テンプレート
ユーザー:次の文章は一連のものです。リストの2番目の項目を教えてください。
- それぞれの文はウサギのような動物に関するものです。
<文章
{センテンス
+
入力 {{SENTENCES}}
- 私は牛の鳴き声が好きだ。
- この文はクモについてです。
- この文は犬について書いているように見えるが、本当は豚について書いている。
=
プロンプトの置き換え
ユーザー:ここに一連の文章があります。リストの2番目の項目を教えてください。
- それぞれの文はウサギのような動物に関連しています。
<文
- 私は牛の鳴き声が好きです。
- この文はクモについてです。
- この文章は犬について書いているように見えるが、実は豚について書いている。
アウトプット
クロードの返事
リストの2番目の項目は「この文章はクモについてです」である。
注目してほしい: すべての文章は動物について書かれている」という誤ったプロンプトでは、クロードが私たちの望む例で誤った回答をするためには、ハイフンを含めなければならない。これはプロンプトのデザインにおける重要な教訓である:詳細は重要だ! 時間をかける価値はある。プロンプトにスペルミスや文法ミスがないかチェックする。 クロードはパターンに非常に敏感である(初期の段階では、微調整されていないテキストのみの予測ツールだった)。あなたがミスをするとミスをしやすくなり、あなたが賢く見えるとより賢く振る舞い、あなたが愚かに見えると愚かに振る舞うなど。
各章の練習問題を試す準備ができたら、下のリンクをクリックしてください。このレッスンの例題を試したい場合は、下にスクロールしてください!
エクササイズ
練習4.1 - 俳句のテーマ
強調表示されたテンプレートボックスに、"{{TOPIC}}"という変数を受け取り、そのトピックに関する俳句を出力するプロンプトを書いてください。この練習は、変数テンプレートの構造についての理解を試すためのものです。
例
入力
プロンプトテンプレート
ユーザー: {{TOPIC}} について俳句を作ってください。
+
入力 {{TOPIC}}
豚
=
プロンプト
ユーザー:豚の俳句を作ってください。
出力してください:
クロードの返事
これは豚についての俳句です:
泥の中でアーチを描く鼻
カーリーテールのピンクの太ったうなり声
農場を旅する豚
練習4.2 - 犬のスペルミスの問題
クロードが正しい答えを出すようにXMLタグを追加して、ハイライトされたテンプレートボックスのヒントを修正する。
プロンプトの他の部分は変えないようにしてください。この混乱したエラーの多い文章は意図的なもので、クロードがこれらのエラーにどのように反応するかを知ってもらうためのものです。あなたのプロンプトが正しい答えを生成した場合、クロードの回答は緑色に変わります。
注目してほしい: クロードは稚拙な文法やスペルミスの手がかりをある程度は解析できるものの明確に書かれ、スペルチェックされ、文法的に正しいプロンプトは、クロードのミスのリスクを大幅に減らし、アウトプットの質を大幅に向上させる。
例
入力
プロンプトテンプレート
User: こんにちは、私です。犬について質問があります。 jkaerjv {{QUESTION}} jklmvca tx とてもとても助かりました。
+tx
入力 {{QUESTION}}
犬は茶色ですか?
=
プロンプトを置換
User: こんにちは、私です。犬について質問があります。 jkaerjv 犬は茶色ですか? jklmvca tx とても助かりました。
出力してください:
クロードの答え
はい、犬は茶色になります。
プロンプトが必要な場合は、この行の左端にあるプラス記号(↪So_95)をクリックしてください。
練習4.3 - 犬の問題 パートII
忌むXMLタグを追加して、ハイライトされたテンプレートボックスのプロンプトを修正する。代わりに、プロンプトから1語または2語だけを削除します。
繰り返しますが、プロンプトの他の部分は何も変えないようにしてください。これは、クロードが解析し理解できる言語のタイプを示すことになります。あなたのヒントが正しい答えを生成した場合、クロードの応答は緑色に変わります。
例
入力
プロンプトテンプレート
User: こんにちは、私です。犬{{QUESTION}}について質問があります。
+tx
入力 {{QUESTION}}
犬は茶色ですか?
=
プロンプトを置き換える
User: こんにちは、私です。犬について質問があります。 tx とても助かりました、とても、とても atx fst fst short short answer tx
出力
クロードの答え
はい、犬は茶色の毛を持つことができます。茶色は多くの犬種に共通する毛色です。
プロンプトが必要な場合は、この行の左端にあるプラス記号(↪So_95)をクリックしてください。