AIに「うまく聞く」技術――プロンプトエンジニアリング入門

広告

プログラミングを学び始めた皆さんは、ChatGPTやCopilotなどのAIツールを使ったことがあるでしょうか。「使ってみたけど、思ったような答えが返ってこなかった」という経験はありませんか?

それ、AIが悪いのではなく、聞き方の問題かもしれません。

このページでは、AIから欲しい回答を引き出すための「プロンプトエンジニアリング」の基本を紹介します。

プロンプトとは?

プロンプトとは、AIに送る「指示文・質問文」のことです。

あなたが入力するテキスト → AIへの指示(プロンプト)
AIが返すテキスト     → レスポンス(応答)

プロンプトの書き方次第で、AIの回答の質は大きく変わります。これを意図的にコントロールする技術がプロンプトエンジニアリングです。

悪いプロンプトと良いプロンプトの違い

例:C#でエラーを直したいとき

悪い例

エラーが出ました。直してください。

AIはどのエラーか、どんなコードかわかりません。曖昧な質問には曖昧な答えしか返ってきません。

良い例

以下のC#コードを実行したところ、エラーが発生しました。
原因と修正方法を教えてください。

【エラーメッセージ】
NullReferenceException: Object reference not set to an instance of an object

【コード】
public void Start()
{
    string name = null;
    Debug.Log(name.Length);
}

【やりたいこと】
nameが空でもクラッシュしないようにしたい。

情報が揃っているので、AIは的確なアドバイスを返せます。

基本テクニック5選

1. 役割を与える(ロールプロンプト)

AIに「あなたは〇〇の専門家です」と伝えると、それに合った回答をしてくれます。

あなたはC#の初心者教育の専門家です。
ListとArrayの違いを、プログラミング未経験者にもわかるように説明してください。

2. 出力形式を指定する

「箇条書きで」「表形式で」「コード付きで」など、欲しい形式を明示します。

3. 具体例を示す(Few-shot)

「こういう形式で答えてほしい」という例をあらかじめ見せると、精度が上がります。

4. ステップを踏ませる(Chain of Thought)

複雑な問題は「順番に考えて」と伝えると、より正確な答えが返ってきます。

5. 制約を加える

「〇〇は使わないで」「〇〇字以内で」など、制約を加えることで意図した回答に近づけます。

コードを「理解する」ためのプロンプト活用

AIが出してくれたコードをそのままコピーするのはNGです。必ず理解してから使いましょう

以下のコードを生成してもらいましたが、意味が理解できていません。
1行ずつ、何をしているか日本語で説明してください。

var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

これを繰り返すことで、コードを読む力が自然と身についていきます。

まとめ

テクニックポイント
役割を与える「専門家として」と伝える
形式を指定する「箇条書きで」「表で」など
例を見せる望む出力形式をあらかじめ示す
ステップを踏む「順番に考えて」と伝える
制約を加える「〇〇は使わない」など条件を絞る

AIは「魔法の道具」ではなく、うまく使うスキルが必要な道具です。プロンプトの書き方を磨くことで、学習スピードも、将来の仕事の効率も大きく変わります。

訪問数 3 回, 今日の訪問数 3回

広告

AI,ChatGPT

Posted by hidepon