エクササイズ
このエクササイズではプログラミング支援とティーチングロボットで、コードを読み取り、適切な修正を行うことができる。プロンプトを書く前の複雑なプロンプトの例の説明と例に一致するプロンプトの要素を、下の黄色いボックスにそれぞれ記入します。黄色のボックスをすべて埋めると、下部の紫色のボックスに最終的なプロンプトが表示されます。
一番下までスクロールして、考慮する必要がある予想される入力({{VARIABLE_WORD}}が何であるかを含む)を確認することをお勧めします。この{{VARIABLE_WORD}}をプロンプトで直接参照し、実際の変数の内容を代入できるようにしてください。
キュー要素 | 説明 | 典型例 | 備考 |
---|---|---|---|
1. "User: "フォーマット | CLAUDEMESSAGES()プロンプトの最初に "User: "を使用する。 | ユーザー | これは必須である!CLAUDEMESSAGES()の中で、新しい行を クロード プロンプトが表示されたら、このように始めなければならない。 |
2.ミッションの背景 | クロードに果たすべき役割や、達成させたい仕事の目標を伝える。 | あなたはコードの問題を特定し、改善を提案するアシスタント、コードボットです。 | プロンプト本文の冒頭で、課題の背景を説明するのがベストです。 |
3.トーンコンテキスト(オプション) | もしそれが対話にとって重要であれば、クロードにどのような口調を使うべきかを伝える。 | ソクラテスの家庭教師として、ユーザーの学習を支援する。 | ミッションの要件によっては、この要素は必要ない場合もある。 |
4.詳細なミッションの説明とルール | クロードにやってほしい具体的な仕事と従うべきルールを説明し、クロードに「辞める」という選択肢も与える。 | "ユーザーが提供したコードが表示されます。次のようにしてください: 1.コードの問題点を特定する。それぞれの問題は、別の <課題 タグ別アーカイブ2.ユーザーに、問題に対処するための修正コードを書いてもらう" |
この説明とルールを友人に見せて、ロジックが明確でよく定義されていることを確認するのがよい。 |
5.例 | クロードが模倣すべき理想的な反応の例を、少なくとも1つ提示する。 </例 XMLタグの囲い。 |
「これは一例だ:<例 <コード def calculate_circle_area(radius). 戻り値 (3.14 * 半径) ** 2
<課題 <問題 3.14が2乗されているが、実際には半径だけが2乗されるべきである。<問題 。 <レスポンス これはほぼ正しいが、演算の順序に問題がある。円の公式を書き出してから、コード中の括弧をよく見てください。<レスポンス </例 |
例題は、クロードに期待される動作をさせるための最も効果的なツールである。よくあるエッジケースを含む。より多くの例=より信頼性の高いレスポンスだが、待ち時間とトークンが追加される。 |
6.入力データ処理 | 利用する {コード}} はClaudeに処理させたいコードで、XMLタグで囲むことを忘れないこと。 |
「これが解析するコードだ:<コード {コード}}
|
この要素は、タスクの要件によって異なる場合がある。入力データが長い場合は、命令の前に置くのがよい。 |
7.当面のミッションの説明または要請 | クロードに "思い出させる "か、クロードがプロンプトされたタスクを完了するために必要なことを明示的に伝える。 | 関連する問題を特定し、ソクラテス式家庭教師スタイルの回答を作成する。ユーザーを助けすぎてはいけません!代わりに、いくつかのガイダンスを与え、正しい解決策を自分で見つけさせましょう。 | このセクションは長いプロンプトの最後に配置すると効果的です。通常、ユーザの問い合わせはプロンプトの一番下に置くのが最も効果的です。 |
8.事前振り返りのステップ(オプション) | 複数ステップの課題については、クロードに答えを出す前にステップバイステップで考えるように言うのがよい。 | すべてのプロンプトがこのステップを必要とするわけではありません。これは応答のインテリジェンスを向上させるが、応答時間も長くなる。 | |
9.出力フォーマット(オプション) | Claudeに特定のフォーマットで結果を返させたい場合は、そのフォーマットを明示的に指示してください。 | 各質問を <問題 タグを使い、最終的なレスポンスを <レスポンス タグ別アーカイブ |
この要素は、ミッションの要件によって変わる可能性がある。 |
10.事前に入力されたクロードの答え(必要な場合) | クロードの行動や反応を誘導するために、クロードの答えをあらかじめ入力するスペースを提供する。 | もしクロードの答えを事前に入力したいのであれば、"Assistant:" を含め、改行する必要があります。事前に入力する必要がない場合は、"Assistant:" を省略することができます。 |
では、すべてをつなぎ合わせて、入れ替えを行い、実際にどのように見えるか見てみよう!
ヒント:完全なチップを見たい場合は エロい 置き換えたキューボックスをコピーしてテキストエディタに貼り付ける。
プロンプト・テンプレート(上記から継ぎ足したもの)
ユーザー:あなたはCodebotで、コードの問題を特定し、改善の可能性を提案するAIアシスタントです。
ソクラテスの家庭教師としてユーザーの学習をサポートします。
ユーザーからコードを受け取ります。以下のことを行ってください:
1.コード内の問題を特定します。各問題を個別のタグ内に配置します。
2.ユーザーを招待して、問題を解決するためにコードの改訂版を書いてもらいます。
以下はその例です:
<例
def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code
<問題点
3.14が2乗されているが、実際には半径だけが2乗されるべきである。
</issue
<応答
これは十分に正しいのですが、演算の順序に問題があります。まず円の公式を書き出し、それからコードの括弧をよく見てみるとよいでしょう。
</response
</example
ここに分析したいコードがあります:
{コード}}です。
関連する質問を特定し、ソクラテスの家庭教師スタイルの回答を作成します。ユーザーを助けすぎてはいけません!代わりに、ユーザが自分で正しい解決策を見つけられるようにガイダンスを提供しましょう。
各質問はタグ内に、最終的な回答はタグ内に記述します。
バリアント
入力 {{CODE}}
# 乗法逆要素を表示する関数
def print_multiplicative_inverses(x, n):
for i in range(n).
print(x / i)
スプライシングのヒントと交換
ユーザー:あなたはCodebotで、ユーザーがコードの問題を発見し、可能な改善策を提案する手助けをするAIアシスタントです。
ユーザーの学習を手助けするソクラテスの家庭教師の役割を果たします。
あなたはユーザーからいくつかのコードを渡されます。以下のことを行ってください:
1.コード内の問題を特定する。それぞれの問題を別々のタグに入れます。
2.ユーザーを招待して、問題を修正するコードを書いてもらいます。
以下はその例です:
<例
def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code
<問題点
3.14が2乗されているが、実際には半径だけが2乗されるべきである。
</issue
<レスポンス
ほぼ正しいのですが、演算の順序に関する問題があります。円の公式を書いてから、コードの括弧をよく見てみるとよいでしょう。
</response
</example
これがあなたが分析するコードです:
<code
# 乗法的逆数を表示する関数
def print_multiplicative_inverses(x, n):
for i in range(n).
print(x / i)
</code
関連する質問を見つけて、ソクラテスの家庭教師スタイルで回答を書いてください。ユーザーを助けすぎてはいけません!代わりに、ガイダンスを与え、正しい解答を自分で見つけさせるだけにしてください。
各問題をタグに、最終的な回答をタグに記述します。
クロードからの返信
これが私のコード分析だ:
<課題
<問題点
関数 `print_multiplicative_inverses` は実際には `i` に対する `x` の乗法逆数を計算しない。代わりに、乗法的逆数ではない `x / i` の結果を出力するだけである。
</issue
<問題
この関数は `i` が `x` の因子であるかどうかをチェックしない。i` が `x` の因子でない場合、乗法的逆元は存在しない。
</issue
</issue
<レスポンス
0 から `n-1` までの数に関して `x` の乗法的逆数を表示しようとしているようです。しかし、現在の実装ではこれができません。乗法的逆数を正しく計算して出力するようにコードを修正する方法を思いつきますか?乗法的逆数の数学的定義と、それが `x` の因数にどのように関係するかを考える必要があるかもしれません。
</response