生成AI業務活用講座#3 システム開発は人からAIへ〜Microsoft CopilotでPower Apps のドキュメントを作成〜

生成AI業務活用講座#3 システム開発は人からAIへ〜Microsoft CopilotでPower Apps のドキュメントを作成〜

生成AI業務活用講座#3 システム開発は人からAIへ〜Microsoft CopilotでPower Apps のドキュメントを作成〜


世の中「内製化」の流れですが、ドキュメントを作成してますか?
担当者が居なくなったら何がどうなっているか???では本末転倒です。

運送業や飲食業だけでなく、システム開発の現場でも人手不足が顕著になってきました。内製化を進める会社が増えていることもあり、「採用したいのだけど、そもそも応募してくださる人材が居ない状況だ」という声はよく聞きます。業務自動化でスリム化を図るとともに、AIを活用して人口減少時代に対応できないかという声が急速に広がっています。



本記事は、システム開発をAIでできないか?という課題に、弊社の技術者が調査した簡易レポートです。
言い過ぎかもしれませんが、システム開発の在り方、ひいては日本の労働生産性を飛躍的に変えうる力も秘めていると思います。


システム開発は人からAIへー

本記事は、ローコードツールのPower Platform のドキュメントをCopilotで作成できるかを実際にサンプルで試している様子をご紹介しています。

第1章 ソースコードの取得

アプリは社内で利用している座席予約アプリにします。Power Apps のアプリ一覧でアプリ一覧を選択し「エクスポートパッケージ」を選択します。名前は適当に設定します。(Dataverse for Teamsの場合ソリューションでエクスポートする必要あり)

ZIPファイルがダウンロードされます。Microsoft.PowerAppsフォルダ最下層に拡張子が「.msapp」というファイルがあります。これがPower Apps のアプリをパッケージ化したものになります。

「.msapp」ファイルのままではCopilotで読み取ることはできないので展開(アンパッケージ)する必要があります。VSCodeのPower Platform VSCode Extensionをインストール後ターミナルで以下のコマンドを実行します。https://learn.microsoft.com/ja-jp/power-platform/d...

ーーー
pac canvas unpack --msapp "Ne92b4618-e(省略)ocument.msapp" --sources "./MyAppUnpacked"
--msapp:対象となる.msappファイル
--sources:展開先ディレクトリ
ーーー

するとそれっぽい構成のファイルが展開されます。Srcフォルダの中にアプリの画面毎に.yamlファイルがあります。このファイルが画面毎のソースファイルになります。




第2章 Copilotでドキュメント化

このアプリは画面が多いのでPC表示用の座席表(Main_PC.fx.yaml)とユーザーのスケジュール表示(Schedule.fx.yaml)の2画面をCopilotに読み込ませドキュメント化してみます。


すると以下の回答がありました。
ーーー

PowerAppsアプリ「座席予約」の座席予約画面・スケジュール画面の設計ドキュメントを作成します。
(内容はMain_PC.fx.yamlとSchedule.fx.yamlの実装内容に基づいています)

座席予約アプリ設計ドキュメント

1. 概要

本アプリは、社内座席の予約・会議室予約・出社予定管理をPowerAppsで実現するものです。
主な画面は「座席予約画面(Main_PC)」と「スケジュール画面(Schedule)」です。

2. 画面構成

2.1 座席予約画面(Main_PC)

機能概要

  • 座席の予約・解除
  • 会議室の予約状況表示
  • 日付選択による座席・会議室の状況切替
  • 出社予定の登録・表示
  • 部署ごとの座席表示


主なロジック

  • 座席予約:空席の場合は「出社:座席番号」でOutlookカレンダーに予定登録。既予約の場合は解除(自分の場合のみ)。
  • 会議室予約状況:会議室ごとに予約状況を色で表示(赤:予約あり、白:空き)。
  • 部署表示:座席ごとに部署名を表示。部署パターンに応じて表示内容を切替。
  • 日付切替:DatePickerや前日・翌日ボタンで表示日付を変更し、座席・会議室状況を再取得。

2.2 スケジュール画面(Schedule)

機能概要

  • 出社予定・会議・Web会議・外出・休みなどの予定表示
  • カレンダー形式で月・日ごとの予定表示
  • 予定の削除・コピー
  • 休み申請(全休・午前半休・午後半休)


主なロジック

  • カレンダー表示:月・日ごとに予定をギャラリーで表示。出社・会議・Web会議・外出・休みなどを色やアイコンで区別。
  • 予定取得:Outlookカレンダーから予定を取得し、種類ごとにフィルタリングして表示。
  • 予定削除:予定一覧から削除アイコンでOutlook予定を削除。
  • 予定コピー:予定の内容を他の日付へコピー可能。
  • 休み申請:全休・午前半休・午後半休を選択し、Outlookカレンダーに登録。

3. データ構造・連携

  • OutlookカレンダーAPIを利用し、予定・座席予約・会議室予約情報を取得・登録・削除。
  • 部署情報・座席情報は社内データテーブルと連携。
  • 画面間の遷移は「Navigate」関数で制御。

4. 色・デザイン

  • 予約済み座席・会議室:水色・赤色などで強調
  • 空席・空き会議室:白色
  • 予定種別ごとに色分け(出社:緑、会議:青、Web会議:紫、外出:黄、休み:赤)

5. 主な関数・API

  • GetSeatReservation:座席予約状況取得
  • GetConferenceRoomReservation:会議室予約状況取得
  • GetOutlookSchedule:Outlook予定取得
  • V4CalendarPostItem:Outlook予定登録
  • CalendarDeleteItemV2:Outlook予定削除

