AIと対話を始める
GitHub CopilotのようなAIとの対話は、新しくプロジェクトへ着任したメンバーに作業を依頼する場面を想像すると分かりやすいでしょう。経験豊富なメンバーであっても、プロジェクトについてはまだ何も知らない状態です。
そのため「○×を作って」とだけ伝えても、意図を正確に汲み取ってもらうのは難しいでしょう。AIから期待通りの結果を引き出すには、人に対してそうするように、作業の背景や目的、満たすべき条件といった「コンテキスト(文脈)」を丁寧に伝えることが重要になります。
本ページでは、AIとの対話における具体的なコツをいくつかの例を通して紹介します。
また、GitHub CopilotおよびVisual Studio Codeの以下のドキュメントも参考にするとよいでしょう。
指示のコツ:具体的な実装を依頼する
何かを実装してほしい時のプロンプト(指示)の例です。
良くない実装依頼例
ユーザーの検索機能を作成してください。
これではどのような機能を持つ検索なのか、AIは知ることができません。AIは一般的な知識から「おそらくこうだろう」というコードを生成しますが、それがプロジェクトの要件を満たす可能性は低いでしょう。
良い実装依頼例
以下のように実装してほしい処理の仕様を具体的に伝えることが、期待通りのコードを得るためのコツです。
以下の仕様を満たす`search`メソッドを`UserService`クラスに実装してください。
## 概要
指定された検索条件をもとに、ユーザーを検索する。
## 仕様
- 引数
- 検索キーワード
- 取得件数
- 戻り値
- 検索キーワードにマッチしたユーザーの`List`
- 最大で取得件数で指定したレコード数を返却する
- 検索結果が0件の場合は、空の`List`
1. 引数の検証を行う
1. 検索キーワードが`null`ではないか
2. 取得件数が0以下の値ではないか
3. 上記のいずれかに該当する場合は、例外をスローする
2. `UserRepository`クラスを使い、絞り込み条件を検索キーワード、取得するレコード数に取得件数を指定して`USER`テーブルを検索する
1. 検索キーワードは`USER`テーブルの以下のカラムに対して部分一致で絞り込み、OR検索を行う
- `first_name`
- `last_name`
- `email`
3. 取得したユーザー情報を 返却する
質問のコツ:コードの書き方を聞く
不明点について質問する場合も同様です。
良くない質問例
指定されたCSVファイルを読み込み、格納されているレコードを処理する方法を教えてください。