【ChatGPT初心者向け】指示のコツ - 複数のファイルにまたがる複雑なコーディング・プロンプトのコツ
今回もコーネル大学が発表した、生成AIの精度を上げるプロンプトの原則26点の中から一つご紹介します。
例によって、後々見返した際に記事タイトルを見ただけでも内容を判断できるように、一つずつ紹介していきます。
コーネル大学の論文はこちら
https://browse.arxiv.org/html/2312.16171v1
論文の内容を翻訳してもらうと、次のように記載されていました。
使い方としては、「今後、複数のファイルにまたがるコードを生成するときはいつでも、指定されたファイルを自動的に作成したり、生成されたコードを挿入するために既存のファイルに変更を加えたりするために実行できるPythonスクリプトを生成してください。」という感じです。
このテクニックを使用するメリット
このテクニックを使用するメリットは、プログラムを更新する労力が減ることです。
上記のような指示を加えると、今後、ファイルの更新が必要になった場合にコーディングのフォーマットやルールを都度指定しなくても「○○を追加して」などの簡単な追加指示を与えるだけで、既存のコードと同じフォーマットに揃えてコードを自動生成してくれるようになります。
具体的な例をChatGPTに考えてもらいました。
プロンプト例
実行結果
上記のプロンプトを実行した結果は下記の通りです。
import os
# レシピ情報を辞書で定義
recipes = {
'tomato_soup': {
'title': 'トマトスープ',
'ingredients': [
'トマト 4個',
'玉ねぎ 1個',
'ニンニク 2片',
'チキンブイヨン 2カップ',
'塩 少々',
'黒コショウ 少々'
],
'method': [
'トマトと玉ねぎを粗く切る。',
'鍋にオリーブオイルを熱し、ニンニクを炒める。',
'トマトと玉ねぎを加え、柔らかくなるまで炒める。',
'チキンブイヨンを加えて煮込む。',
'塩と黒コショウで味を調える。',
'ミキサーで滑らかになるまで混ぜる。'
]
},
'chocolate_cake': {
'title': 'チョコレートケーキ',
'ingredients': [
'砂糖 1カップ',
'小麦粉 1カップ',
'ココアパウダー 1/2カップ',
'ベーキングパウダー 1 1/2 tsp',
'塩 1/2 tsp',
'卵 2個',
'牛乳 1/2カップ',
'植物油 1/2カップ',
'バニラエッセンス 2 tsp'
],
'method': [
'オーブンを175度に予熱する。',
'砂糖、小麦粉、ココアパウダー、ベーキングパウダー、塩を混ぜる。',
'卵、牛乳、植物油、バニラエッセンスを加えてよく混ぜる。',
'生地を型に流し入れる。',
'25分間焼く。',
'冷ましてから、お好みでトッピングをする。'
]
}
}
# レシピファイルを生成する関数
def create_recipe_file(recipe_name, recipe_data):
filename = f"{recipe_name}.txt"
with open(filename, 'w', encoding='utf-8') as file:
file.write(f"{recipe_data['title']}\n\n")
file.write("【必要な材料】\n")
for ingredient in recipe_data['ingredients']:
file.write(f"- {ingredient}\n")
file.write("\n【調理方法】\n")
for step, method in enumerate(recipe_data['method'], start=1):
file.write(f"{step}. {method}\n")
# 各レシピについてファイルを生成
for recipe_name, recipe_data in recipes.items():
create_recipe_file(recipe_name, recipe_data)
これに今後レシピを追加する場合は、下記のような指示を送るだけでフォーマットに沿った形で追加してくれるようになります。
Pythonスクリプトに次のレシピを追加して。
ポークピカタのレシピ
材料:(材料を記載)
調理方法:(調理方法を記載)
まとめ
今後更新することがない一時的なソースコードを生成する場合は、今回のテクニックは必要ありません。
しかし、今後も更新していく(長期的に運用する)予定があるのであれば、今回のテクニックを使用した方が更新の労力が少なく効率的に運用できます。
今回の記事は以上になります。
初心者向けの記事はこちらのマガジンにまとめていますので、
良かったら他の記事も見ていってください。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?