1. はじめに企業では、日々の業務を通じて多くのデータが蓄積されています。しかし、データは保有しているものの、具体的な活用方法が定まらず、実際の意思決定に十分生かしきれていないケースも少なくありません。CLOVEでは、データ基盤の構築だけでなく、蓄積されたデータを実際の業務改善や意思決定につなげるための支援も行っています。今回は、通信関連企業のイベント計画業務における、Snowflakeと生成AIを活用した、次期イベント計画作成支援の取り組みをご紹介します。2. 紹介するプロジェクトについて2.1 背景今回の対象となるのは、商業施設などで実施する販売イベントの計画業務です。イベントを開催する際には、以下のような項目を検討する必要があります。どの施設で開催するかどの日程で開催するか何日間連続で開催するか月間で何回のイベントを実施するか予算内でどの程度の成果を見込めるか単純に過去実績が高い施設を選べばよいわけではなく、上記のように複数の制約を考慮する必要があります。従来このような計画は、担当者の経験や現場感覚をもとに検討されていました。もちろん、現場の知見は重要です。しかし、対象となる施設や、考慮しなければならない制約が増えると、検討すべき要素が多くなって判断が難しくなり、時間もかかってしまいます。そこで本プロジェクトでは、過去の実績データと生成AIを活用し、従来は担当者が行っていたイベント計画の初期案作成を自動化することにしました。これにより、過去データを活用したイベント提案と、大幅な業務効率化を同時に実現します。2.2 全体像本プロジェクトで実施する全体の工程は、以下のようになっています。ステップ工程名担当(システム / 担当者)具体的な作業内容1データ準備担当者過去のイベント実績データ(Excel)を用意する。2データ格納Streamlit in SnowflakeWEBアプリケーションからデータをアップロードし、加工・集計する。3見込み実績値の算出Snowflake施設別・日別の見込み実績値を集計する。4Copilot用のExcelファイルの生成Streamlit in SnowflakeWEBアプリケーションでSnowflake上のデータをもとに、Copilotに渡すExcel・出力結果を貼り付けるExcelを生成する。5計画案作成Copilot算出データと現場固有の制約条件(プロンプト)をもとに、計画の初期案を作成する。6検証・再提案担当者 🔄 Copilot出力結果をExcelで確認・検証する。予約不可の施設を除外して再度Copilotへ入力(最適化までループ)。7最終判断担当者修正された最終計画案を確認し、意思決定を行う。8予約実行担当者確定したイベント計画通りに、各施設の予約を確定させる。整理すると、以下のようになります。担当役割WEBアプリケーション(Streamlit)データアップロード・Excel生成用のWEBアプリケーションとして動作する。Snowflake過去実績を加工し、判断材料となるデータを作成する。生成AI(Copilot)複数の条件を考慮し、イベント計画案を作成する。Excel計算結果や制約条件の違反を検証する。担当者(人間)現場事情を踏まえて、最終判断を行う。重要なのは、生成AIだけですべてを完結させないことです。各システムと人間の役割を明確に切り分け、実務で扱いやすい業務フローとして設計しています。3. 業務プロセスの詳細3.1 Snowflakeで過去の実績データを判断材料に変える最初に行うのは、過去のイベント実績データの用意・加工・集計です。担当者が元となるExcel形式の実績データを用意し、WEBアプリケーション経由でSnowlflake上にデータをアップロードします。アップロードされたデータをSnowflake上で加工し、次年度の計画作成に利用できる見込み実績値を算出します。生成AIを活用する前に、まずAIが判断に使えるデータを整備する必要があります。データが存在していても、データ形式や集計方法が適切でなければ、データやAIの価値を最大限に引き出すことはできません。3.2 Copilot用のExcelを生成するWEBアプリケーションでSnowflake上のデータを取得し、Copilotに渡すExcelファイル・Copilotの出力結果を貼り付けるためのファイルを生成します。ここで制約条件なども入力することができます。Copilotに渡すExcelファイルをWEBアプリ経由で生成させることで、ユーザーの入力ミスを防ぎます。3.3 Copilotにイベント計画を生成させるデータが整ったら、制約条件等を記載したプロンプトとともにAIに渡します。今回は複数の情報を入力する必要がありました。制約条件(ここには目標実績数や予算なども含めます)Snowflake上で求めた見込み実績値日付情報期待すえるExcelの出力形式そのため、入力データはExcel形式としました。また、制約条件は各拠点によっても異なるため、プロンプトには共通の制約条件を記載し、各シートにはその拠点特有の制約条件を記載する構成にしました。今回は生成AIとしてCopilotを使用しました。使用したモデルは GPT 5.5 Think Deeper です。3.4 Copilotの出力結果を検証するCopilotが生成したイベント計画は、指定のExcelファイルでチェックします。ここでは主に、制約条件の網羅性や、AIによる計算結果の正確性を検証します。AIは、認識ミスやハルシネーションによって、誤った情報を出力することが多々あります。そのため、出力結果は必ず人間の目で確かめる必要があります。生成したイベント計画案を検証用のExcelシートに貼り付けると、数式によって複数の項目が自動的に確認されます。以下はその一部です。検証項目確認する内容見込み実績数目標値実績数を満たしているか。見込み費用予算を超過していないか。連続開催日数開催日数が業務ルールの範囲内か。日程の偏り特定の日付や週にイベントが集中していないか。AIの回答を鵜呑みにせず、後続工程で検証できる仕組みを設けることが、実務でAIを活用する上では重要です。4. 導入に向けて工夫した3つのポイント4.1 業務上の制約の整理イベント計画を作成する際には、多くの条件を考慮する必要があります。「目標実績値の達成」や「予算内に収まる提案」といった基本条件に加え、以下のような制約が伴います。開催回数の上限および連続開催日数の制限除外対象施設の考慮祝日や大型連休期間における特別ルールの適用また、単純に見込み実績値が高い施設を選べばよいわけではありません。優先的に開催すべき施設がある一方で、特定の週や特定の施設に開催日程が偏りすぎないようにする必要もあります。従来、このような判断の一部は、担当者の経験や現場感覚をもとに行われていました。しかし、生成AIに計画案を作成させるためには、人間が暗黙的に考慮していた条件を明確に言語化する必要があります。ステップ工程名1担当者の経験や暗黙知を整理する。2制約条件の整理する。3例外や優先順位を明確にする。4AIが扱える業務ルールとして、プロンプトに組み込む。上記のステップで制約を整理しながら、プロンプトの作成を行いました。4.2 AIの解釈の揺れを抑えるプロンプトの設計業務ルールを整理した後は、その内容を生成AIに正確に伝える必要があります。生成AIは柔軟な提案を得意としていますが、曖昧な指示を与えると、意図しない解釈をする可能性があります。例えばプロジェクトの進行中、実際に以下のような問題(解釈の揺れやハルシネーション)が発生しました。そのため、それぞれの事象に対して明確なルールを定義しました。予算の超過リスク・問題:予算上限ぎりぎりの、目標実績値を必要以上に超えたイベント計画を作成することがあった。・対策:目標実績値以上となる、必要最低限の提案をするように明記した。イベント回数のカウントミス・問題:イベント回数の計算方法を誤ることがあった。・対策:連日開催の場合は1イベントとしてカウントすることを明記した。集計期間の混同・問題:見込み実績数および見込み費用の計算時に、翌月以降の数値を混入することがあった。・対策:対象月末時点で厳密に計算を打ち切ることを明記した。必須要件の漏れ・問題:最適化案にならないという理由で、開催必須施設が提案漏れすることがあった。・対策:開催必須施設については、最適化された計画にならなくても必ず開催提案をするように明記した。このように、発生した問題に対して個別に対策を打ち、ルールを明確に定義することで、解釈の揺れやハルシネーションを大幅に抑えることができました。また、計算する前にイベント計画を作成するといったハルシネーションを防ぐため、いきなり最終的なイベント計画表を作成させるのではなく、プロンプト内で推論の順序を指定しています。ステップ工程名1施設の開催提案の優先順位を整理する。2Snowflake上で求めた目標値をもとに、見込み実績数と費用を計算する。3制約条件を満たしているか確認する。4指定形式でイベント計画表を出力する。AIが解釈の揺れやハルシネーションを起こさないようにルールを明確に定義し、推論の順番を指定することで、目的を達成できる質の高いプロンプトになります。4.3 Snowflakeへのデータアップロード・Copilot用のExcelファイル生成のアプリ化生成AIを業務に組み込む際は、実際に業務担当者が操作しやすい仕組みを用意することも重要です。特に、担当者がExcelファイルを直接編集するような場合、決められた形式でデータを入力したりする作業にはミスが発生しやすくなります。そこで本プロジェクトでは、StreamlitというPython用のフレームワークを使用し、一部の業務をWebアプリ上で行えるようにしました。Snowflakeには「Streamlit in Snowflake」という機能があり、Snowflake上で簡単にWebアプリを動作させることができます。これにより、データ基盤と連携した業務アプリを比較的少ない実装量で構築することができました。このアプリでは、ユーザーが各種マスタや新規の実績データを追加・変更できるようにしています。また、生成AIに渡すための入力用Excelや、生成AIの出力結果を確認するためのExcelも、アプリ経由で作成できるようにしました。このように、担当者が行う業務プロセスの一部をシステム化することで、生成AIを利用する前後の作業を安定させることができました。5. 他業務への応用可能性今回ご紹介したのは、イベントの計画作成を支援する事例です。一方で、同様の考え方は、ほかの業務にも応用できます。たとえば、以下のような業務です。顧客ごとの契約確度・過去の商談履歴を活用した、営業担当者の訪問計画売上情報を活用した、商品の在庫配分や補充計画の作成スタッフの勤務可能日を考慮した、拠点ごとの人員配置これらの業務には、共通点があります。過去のデータが存在し、複数の条件を踏まえた上で、次の施策や計画を決める必要があることです。自社に蓄積されているデータを整理し、業務上のルールと組み合わせることで、生成AIを意思決定支援に活用できる可能性があります。6. まとめデータを蓄積するだけでは、業務は変わりません。また、生成AIを導入するだけで、業務改善が実現するわけでもありません。重要なのは、業務上の課題を整理し、必要なデータを加工・集計し、現場固有のルールを明確にした上で、AIを適切な業務フローに組み込むことです。今回のプロジェクトでは、Snowflakeによるデータ加工・集計、生成AIによるイベント計画案の作成、Excelによる検証、人間による最終判断を組み合わせました。CLOVE合同会社は、企業のデータ活用を推進するための戦略策定、データ基盤構築、データ分析、AI活用支援を提供するコンサルティング会社です。 データ活用の専門家として、マーケティング、営業、業務効率化など幅広い領域で支援を行っております。貴社の課題や目的に応じた最適な設計をご提案しますので、ご興味がありましたらぜひお問い合わせフォームからお気軽にご相談ください。