Hexabase App Modeler-汎用型プロンプトの要件定義性能


こんにちは。

現在、Hexabaseでは、＜会議をするだけで、開発ドキュメントができる＞
「Hexabase AI App Modeler」ベータ版　の開発を進めています。

会議の録画‧録音を、AIが自動でコンテキスト化。
そのコンテキストと対話しながら、成果物を作成できる、というものです。

汎用型プロンプトを利用した「Hexabase AI App Modeler」は、

- 長文読解
- 文脈理解
- 行間推論

に長けており、AIが本質的に苦手とする **「ハイコンテキストなオープンクエスチョン」** に対応することが出来ます。
私たちは、App Modelerのユースケースとして、システム開発の要件定義を第一に想定しています。

## わずかな「ことば」から、要件定義

App Modelerは、「足りない部分を推論する」ことができるため、たった一行の入力からでも、システム開発の要件定義を行うことが出来ます。

例えば

    勤怠管理アプリを作りたい

この一言から、一連の要件定義書類を書きおこします。

- システム企画書
- MVP企画書
- アクションフロー
- ユースケース一覧
- 画面一覧
- 機能一覧
- データベースドラフト
- テストケース一覧
- ワイヤーフレーム

ここではその一部として、MVP企画書を紹介します。

    # 勤怠管理システム MVP 企画書
    
    ## システム名
    勤怠管理システム
    
    ## MVPの目的
    - 最小限の機能で勤怠管理を自動化し、業務効率の向上とミスの削減を実現する。
    - 従業員が自分の勤怠情報を確認できる基本的なダッシュボードを提供する。
    
    ## MVPの範囲
    ### 必須機能
    1. 出勤・退勤の自動記録
       - 従業員の出勤・退勤時間を自動で記録する機能。
    2. 月次勤怠レポートの生成
       - 月次の勤怠データを集計し、レポートを生成する機能。
    3. データのエクスポート機能
       - 勤怠データをCSV形式でエクスポートする機能。
    
    ### 重要機能
    1. 従業員用ダッシュボード
       - 従業員が自分の勤怠情報を確認できるインターフェース。
    2. 休暇申請・承認機能
       - 従業員が休暇を申請し、管理者が承認できる機能。
    3. アラート機能
       - 遅刻や早退の通知を行う機能。
    
    ## MVPの目標
    - 業務効率の向上とミスの削減。
    - 正確な勤怠データの取得とレポート生成。
    - 従業員の満足度向上と透明性の確保。
    
    ## 動機
    現行の手動管理ではミスが多く、効率が悪いため、勤怠管理を自動化することで業務効率を向上させたい。また、従業員が自分の勤怠情報を簡単に確認できるようにすることで、透明性を高めたい。
    
    ## 制約
    - 予算の制約
    - システム導入に伴う一時的な業務の混乱
    - 従業員のITリテラシーのばらつき
    
    ## 期待される効果
    - 業務効率の向上
    - ミスの削減
    - データの正確性向上
    - 従業員の満足度向上

ユーザーが入力したのは「勤怠管理アプリを作りたい」という一言ですが、App Modelerの汎用型プロンプトが裏で力仕事をしています。
具体的には、
    - 発散
    - 収束
    - 補完
を自律的に行い、要件定義の方向性を示すことで、わずかなことばから、一連の要件定義ドキュメントを作成しています。

システム企画者の「ふわっとした要求」から、仮要件をひねり出すような作業ですね。

## 会議の書きおこし（TRANSCRIPT）から要件定義

