Skip to content

レポートのAIアドバイス自動生成

概要

項目内容
ステータス🔵 提案中
Issue#9
担当-
出力形式PowerPoint(PPTX)
テンプレートMEO月間レポート / MEO年間レポート

既存のPPTXテンプレートをベースに、インサイト・口コミ・ランキングデータを自動で流し込み、AIアドバイスを生成してレポートを自動作成する。

提案内容

背景・課題

  • レポートのアドバイスは手動で記述しており時間がかかる
  • データに基づく客観的なアドバイス生成が困難
  • レポート作成者によってアドバイスの質にばらつきがある
  • PowerPointテンプレートへの手動データ入力が煩雑

提案するソリューション

既存の管理画面(/admin/reports)のレポート作成フローにAIアドバイス生成とPPTX自動出力を統合する。

主な特徴:

  • 既存PPTXテンプレート(月間/年間)へのデータ自動流し込み
  • インサイト・口コミ・ランキングデータからAIアドバイスを自動生成
  • 管理画面のレポート作成画面(ReportGenerate.vue)にAI生成ボタンを追加
  • 生成アドバイスの手動編集後にPPTXダウンロード

機能一覧

#機能名説明優先度
1AIアドバイス生成データに基づくアドバイス自動生成
2PPTX自動生成テンプレートへのデータ・アドバイス流し込み
3テンプレート選択月間/年間テンプレートの選択
4アドバイス編集生成アドバイスの手動編集
5PPTXダウンロード生成レポートのダウンロード

管理画面への組み込み

既存の管理画面レポート機能(/admin/reports)に統合する。

既存構成:

パスコンポーネント説明
/admin/reportsReportList.vueレポート一覧(フィルタ・検索)
/admin/reports/generate/:userId?ReportGenerate.vueレポート作成(セクション選択・コメント入力)
/admin/reports/:userId/historyReportHistory.vueダウンロード履歴

追加する機能:

ReportGenerate.vueに以下を追加:

  • 「AIアドバイス生成」ボタン → Python APIを呼び出し
  • 生成結果のプレビュー・編集エリア
  • テンプレート選択(月間/年間)
  • 「PPTXダウンロード」ボタン

レポートサンプル(月間)

サンプルデータを流し込んだ月間レポートのプレビューです。

MEO月間レポート
対象期間: 2026年3月
店舗名: 渋谷店
H2technology
1 / 9
表紙
月間サマリー
詳細指標
キーワード詳細
表示回数の推移
行動数の推移
口コミ分析
口コミ目標達成
アクションプラン

画面モック

レポートAIアドバイス

AI分析結果

良い点

  • 全店舗平均で表示回数が前月比15%増加
  • 口コミ返信率が95%を維持
  • 写真投稿の頻度が適切に維持されている

改善点

  • 3店舗でインサイト数値が低下傾向
  • 新規口コミ獲得数が目標未達
  • 一部店舗でGBP情報の更新が滞っている

アドバイス

全体的にはポジティブなトレンドですが、インサイト低下が見られる3店舗については個別対策が必要です。特に投稿頻度の見直しと、口コミ促進施策(QRコード配布等)の実施を推奨します。

アーキテクチャ

技術スタック

項目技術選定理由
PPTX生成python-pptxテンプレートのプレースホルダー置換が最も優秀
AI基盤LangChain + LangGraphpython-pptxと同一Pythonプロセスでネイティブ連携
APIサーバーFastAPI軽量・高速、非同期対応
LLMClaude Sonnet 4(推奨)日本語品質・コスト最適
フロントエンドVue.js(既存ReportGenerate.vue改修)既存管理画面に統合
バックエンドLaravel APIデータ集約・Python API呼び出し

全体構成

Python FastAPI 処理フロー

PPTX生成の仕組み

python
from pptx import Presentation

# テンプレート読み込み
prs = Presentation('MEO月間レポート_テンプレート.pptx')

# プレースホルダーにデータを流し込み
for slide in prs.slides:
    for shape in slide.placeholders:
        if shape.placeholder_format.idx == 0:  # タイトル
            shape.text = f"{shop_name} 月間レポート"
        if shape.placeholder_format.idx == 1:  # 本文
            shape.text = ai_generated_advice

# テーブル・グラフのデータ更新
# ...

prs.save('output_report.pptx')

技術選定の比較

方式テンプレート対応AI連携導入コスト採用
Python (python-pptx + LangChain)◎ プレースホルダー置換◎ ネイティブFastAPIサーバー追加採用
PHP (PHPPresentation)△ 限定的× 別途API必要なし不採用
Node.js (pptx-automizer)○ テンプレート対応× 別途API必要Node環境不採用

Python採用の理由:

  • python-pptxのテンプレート置換機能が最も成熟(プレースホルダー名での参照)
  • LangChainと同一プロセスで動作し、API呼び出しのオーバーヘッドなし
  • グラフ生成もMatplotlib→画像埋め込みで対応可能

概算工数(AI前提)

体制

役割人数担当内容
設計者1名要件確認 → AIに設計書作成指示 → レビュー → 製造へ指示
製造者1名ISSUEを元にAIに作成指示 → コードレビュー → テスト実施 → デプロイ

工数内訳

#作業項目AIリテイクレビュー工数(人日)担当
1要件確認・設計書作成2回0.5日/回1.0設計者
2プロンプト設計・API設計3回0.5日/回1.5設計者
3Python FastAPI環境構築2回0.5日/回1.0製造者
4python-pptxテンプレート実装3回0.5日/回1.5製造者
5LangChainアドバイス生成実装3回0.5日/回1.5製造者
6Laravel API・Vue.js UI改修2回0.5日/回1.0製造者
7結合テスト・品質調整3回0.5日/回1.5製造者
8デプロイ・動作確認1回0.5日/回0.5製造者
合計9.5

前提条件・制約

  • LLM APIのアカウント・利用枠が確保されていること
  • Python FastAPIサーバーのホスティング環境が用意できること
  • PPTXテンプレートのプレースホルダー設計が事前に完了していること
  • 既存の管理画面レポート機能(/admin/reports)の改修が許可されていること

スケジュール

タスク担当日数4/34/44/54/64/74/84/94/104/114/124/134/144/154/164/174/184/194/20
要件確認・設計書作成設計者1d
プロンプト設計・API設計設計者2d
Python FastAPI環境構築製造者1d
設計レビュー・製造指示設計者1d
python-pptxテンプレート実装製造者2d
LangChainアドバイス生成製造者2d
Laravel API・Vue.js UI改修製造者1d
結合テスト・品質調整製造者2d
デプロイ・動作確認製造者1d