6. 操作フロー例

  • 日付を選択(DatePicker_PC)
  • 座席・会議室の状況が自動更新
  • 空席を選択し予約(または自分の予約を解除)
  • スケジュール画面で出社予定や休み申請
  • 必要に応じて予定の削除・コピー

7. 備考

  • 画面・部品名は実装ファイルに準拠
  • 予定・座席・会議室情報はリアルタイムでOutlookと同期
  • 休み申請はカレンダー登録で一元管理

ご要望に応じて、画面イメージや詳細な部品一覧、操作手順書も作成可能です。追加で必要な内容があればご指示ください。

ーーー

画面毎のファイルでコンポーネント、接続情報などは含まれていないのでどうなるかと思いましたが、想定以上に正確に解読され説明してくれています。ただコードを説明するのではなく、論理的にそれぞれの機能を説明しています。次に「操作手順書を詳しく教えて」と依頼してみます。

ーーー

座席予約アプリ 操作手順書

1. 座席予約画面(Main_PC)

1-1. 日付を選択する

  • 画面上部の「日付選択(DatePicker_PC)」で予約・表示したい日付を選択します。
  • 「前日」「翌日」「今日」ボタンでも日付を切り替え可能です。
  • 日付を変更すると、座席・会議室の予約状況が自動で更新されます。

1-2. 座席の予約・解除

  • 部署ごとに座席一覧が表示されます。
  • 空席(白色)の座席ボタンをクリックすると、予約者名が自分の名前に変わり、水色に変化します。Outlookカレンダーに「出社:座席番号」として予定が登録されます。
  • 既に自分が予約している座席(自分の名前が表示されている)をクリックすると、予約が解除されます。Outlookカレンダーの該当予定が削除されます。
  • 他人が予約している座席は予約・解除できません。

1-3. 会議室・Webブースの予約状況確認

  • 会議室・Webブースごとにボタンが配置されています。
  • 予約済みの場合は赤色、空きの場合は白色で表示されます。
  • ボタンをクリックすると、該当会議室のスケジュール画面に遷移し、詳細な予約状況を確認できます。

1-4. 部署表示

  • 各座席の下に部署名が表示されます。
  • 部署パターンに応じて表示内容が切り替わります。

1-5. キャッシュ更新

  • 「キャッシュ更新」ボタンを押すと、座席予約情報が最新状態に更新されます。
  • ローディングスピナーが表示され、更新完了後に自動で消えます。

1-6. スケジュール画面への遷移

「出社予定」ボタンを押すと、スケジュール画面に遷移します。

2. スケジュール画面(Schedule)

2-1. 月カレンダーで予定を確認

  • 画面上部に選択中の月が表示されます。
  • 「前月」「翌月」ボタンで月を切り替え可能です。
  • カレンダー上の日付ごとに、出社・会議・Web会議・外出・休みなどの予定が色やアイコンで表示されます。

2-2. 日付ごとの予定一覧表示

  • カレンダーの日付をクリックすると、その日の予定一覧が下部に表示されます。
  • 予定には「出社」「会議」「Web会議」「外出」「休み」などの種別が表示されます。

2-3. 予定の削除

  • 予定一覧の右端に「ゴミ箱」アイコンがあります。
  • 削除したい予定のゴミ箱アイコンをクリックすると、Outlookカレンダーから該当予定が削除されます。

2-4. 予定のコピー

  • 予定一覧の「コピー」アイコンをクリックすると、予定内容を他の日付にコピーできます。
  • コピー先の日付を選択し、登録します。

2-5. 休み申請

  • カレンダーの日付を選択し、「休み」アイコンをクリックします。
  • ポップアップが表示され、「全休」「午前半休」「午後半休」から選択します。
  • 「申請」ボタンを押すと、Outlookカレンダーに休み予定が登録されます。

2-6. 座席予約画面への遷移

「座席予約」ボタンを押すと、座席予約画面に戻ります。

3. 注意事項

  • 予約・解除・申請はOutlookカレンダーと連携しているため、即時反映されます。
  • 他人の座席予約は解除できません。
  • 休み申請はカレンダー登録で一元管理されます。
  • ローディングスピナー表示中は操作を控えてください。

4. よくある質問

Q. 予約できない座席があります。

 A. 他人が予約している座席は予約できません。空席のみ予約可能です。

Q. 予定が反映されない場合は?

 A. キャッシュ更新ボタンを押して最新情報に更新してください。

ご要望に応じて、画面ごとの操作動画やマニュアルPDFも作成可能です。さらに詳しい手順や、特定の操作例が必要な場合はご指示ください!

ーーー

凄い!!!

さきほどよりも利用シナリオを想定して書いてくれました。「よくある質問」も用意され自分で一から作成するよりも遥かに丁寧な操作手順書です。もう人力で書くのは馬鹿らしいですね。


第3章 まとめ


もっとPower Automate の時のように一つ一つのパーツの説明になるかと思ってましたが、しっかり画面がどのように機能し、ユーザーシナリオがどのようなものかを想定してドキュメント化してくれました。またそれが一回で正しいものでした。コメントを入れているところがあるのでそれが多少影響しているかもしれませんが、非常に有用だと感じました。

エクスポートしたPower Apps の.msappファイルを展開する機能はプレビューなので今後どうなるかだけが気になるところです。


===

本件お問合せは下記より!


\今なら無料!/

【30分DX無料相談 実施中】

「業務を効率化したいけれど、どこから手をつければいいかわからない…」
「どのツールが自社に合っているのか、比較検討したい…」

そんな悩みに、経験豊富なDX推進コンサルタントが個別に対応!

→ お申込みはこちら:https://www.qloba.com/forms/10862?_gl=1*1iahbda*_g...