わずかな「ことば」からの推論に強いApp Modelerですが、長文読解と文脈理解にも優れています。
例えば、「会議」は、主催者のファシリテーションの下で、参加者が必要な事項を網羅的かつ連続的に会話する場であるため、本質的に、要件定義のインプットとして適した情報を豊富に含んでいます。ただし、平均して1時間程度と情報量が多く、口頭のため一部のトピックに関しては説明不足もあるものです。
App Modelerは、そういった会議の書きおこし（TRANSCRIPT）から、要件定義に利用可能なまとめ（INSIGHT）を作成します。
以下は、「勤怠管理アプリ」について実際に1時間ほど会話した会議の書きおこしから、App Modelerで作成したまとめです。

    勤怠管理アプリを作りたいと考えており、その要件について説明いたします。我々はエンジニアをシステム開発プロジェクトにアサインし、プロジェクトの現価管理やサラリー管理を行います。エンジニアがどのプロジェクトにアサインされ、どのくらい工数を使っているかを管理するものを作成したいです。
    
    最初は複雑な機能は必要なく、プロジェクトを登録でき、エンジニアを登録してプロジェクトごとにアサインできる管理機能を考えています。いくつかのフェーズに分け、最初は少ない機能から始め、いずれは勤怠管理も行いたいですが、まずは工数管理です。
    
    リモートワークが多いため、リアルタイムで何をしているか見えづらいですが、誰がどのプロジェクトの作業をしているかを見えるようにし、全員がどこにアサインされているか確認できるようにします。
    
    例えば、エンジニアがタイムカード的に押すと、今何をしているかが共有でき、全員が今どんな作業をしているかが見えるページがあると良いと考えています。将来的にはそういった機能も考えています。
    
    画面共有で説明しますが、基本的には13画面ぐらいを想定しており、まずログイン画面、ダッシュボード、勤怠ルール設定、プロジェクトの管理画面を考えています。
    
    工数レポートについてですが、各プロジェクトごとに誰がどれだけの工数を使っているかを確認したいと考えています。出勤と退勤を記録する画面、プロジェクトの作業開始を打刻するための画面があります。例えば、プロジェクトAの作業を開始する際にタイムスタンプを打刻することを想定しています。
    
    勤怠情報の確認画面では、管理者や本人がどのくらい働いたかを確認できます。また、勤怠情報の修正機能も設ける予定です。同僚のステータス管理画面や、必要に応じてシステムメンテナンス画面やユーザーサポート画面も考慮に入れています。
    
    何か質問がありますか？管理者権限の設定についてですが、プロジェクト責任者のような役割を持つ権限者がいます。プロジェクトマネージャー（PM）は、プロジェクトの全体の工数を管理し、プロジェクトのプロフィールを登録する役割を担います。
    
    エンジニア（作業者）も権限が必要です。PMの権限が作業者の権限を内包する形になるかもしれません。さらに、システムの管理者（アドミン）や経理関連の権限者も必要です。アクターとしては、プロジェクトマネージャー、作業者、システム管理者、経理担当者がいます。
    
    画面項目一覧については、関連データカラムが整理されていて分かりやすくて良いと思います。プロジェクトの管理画面では、プロジェクトを登録し、詳細情報や総工数を記載し、担当者をアサインできるようになっています。出勤と退勤はダッシュボードから操作できるようにする方が便利でしょう。
    
    工数レポートについてですが、社内の原価管理の一環として使用するほか、必要に応じて顧客への提示資料としても使える機能を考えています。工数レポートからレポートをダウンロードできる機能を設け、PDFやCSVでエクスポートできるようにします。
    
    スプレッドシートを使用することもありますが、データベース形式で管理するほうが管理精度が高いです。しかし、可視性の問題がありますので、データの管理のしやすさと見やすさを両立する簡単なシステムが有用です。
    
    職場内での透明性を高め、チームワークの向上にも寄与するような機能として、リモートワーク環境での社員間の連携を強化することを検討しています。出勤時には全員が何をしているかを確認できる画面を用意し、コミュニケーションを容易にすることを提案します。
    
    また、打刻時間の修正機能も考慮しています。打刻忘れが発生する可能性を考慮し、修正が可能で、最終的には管理者の承認が必要な仕組みを検討します。現時点では自己権限で修正を完了する形で問題ないとしていますが、将来的に承認機能の導入も考慮します。
    
    このシステムは、最終的に経理部門との連携を可能にすることも視野に入れています。
    
    現状ではスプレッドシートで計画を共有しているだけで、実際の労働時間の管理ができていない状況です。そのため、必ずしも経理にきっちりと結びつける必要はなく、概算の工数がわかれば十分だと考えています。そのため、修正や申請、承認の優先度は一旦低く設定しておく方針です。
    
    この内容で、どのような提案ができるかを求められていますね。具体的には画面遷移図やワイヤーフレームを提供できればと考えています。我々としても、このシステムの目的やスコープを整備する予定です。
    
    まずは、PoC（概念実証）やMVP（実現可能な最小限の製品）として運用を試してみたいと考えています。デザインにこだわるよりは、ミニマムな機能で試してみる考えです。今後、要件定義を深め、およそ1ヶ月以内に提案いただき、3ヶ月間の開発期間でテストを含めた範囲を実装する予定です。最初のスプリントとして、スコープの提案を求めています。これに基づいて、開発を進めることが可能です。
    
    他の参加者からの質問は特になさそうなので、ミーティングを終了いたします。録画を止めてください。

以上の会議のまとめ（INSIGHT）を入力として、試しに、先ほど使ったApp Modeler α版で要件定義してみましょう。

こちらも仮要件ではありますが、入力の材料が多い分、より企画者の意図の近づけた具体的な要件定義が出来ます。

## 総論

Hexabase AI App Modelerの汎用型プロンプトは、 **わずかなことば**や **会議の書きおこし**のような、**従来のAIではインプットとして処理が難しい情報**から、 **要件定義**のような複雑かつ構造化されたドキュメントを生成することが出来ます。

実際に試してみたい人は、<a href="https://app-modeler.hexabase.com/">App Modeler α版</a>からお試しください（無料）
※現在α版でお試しいただけるのは、要件定義部分の生成のみです。
INSIGHT作成は、Preβ版からお試しいただける予定ですので、ご興味をお持ちいただけた方はお問い合わせください！

次回は、App Modeler β版で実装している **UMLを取り入れた要件定義ドキュメントの効果** についてご紹介します。