📱

AI駆動型要件管理サンプルアプリ

2024/08/18に公開

AI駆動型要件管理アプリの使い方ガイド

AI駆動開発を実践していく上で各プロセスを統合的にデザインしていくことが必須になります。
インターフェースとしてのAI エージェントのコンセプトの理解の促進のために、本記事を記載します。

2

3

1. はじめに

このツールは、Streamlitを使用したWebアプリケーションで、Gemini APIとGitHub統合を活用しています。主な機能は以下の通りです:

  • 新規プロジェクトの要件定義書生成
  • 既存の要件定義書の変更管理
  • GitHubとの連携による版管理

1(https://ai-2024-08-ai-driven-v0-001.hf.space/)

アプリケーションのURL
https://ai-2024-08-ai-driven-v0-001.hf.space/

ソースコード
https://huggingface.co/spaces/AI-2024-08/ai-driven-v0.001/tree/main

ドキュメントができるリポジトリ
https://github.com/ai-driven-2024/ai-driven

2. 新規プロジェクト作成

手順:

  1. アプリケーションを起動し、サイドバーから「新規プロジェクト作成」を選択します。
  2. 以下の情報を入力します:
    • プロジェクト概要
    • 目的と背景
    • スコープ
    • ステークホルダー
  3. 「要件定義書を生成」ボタンをクリックします。
  4. AIが要件定義書を生成し、画面に表示します。
  5. 生成された要件定義書は自動的にGitHubにプッシュされます。

ポイント:

  • 入力情報は具体的かつ簡潔に記述しましょう。
  • AIが生成した要件定義書は、必ず内容を確認し、必要に応じて後で修正してください。

3. プロジェクト変更管理

手順:

  1. サイドバーから「プロジェクト変更管理」を選択します。
  2. 現在の要件定義書が表示されます。
  3. 「変更要求フォーム」に変更内容を入力します。
  4. 「変更を適用」ボタンをクリックします。
  5. AIが変更を適用し、以下が表示されます:
    • 変更差分
    • 更新後の要件定義書
    • 生成されたコミットメッセージ
  6. 内容を確認後、「GitHubに変更をプッシュ」ボタンをクリックします。

4. GitHubとの連携

  • 全ての変更はGitHubリポジトリで管理されます。
  • 各操作(新規作成、変更)ごとに自動的にコミットが作成されます。
  • コミットメッセージはAIが自動生成しますが、必要に応じて手動で修正することもできます。
  • 修正されたことをトリガーに必要な業務プロセスを動かします(開発者への通知など)

5. プロンプト

ステークホルダー= "PM,花子,SE,山田"
機能一覧の作成プロンプト=
このシステムの主要な機能を列挙してください。各機能について、以下の情報を含めてください:
1. 機能名
2. 機能の概要説明
3. 主な利用者
4. 入力情報
5. 出力情報
6. 処理の流れ(簡潔に)

画面一覧の作成プロンプト:
このシステムに必要な画面を列挙してください。各画面について、以下の情報を含めてください:
1. 画面名
2. 画面の目的
3. 主な利用者
4. 表示する主な情報
5. 主な操作項目
6. 遷移先の画面

可能な限り具体的に記述し、システムの全体像が把握できるようにしてください。
要件定義生成プロンプト=f
  要件定義書を作成してください。フォーマットは.md形式で作成すること。
  章立ては1.プロジェクト概要2.目的と背景3.スコープ4-1機能一覧4-2画面一覧とします。
  プロジェクトの概要は下記を参照してください{プロジェクト概要}
  目的と背景はか下記を参照してください{目的と背景}
  スコープは下記を参照してください{スコープ}
  機能一覧の作成プロンプトは下記を参照してください{機能一覧の作成プロンプト}

変更管理について
下記のみであるが、更新の際にプログラムレベルで必要なこととエージェントが判断することを織り込むことができる

response = chat_session.send_message(f"{要件定義書}を確認し下記のとおり修正をしてください{変更指示}")

通知の表題やメッセージなど人によって品質がばらけそうなところもAIのフィルタを通すことで均一化が図れる

gen_commit_message_response = chat_session.send_message(f"{変更指示}をコミットメッセージ用に短くシンプルにまとめてください")

5. まとめ

下記を目的としたコアコンセプトを体感するためのサンプルアプリでした。

  • 立ち上がりの加速
  • 変更を管理する
  • 細かいルールをAIに任せる

AI駆動開発はできることが加速度的に広がります。 一人一人の取り組みが散らからずに積み重なっていく感じです。

GitHubで編集を提案

Discussion