生成AIに「要件定義プロンプト」を作らせてみたら、未来が見えた話

# 生成AIに「要件定義プロンプト」を作らせてみたら、未来が見えた話

> 要件定義って何から書けばいいの？ 😕
> いつも同じような項目で悩んで時間がかかる… ⏳
> もっと効率よく、質の高い要件定義書を作りたい！ 😫

そんな悩みは **生成AIに「要件定義プロンプト」を作ってもらう** で解決できるかもしれません。

***

## 1️⃣ なぜ生成AIにプロンプトを作らせようと思ったか？

「要件定義」はプロジェクトの成功を左右する重要な工程ですが、品質が担当者によってバラついたり、何を書くべきか迷うことも多いですよね。

そこで、「**デキる人が書いた質の高い要件定義書**」を学習データとしてAIに渡せば、汎用的な「要件定義書作成のためのプロンプトの雛形」をAI自身が作れるのでは？と考えました。

これにより、要件定義の質を標準化し、効率化できると期待したわけです。✨

---

## 2️⃣ 試したことの概要

今回の実験のポイントはこちらです👇

- 使用AI: Gemini 2.5 Pro
- 学習データ: ネットで見つけた、優れたエンジニアが作成したと思われる要件定義書
- ゴール:
    - 汎用的な「要件定義書作成用プロンプト」をGeminiに生成させる。
    - 生成されたプロンプトをGeminiのGem（カスタム指示）に「要件定義者」として登録し、再利用性を高める。

---

## 3️⃣ 具体的なステップ

### 3-1 📚 学習データの準備 (参考要件定義書)

まず、Geminiに学習させる「お手本」となる要件定義書を準備しました。構成はこんな感じです。

**要件定義書 (社内FAQチャットボット開発)**

**1. 背景**

現在、社員からの人事・総務関連の問い合わせが増加しており、担当部門の対応負荷が高まっている。また、社員が必要な情報を得るまでに時間がかかるケースも見られる。

**2. 課題**

問い合わせ対応の効率化と、社員が迅速かつ自己解決できる情報提供手段の確立が急務である。特に、繰り返し発生する定型的な質問への対応工数を削減したい。

**3. 解決のための方策**

社内のイントラネット上で利用可能なFAQチャットボットを開発する。このチャットボットは、事前に登録されたFAQに基づいて、社員からの質問に24時間自動で応答する。

**4. 必要な機能**

- **質問応答機能**:
    - 利用者が入力した自然言語の質問に対して、関連性の高いFAQを提示する。
    - 一問一答形式での応答。
    - 該当する回答が見つからない場合、その旨を伝え、有人対応窓口へ誘導する。
- **FAQ管理機能 (管理者向け)**:
    - 新規FAQの登録、既存FAQの編集・削除ができる。
    - カテゴリ別管理、キーワード設定が可能。
- **利用状況分析機能 (管理者向け)**:
    - よくある質問のランキング表示。
    - 未解決だった質問のログ確認。
    - チャットボットの利用頻度や解決率の統計表示。
- **多言語対応機能 (将来的な拡張性)**:
    - 初期リリースは日本語のみとし、将来的に英語対応も可能な設計とする。

### 3-2 🤖 Geminiへの指示 (プロンプトエンジニアリング)

次に、準備した参考要件定義書を元に、Geminiに「要件定義書作成用のカスタム指示」を考えてもらうためのプロンプトとして、以下のように入力しました。

> あなたは一流のシステムエンジニアです。
> 以下要件定義のようなアウトプットが今後も可能になるように
> geminiのGemのカスタム指示を考えてください。
>
> ###参考要件定義書
> (ここにステップ3-1で準備した参考要件定義書の内容を貼り付け)

**ポイントは以下の2点です。**

- **役割設定**: 「あなたは一流のシステムエンジニアです。」と役割を与えることで、専門的で質の高いアウトプットを期待。

- **具体的な指示**: 「geminiのGemのカスタム指示を考えてください。」と明確に依頼。

### 3-3 ✨ 生成された「要件定義書作成用プロンプト」

上記のプロンプトに対し、Geminiが提案してくれたカスタム指示の雛形がこちらです。

---
**特定フォーマット要件定義支援**

**1. あなたの役割**

キーワードから、指定された4項目（背景、課題、解決のための方策、必要な機能）で構成される要件定義書の草案を作成する専門家です。

**2. あなたへの入力**

新しいシステムや機能に関する「キーワード、短いフレーズ、またはアイデアの断片」。

**3. あなたに期待する主要な出力（要件定義書フォーマット）**

以下の4項目で、構造化された要件定義ドキュメントの草案を作成してください。

- **背景**: （例：大量の実験データが存在し、特定条件下で関連性の高いデータを効率的に検索する必要がある。）
- **課題**: （例：膨大なデータの中から、ターゲットに対して相関が高いデータを効率的に見つける。その際、必要な情報を抽出する。）
- **解決のための方策**: （例：ベクトルデータベースを構築し、cos類似度で関連データを効率的に取得する。）
- **必要な機能**: （例：データベース構築機能、類似度検索機能、検索結果からのデータ抽出機能。）（詳細例：実験ケース名、実験値の抽出。）

**4. 対話の進め方**

- 入力情報が不足している場合、上記項目を具体化するために必要な点を質問してください。
- 質問者に対し質問を投げかける際に、質問が多岐にわたる場合は一問一答形式でステップ・バイ・ステップで進めてください。
- 提示された情報を元に、上記の4項目に沿って要件定義書を作成してください。
---
このカスタム指示では、ユーザーが提供すべき情報と、Geminiのアウトプットが明確に定義されています。

### 3-4 💎 Gemへの登録

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904450/8c23fd5e-4533-425a-8ec5-7f3cadc3f46e.png)


Geminiが生成したカスタム指示案を、Geminiの「Gem」機能に登録しました。

1.  GeminiのインターフェースからGem（カスタム指示）の設定画面を開きます。
2.  新しいGemを作成し、名前を「要件定義者」としました。
3.  「カスタム指示」の欄に、ステップ3-3でGeminiが生成したカスタム指示の内容を貼り付けます。
4.  保存して完了です。

---

## 4️⃣ 考察・わかったこと

今回の試みを通じて、以下の点がわかりました。

- **生成AIにプロンプトを作らせるアプローチの有効性**:
    質の高いお手本を与えることで、生成AIはタスクの意図を理解し、汎用的な指示（プロンプト）を生成する能力がある。
- **役割設定の重要性**:
    「一流のシステムエンジニア」といった役割を与えることで、アウトプットの質をある程度コントロールできる可能性がある。
- **Gem機能の利便性**:
    作成したプロンプトをGemとして保存することで、繰り返し同じ指示を入力する手間が省け、作業効率が大幅に向上する。

---

## 📝 まとめ

- 生成AIに質の高いお手本を学習させると、汎用的な「指示テンプレート」を作らせることができる。
- GeminiのGem機能と組み合わせることで、特定のタスクに特化したAIアシスタントを簡単に作成可能。
- このアプローチは、要件定義だけでなく、様々なドキュメント作成やタスク実行の効率化に応用できる。

皆さんも、生成AIに「プロンプトを作らせる」試み、いかがでしょうか？ 🚀