プロンプトの書き方
プロンプトとは、AIアシスタントに送る、頼みの文章のことです。頼み方があいまいだと、答えもあいまいになり、直す手間が増えます。
学食の売り上げを合計するコードを頼む場面を考えます。「合計して」の一言と、目的や条件まで書いた頼みでは、返る答えの使いやすさが違います。
このレッスンのゴール
メモ
使える答えが返ってくる頼みを、4つの部品で書ける。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| 目的 | 何を作りたいか、という一文です。 | |
| 状況 | 今あるものと、使う道具です。 | |
| 条件 | 守ってほしい決まりです。 | 標準ライブラリだけ |
| 入出力の例 | 入れる値と、返る値の見本です。 | |
| 頼み直し | 答えを見て、頼みを直すことです。 |
学生が入力するセルは、このプレビューでは空白です。
良い頼みには4つの部品がある
頼みの部品は4つです。目的、状況、条件、入出力の例です。この4つがそろうと、モデルは推測する量が減り、答えがぶれにくくなります。
短い頼みが悪いのではありません。足りない部品を、モデルに推測させることが問題です。
頼みの4つの部品
| 部品 | 書くこと | 例 |
|---|---|---|
| 目的 | 何を作りたいか | 日ごとの売り上げを合計する |
| 状況 | 今あるもの | 金額の一覧と Python 3 |
| 条件 | 守る決まり | 標準ライブラリだけを使う |
| 入出力の例 | 入れる値と返る値 | [120, 140] を入れて 260 |
学生が入力するセルは、このプレビューでは空白です。
例は、そのまま確かめにも使える
入出力の例を頼みに書くと、答えを確かめる材料にもなります。返ってきたコードに同じ値を入れて、同じ答えが出るかを見ればよいのです。
例が1つあるだけで、頼みの意味も、確かめ方も、はっきりします。
頼みの例で確かめる
def daily_total(prices):
total = 0
for price in prices:
total = total + price
return total
# 頼みに書いた例: [120, 140] を入れると 260 になるはずです。
print(daily_total([120, 140]))
# 空の一覧 [] を入れると、何が返るでしょうか。実行して確かめます。
print(daily_total([]))
直す点を具体的に言って頼み直す
最初の答えが合わないときは、「直して」だけでは足りません。何がどう違うかを、値で伝えます。
期待した値、実際に出た値、条件の違いの3つを書くと、次の答えが目的に近づきます。
頼み直しの言い方
| 弱い言い方 | 強い言い方 |
|---|---|
| 直して | 260 のはずが 140 になります |
| だめです | 空の一覧で 0 を返してください |
| もっと良く | 関数の名前を英語の動詞にします |
学生が入力するセルは、このプレビューでは空白です。
ラボで状況を数字にする
頼む前に、対象の大きさを知っておくと、状況を正確に書けます。次の Run は、ラボのプロジェクトの2つのファイルの行数を数えます。
最初の状態では、行数は 26 と 9 で、合計は 35 と出ます。
ファイルの行数を数える
docker exec -w /home/node/project agent wc -l shop.js shop.test.jsここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
よくある間違い
注意
「頼みは長いほど良い」と考える人がいます。大切なのは長さではなく、4つの部品がそろっているかです。関係のない話や、パスワードのような秘密を足すと、かえって悪くなります。