初めてのAIエージェント活用
はじめに
ChatGPTやClaude、Geminiなど、生成AIツールは今や多くの人が日常的に使うようになりました。
しかし、「なんとなく質問しているけど、いまいち期待通りの答えが返ってこない」「もっと活用できそうだけど、どう質問すればいいかわからない」と感じている方も多いのではないでしょうか。
実は、AIエージェントから質の高い回答を引き出すには、ちょっとしたコツがあります。
それは、「AIに十分な情報を与えること」です。
たとえば、人に仕事を頼むとき、「これやっておいて」だけでは相手も困りますよね。
- 何のために?
- どんな形式で?
- どれくらいのレベル感で?
- 誰が見るもの?
こういった情報があれば、相手はより適切なアウトプットを出せます。AIも同じです。
本記事では、AIエージェントに質問する際に最低限押さえておくべき6つの要素をテンプレート形式でご紹介します。
このテンプレートを使うだけで、AIの回答精度が格段に向上し、時間の無駄も減らせます。
本記事の結論
chatGPTなどのAIエージェントを使用する際は、以下のテンプレートの内容を最低限記入し、AIに投げましょう!
テンプレートの使い方
- 6項目(役割・タスク・コンテキスト・期待する出力形式・制約・入力データ)を抜け漏れなく記入する。
- 目的と背景を一文で添えると、依頼の意図が伝わりやすくなります。
- 箇条書きで条件を整理し、すぐにコピペして使える形で準備してください。
コンテキストテンプレート
## 1. 役割 (Role)
あなたは[役割、専門性。例: シニアソフトウェアエンジニア、優秀なテクニカルライター、キャリアアドバイザー]です。
## 2. タスク (Task)
[実行してほしい具体的なタスク。例: 以下のコードをリファクタリングしてください、この記事のタイトル案を5つ作成してください、このエラーの解決策を教えてください]
## 3. コンテキスト (Context)
* **目的:** [このタスクを依頼する最終的な目的。例: 可読性を向上させるため、Zennで記事を公開するため、バグを修正するため]
* **背景:** [タスクの実行に必要な背景情報。例: 現在以下のコードでXの問題が発生しています。使用技術はGo 1.21とDockerです。]
* **対象者:** [(必要な場合)成果物の想定読者。例: プログラミング初学者、同僚の開発者]
## 4. 期待する出力形式 (Format)
[希望する出力の形式を指定。例: マークダウン、JSON、箇条書きのリスト、ステップバイステップの手順、表形式]
## 5. 制約・ルール (Constraints)
* [守ってほしい条件。例: 専門用語は避けてください、〇〇ライブラリは使用しないでください、日本語で回答してください]
* [(必要な場合)トーン&マナー。例: 専門的に、親しみやすく、簡潔に]
## 6. 入力データ (Input)
(ここにレビューしてほしいコード、エラーメッセージ、元になる文章などを貼り付けます)
AIを活用するときに、ぜひ書き添えてほしいこと
AIに相談するときは、ちょうど 地図を広げて道標を示す ように、少しだけ状況を教えてあげると、ぐっと答えの制度が高まります。
ここでは、最低限お伝えいただくと良いポイントをまとめました!
どれも難しいものではなく、ちょっとしたメモ書き程度で大丈夫です。
1. 役割(Role)
まずは「AIにどんな帽子をかぶってほしいか」を伝えましょう。
たとえば、「初心者向けに優しく教える講師」「JavaScriptに詳しいエンジニア」「トップセールスマン」など。
役割が決まると、AIの説明の角度がグッと整います。
具体例:
- ❌ 悪い例: 「この技術について教えて」
- ✅ 良い例: 「あなたは10年以上の経験を持つシニアバックエンドエンジニアです。Go言語の初学者に対して、この技術について教えて」
ポイント:
- 専門性のレベルを指定する(シニア、ジュニア、エキスパートなど)
- 立場を明確にする(エンジニア、講師、コンサルタントなど)
- 対象者との関係性を示す(初心者向け、同僚向け、経営層向けなど)
2. タスク(Task)
次に、「何をしてほしいのか」を具体的に伝えてください。
「コードの改善」「タイトル案を5つ作って」「文章の要約」など、一言でも構いません。
具体例:
- ❌ 悪い例: 「このコードを見て」
- ✅ 良い例: 「以下のコードをリファクタリングして、可読性を向上させてください。特に、関数の分割とネーミングに注力してください」
ポイント:
- 動詞を使って明確に指示する(「作成する」「修正する」「分析する」など)
- 定量的な要素を含める(「5つのアイデアを」「3つの観点から」など)
- 優先度や重点を示す(「特に〇〇に注目して」など)
- 一度に複数のタスクを頼まず、ひとつずつ明確にする
3. コンテキスト(Context)
AIにとっての 背景情報 です。ここがあるだけで、回答の質が一段アップします。
- 目的: なぜその作業をしたいのか
- 背景: 現在の状況や前提情報
- 読者: 必要な場合、成果物を読む人(例: 初学者向け、社内資料など)
具体例:
- ❌ 悪い例: 「エラーが出たから直して」
- ✅ 良い例:
**目的:** 本番環境での障害を修正するため **背景:** Docker環境でGo 1.21を使用しています。昨日のデプロイ後から、ユーザー認証APIでタイムアウトが頻発しています **対象者:** チームの他の開発者も理解できる形で
ポイント:
- 使用している技術スタック・バージョンを明記する
- 問題が発生している環境を伝える(開発環境、本番環境など)
- これまでに試したことがあれば記載する
- プロジェクトの制約や締め切りなども伝えると、より現実的な提案がもらえる
4. 期待する出力形式(Format)
「箇条書きがいい」「Markdownで」「表でまとめてほしい」など、ゴールの形を教えて下さい。
これは料理で言う 盛り付けの指定 のようなものです。
具体例:
- ❌ 悪い例: 「わかりやすく教えて」
- ✅ 良い例:
以下の形式で出力してください: 1. まず結論を一文で 2. 理由を箇条書きで3つ 3. 具体的なコード例をMarkdown形式で 4. 参考リンクがあれば箇条書きで
よく使われる形式例:
- Markdown形式: 見出し、箇条書き、コードブロックを使った構造化された文書
- 表形式: 比較や一覧を見やすく整理
- JSON/YAML: データ構造として出力してほしい場合
- ステップバイステップ: 手順を順番に説明
- コードのみ: 説明なしでコードだけ出力してほしい場合
ポイント:
- 出力の構造を具体的に指定する(見出しレベル、箇条書きの深さなど)
- 長さの目安を伝える(「200文字程度で」「5項目以内で」など)
- サンプルフォーマットを提示するとより確実
5. 制約・ルール(Constraints)
「専門用語は控えめに」「日本語で丁寧に」「〇〇ライブラリは使わない」などの条件です。
ちょっとした注意書きが、より理想に近い返答を引き寄せます。
具体例:
- ❌ 悪い例: 「良い感じに書いて」
- ✅ 良い例:
- プログラミング初学者でも理解できるよう、専門用語には必ず補足説明を入れてください - 外部ライブラリは使わず、標準ライブラリのみで実装してください - コードは全て日本語でコメントを付けてください - 全体で300行以内に収めてください
制約の種類例:
- 技術的制約: 使用可能/不可能な技術、バージョン、ライブラリ
- トーン&マナー: 丁寧/カジュアル、専門的/平易、簡潔/詳細
- 文量: 最大文字数、行数、項目数
- 言語: 日本語、英語、コードコメントの言語
- 対象者レベル: 初心者向け、エキスパート向け
- セキュリティ: 機密情報の扱い、ハードコードしてはいけない情報
ポイント:
- 「〜してはいけない」という禁止事項も明確に
- 優先順位がある場合は「まず〇〇を優先」と明記
- プロジェクト固有のルール(コーディング規約など)も伝える
6. 入力データ(Input)
最後に、AIが参考にする材料を貼り付けます。
コード、文章、エラーメッセージ、企画案など、 材料が多いほど料理がしやすくなる イメージです。
具体例:
- ❌ 悪い例: 「エラーが出ました」(エラーメッセージを貼らない)
- ✅ 良い例:
以下のコードでエラーが発生しています: [エラーメッセージの全文をコピペ] 該当のコード: [問題のあるコード全体] 関連する設定ファイル: [docker-compose.ymlやpackage.jsonなど]
ポイント:
- エラーメッセージは省略せず全文貼り付ける
- コードは関連する部分を含めて十分な範囲を提示する
- スタックトレースも重要な情報源
- 環境設定ファイルも一緒に提示すると原因特定が早い
- スクリーンショットより、テキストでコピペできる形が望ましい(AIが正確に読み取れるため)
実践例:Before → After
実際にテンプレートを使うと、どれほど回答の質が変わるのか、具体例で見てみましょう。
例1: コードレビューを依頼する場合
❌ Before(情報が不足している質問)
このコードをレビューしてください。
[コードを貼り付け]
✅ After(テンプレートを使った質問)
## 1. 役割 (Role)
あなたは5年以上のReact開発経験を持つシニアフロントエンドエンジニアです。
## 2. タスク (Task)
以下のReactコンポーネントをレビューし、改善点を指摘してください。
## 3. コンテキスト (Context)
* **目的:** プロダクション環境にデプロイする前にコード品質を向上させるため
* **背景:** Next.js 14とTypeScriptを使用したECサイトのカート機能です。現在パフォーマンスに問題があり、再レンダリングが多発しています
* **対象者:** チームの他の開発者も読めるレビューコメント
## 4. 期待する出力形式 (Format)
以下の形式で出力してください:
1. 良い点を2-3つ
2. 改善すべき点を優先度順に箇条書きで
3. 各改善点について、修正後のコード例を提示
## 5. 制約・ルール (Constraints)
- パフォーマンス最適化を最優先に
- React Hooksのベストプラクティスに従う
- TypeScriptの型安全性を保つ
- コメントは日本語で
## 6. 入力データ (Input)
[コードを貼り付け]
結果の違い:
- Beforeでは一般的なレビューコメントしか得られない
- Afterでは、パフォーマンス問題に特化した具体的な改善案と、プロジェクトの技術スタックに合わせた実装例が得られる
例2: 技術記事のタイトルを考えてもらう場合
❌ Before(情報が不足している質問)
Dockerの記事を書くので、タイトル案をください。
✅ After(テンプレートを使った質問)
## 1. 役割 (Role)
あなたは多くのバズ記事を書いてきた優秀なテクニカルライターです。
## 2. タスク (Task)
以下の記事内容に適したタイトル案を5つ提案してください。
## 3. コンテキスト (Context)
* **目的:** Zennで技術記事を公開し、初学者に役立つ情報を届けるため
* **背景:** Dockerを初めて使う人向けに、開発環境の構築手順をステップバイステップで解説する記事です
* **対象者:** Dockerを触ったことがないプログラミング初学者(学生や新卒エンジニア)
## 4. 期待する出力形式 (Format)
以下の形式で5つのタイトル案を提示:
- タイトル案
- そのタイトルの狙い(なぜ読者に刺さるか)を一行で
## 5. 制約・ルール (Constraints)
- 初学者でも理解できる平易な言葉を使用
- 専門用語を使う場合は補足を入れる
- 具体的な数字やステップ数を入れる(例: 「3ステップで」)
- 煽りすぎないこと
- 40文字以内
## 6. 入力データ (Input)
[記事の概要や目次を貼り付け]
結果の違い:
- Beforeでは汎用的なタイトル案のみ
- Afterでは、ターゲット読者に刺さる具体的で魅力的なタイトル案と、その理由まで得られる
このように、テンプレートを使うことでAIからより具体的で実用的な回答を引き出せます。
最初は面倒に感じるかもしれませんが、慣れてくると自然に書けるようになり、結果的に時間の節約につながります。
よくある失敗パターンとその対策
AIを活用する際、多くの人が陥りがちな失敗パターンと、その解決策をご紹介します。
失敗1: 質問が曖昧すぎる
問題例:
「このコードをきれいにして」
何が問題か:
「きれいにする」の基準が不明確。可読性なのか、パフォーマンスなのか、保守性なのか?
対策:
具体的な改善ポイントを明記する。
「関数を小さく分割して可読性を向上させてください」
「変数名をより説明的なものに変更してください」
失敗2: コンテキストを省略しすぎる
問題例:
「エラーが出ました。助けてください。」
何が問題か:
エラーメッセージ、環境情報、やりたかったことが不明。AIは推測するしかない。
対策:
- エラーメッセージの全文を貼る
- 使用している技術とバージョンを明記
- 何をしようとしていたのかを説明
- すでに試したことがあれば記載
失敗3: 一度に複数の質問を詰め込む
問題例:
「このコードをリファクタリングして、テストも書いて、ドキュメントも作って、デプロイ方法も教えて」
何が問題か:
タスクが多すぎて、どれも中途半端な回答になりがち。
対策:
一つずつ順番に質問する。最初はリファクタリング、完了したらテスト、次にドキュメント...というように段階的に進める。
失敗4: 出力形式を指定しない
問題例:
「この技術について説明して」
何が問題か:
説明のレベル感、詳しさ、形式がバラバラになる。
対策:
「初心者向けに、箇条書きで3つのポイントに絞って説明してください」のように、形式と量を明確に指定する。
失敗5: 役割設定を無視する
問題例:
役割を指定せずに専門的な質問をする。
何が問題か:
回答のレベル感や視点が定まらず、期待と異なる答えが返ってくる。
対策:
「あなたはセキュリティ専門家です」「あなたはReact初学者に教える講師です」など、適切な役割を設定する。
もっと効果的に使うためのTips
テンプレートをマスターしたら、さらに回答の質を高めるテクニックを試してみましょう。
Tip 1: 段階的に深掘りする
最初から完璧な質問を目指さなくてOK。まずは基本的な質問をして、その回答を見てから追加で質問することで、より深い理解が得られます。
例:
- 「Dockerとは何ですか?初心者向けに3行で」
- (回答を見て)「なるほど。では、仮想マシンとの違いは?」
- (回答を見て)「実際の開発ではどういう場面で使うと便利?」
Tip 2: フィードバックループを活用する
AIの回答に対して「もっと詳しく」「別の視点から」「具体例を追加して」などとフィードバックを返すことで、理想の回答に近づけます。
Tip 3: テンプレートを自分用にカスタマイズする
よく使うシーンに合わせて、テンプレートを自分なりにアレンジしましょう。
例: コードレビュー専用テンプレート
## コードレビュー依頼テンプレート
役割: シニア[言語名]エンジニア
タスク: レビュー + 改善案提示
コンテキスト: [プロジェクト名] / [使用技術]
出力形式: 良い点 + 改善点 + コード例
制約: [プロジェクトのコーディング規約]
Tip 4: AIの得意分野を理解する
AIは以下のようなタスクが特に得意です:
- コードの説明・リファクタリング
- アイデア出し・ブレインストーミング
- 文章の要約・校正
- データ形式の変換
- パターンの認識
逆に、以下は苦手です:
- リアルタイムの情報(最新のライブラリ情報など)
- 実行環境に依存する具体的なエラー原因の特定
- 創造的すぎるデザイン・アート
Tip 5: 複数回に分けて質問する
大きなタスクは小さく分解して、段階的に進めましょう。
悪い例:
「ECサイトを作るための設計からコーディング、デプロイまで全部教えて」
良い例:
- 「ECサイトに必要な基本機能を5つ挙げて」
- 「では、ユーザー認証機能の設計を考えましょう」
- 「この設計をもとに、Goでユーザー登録APIを実装してください」
まとめ:今日から始めるAI活用
本記事では、AIエージェントを効果的に活用するための6項目テンプレートをご紹介しました。
おさらい:6つの必須項目
- 役割(Role): AIに期待する専門性や立場
- タスク(Task): 具体的にやってほしいこと
- コンテキスト(Context): 目的、背景、対象者
- 期待する出力形式(Format): 欲しい形式や構造
- 制約・ルール(Constraints): 守ってほしい条件
- 入力データ(Input): 判断材料となる具体的な情報
すぐに実践できるアクション
- この記事のテンプレートをコピーして、自分のメモアプリやNotionに保存する
- 次にAIに質問するとき、まず「役割」と「タスク」だけでも明記してみる
- 1週間使ってみて、Before/Afterで回答の質がどう変わったか記録する
次のステップ
慣れてきたら、以下のような応用にも挑戦してみてください:
- 自分の業務に特化したテンプレートを作成する
- chatGPTの場合、
My GPTで作成できます! geminiの場合は、Gemで作成できます!
- chatGPTの場合、
- チーム内でテンプレートを共有し、AI活用のベストプラクティスを蓄積する
- chatGPTの場合、 グループチャット、自分で作った
My GPTの共有を試してみてください!
- chatGPTの場合、 グループチャット、自分で作った
- より高度なプロンプトエンジニアリングの技術を学ぶ
- 慣れてくれば、生成AIでプロンプトエンジニアリングを学ぶテキストを作成してみてください!
- 自分のプロンプトを生成AIにレビューさせるのもいいですね!
AIはとても頼もしい相棒ですが、ほんの少しの情報を添えてあげるだけで、まるで霧が晴れるように精度が高まり、あなたの思考や作業をしっかりサポートしてくれます。
「そんなに難しいことは書けない…」という方でも、まずは一つだけでも構いません。
ぜひ気軽に試してみてくださいね。
Discussion