GitHub CLIとLLMを使用したIssueの要件要約機能の実装
Closed this issue · 0 comments
Sunwood-ai-labs commented
要件定義書: GitHub CLI & LLMを用いたIssue詳細化機能
1. 概要
本要件定義書は、GitHub CLIと大規模言語モデル(LLM)を用いて、Issueの概要から詳細な要件を自動生成する機能の定義を記述します。この機能により、開発チームはIssueの詳細なレビュー、計画、管理を効率化することが可能となります。
2. スコープ
本機能は、以下の処理を行います。
- Issue取得: GitHub CLIを用いて、指定されたリポジトリのオープンIssueを取得します。
- 要件生成: LLMにIssueの概要テキストを入力し、詳細な要件を自然言語で生成します。
- 要件投稿: 生成された要件をマークダウン形式でIssueに投稿します。
3. 要件
3.1 機能的要件
FR-1: Issueからの要件生成
- FR-1.1: Issueの概要テキストから、機能要件、非機能要件、ユースケース、制約などの詳細な要件を生成する。
- FR-1.2: 要件を、人間が理解しやすい自然言語で表現する。
- FR-1.3: 生成された要件を、構造化されたマークダウン形式で出力する。
FR-2: 要件のIssueへの投稿
- FR-2.1: 生成された要件を、元のIssueにコメントとして投稿する。
- FR-2.2: 投稿するコメントに、要件生成に使用したLLMの名前とバージョンを明記する。
3.2 非機能的要件
NFR-1: 処理速度
- NFR-1.1: 200文字のIssue概要テキストに対して、要件生成と投稿を1秒以内で完了する。
NFR-2: 正確率
- NFR-2.2: 生成された要件の正しさを、人間によるレビューで検証する。
- NFR-2.3: 人間によるレビューとの比較で、80%以上の正答率を達成する。
NFR-3: セキュリティ
- NFR-3.1: Issueから取得した情報は、適切なセキュリティ対策のもとで管理する。
- NFR-3.2: LLMとの通信は、安全なプロトコルを用いる。
NFR-4: 可用性
- NFR-4.1: 本機能は、GitHub CLIが動作する環境であれば、いつでも利用可能とする。
4. ペルソナ
本機能を利用する主なペルソナは以下の通りです。
4.1 製品マネージャー:
- 目標: Issueの詳細な要件を明確化し、開発チームとのコミュニケーションを円滑化すること。
- ニーズ: Issueの概要から、機能要件、非機能要件、ユースケース、制約などの詳細な要件を自動生成することで、開発チームとの意思疎通を効率化したい。
- 利点: より明確な要件定義により、開発チームとの誤解を防ぎ、開発期間の短縮、開発品質の向上に貢献する。
4.2 ソフトウェア開発者:
- 目標: Issueから必要な情報を正確に理解し、効率的に開発を進めること。
- ニーズ: Issueの概要から詳細な要件を自動生成することで、開発タスクの理解を深め、実装の効率化を図りたい。
- 利点: 詳細な要件の理解により、開発の誤りを減らし、開発期間の短縮、開発品質の向上に貢献する。
4.3 テスト担当者:
- 目標: Issueに基づいて、適切なテスト計画を作成し、品質の高いソフトウェアをリリースすること。
- ニーズ: Issueの概要から詳細な要件を自動生成することで、テストケースの設計を効率化し、テスト漏れを防ぎたい。
- 利点: 詳細な要件に基づいたテストにより、ソフトウェアの品質向上、バグ発生率の低減に貢献する。
5. 開発計画
- フェーズ1: 要件定義、設計
- フェーズ2: 開発、テスト
- フェーズ3: リリース、運用
6. 参考文献
7. 付録
- 技術仕様書
- テスト計画書
- ユーザーマニュアル
本要件定義書は、あくまでも概要を記述したものであり、詳細な仕様は今後の開発段階で決定されます。