アンケート結果からAIで口コミ内容を自動生成
概要
| 項目 | 内容 |
|---|---|
| ステータス | 🟢 進行中 |
| Issue | #10 |
| 担当 | - |
アンケートの回答結果をAIが分析し、口コミ用のテキストを自動生成する機能。生成された口コミは、確認・編集後にそのまま投稿できるフローを提供する。
提案内容
背景・課題
- 口コミの作成は手動で行っており、時間と労力がかかる
- アンケートで得られた顧客の声を、口コミとして有効活用できていない
- 口コミの品質・トーンにばらつきがある
提案するソリューション
アンケート回答データをAI(LLM)に入力し、自然な口コミ文を自動生成するシステムを構築する。
主な特徴:
- アンケート結果を口コミ形式のテキストに自動変換
- 店舗ごとのキーワード設定 — 設定したキーワードが口コミ文に自然に含まれるよう生成
- 生成品質のチューニング機能(プロンプト調整)
- 生成後の編集・確認UI
- 確認後にそのまま口コミとして投稿できるフロー
機能一覧
| # | 機能名 | 説明 | 優先度 |
|---|---|---|---|
| 1 | AI口コミ生成 | アンケート回答からAIで口コミ文を生成 | 高 |
| 2 | 店舗キーワード設定 | 店舗ごとにキーワードを設定し、生成口コミに自然に含める | 高 |
| 3 | 生成品質チューニング | プロンプトやパラメータの調整機能 | 高 |
| 4 | 編集・確認UI | 生成された口コミの確認・手動編集画面 | 高 |
| 5 | 口コミ投稿連携 | 確認済み口コミをそのまま投稿するフロー | 中 |
画面フロー・モック
全体フロー

| # | 画面 | 説明 | 新規/既存 |
|---|---|---|---|
| 1 | アンケート画面 | QRコード/SMS経由で表示される既存フォーム | 既存 |
| 2 | サンクス画面 | 回答完了後。高評価時に口コミセクション表示 | 改修 |
| 3 | アンケート回答選択 | 高評価アンケート回答の一覧から選択 | 新規 |
| 4 | 生成結果プレビュー | AI生成口コミの表示・トーン選択・再生成・編集 | 新規 |
| 5 | 投稿完了 | 投稿完了メッセージ。別アンケートでの再生成も可能 | 新規 |
既存アンケートフロー
QRコード → アンケート回答 → 高評価時の口コミ誘導
1QR読取
2アンケート
3完了
4クチコミ
店舗に設置されたQRコードをスキャン
https://example.com/questionnaire/abc123
AI口コミ生成フロー
アンケート選択 → AI生成 → トーン変更 → 投稿
アンケート
ご来店ありがとうございますスタッフの接客はいかがでしたか
★★★★★
店内の清潔感はいかがでしたか
★★★★★
サービスにご満足いただけましたか
★★★★★
また来店したいと思いますか
ご意見・ご要望
店舗キーワード設定(既存画面を活用)
口コミに含めたいキーワードは、既存のキーワード設定画面(/mappy/keywords — KeywordSettings.vue)を活用する。店舗ごとに最大8件のキーワードが登録されており、AI生成時にこのキーワードをプロンプトに注入して自然な口コミ文に含める。
| 項目 | 内容 |
|---|---|
| 画面パス | /mappy/keywords |
| コンポーネント | KeywordSettings.vue |
| 機能 | 店舗ごとにキーワード登録(最大8件)、一括設定対応 |
| 新規開発 | 不要(既存画面をそのまま利用) |
キーワード管理
登録キーワード8 / 8件
1MEO対策
2美容室 渋谷
3ヘアサロン
4カット 安い
5縮毛矯正
6トリートメント
7ヘッドスパ
8カラー 渋谷
上限に達しています。上限撤廃モードを有効にしてください。
変更内容
| 項目 | 現行 | 変更後 |
|---|---|---|
| キーワード上限 | 8件 | 無制限(推奨10件以上) |
| スクレイピング | 8件固定 | 登録数に応じて動的 |
| 表示 | 固定レイアウト | スクロール対応 |
概算工数(AI前提)
体制
| 役割 | 人数 | 担当内容 |
|---|---|---|
| 設計者 | 1名 | 要件確認 → AIに設計書作成指示 → レビュー → 製造へ指示 |
| 製造者 | 1名 | ISSUEを元にAIに作成指示 → コードレビュー → テスト実施 → デプロイ |
工数内訳
| # | 作業項目 | AIリテイク | レビュー | 工数(人日) | 担当 |
|---|---|---|---|---|---|
| 1 | 要件確認・設計書作成 | 2回 | 0.5日/回 | 1.0 | 設計者 |
| 2 | プロンプト設計・API設計 | 3回 | 0.5日/回 | 1.5 | 設計者 |
| 3 | AI生成エンジン実装 | 3回 | 0.5日/回 | 1.5 | 製造者 |
| 4 | 編集・確認UI実装 | 2回 | 0.5日/回 | 1.0 | 製造者 |
| 5 | 投稿連携機能実装 | 2回 | 0.5日/回 | 1.0 | 製造者 |
| 6 | 結合テスト・品質調整 | 3回 | 0.5日/回 | 1.5 | 製造者 |
| 7 | デプロイ・動作確認 | 1回 | 0.5日/回 | 0.5 | 製造者 |
| 合計 | 8.0 |
前提条件・制約
- 利用するLLM APIのアカウント・利用枠が確保されていること
- アンケートデータが構造化された形式で取得可能であること
- 口コミ投稿先のAPIが利用可能であること
- 設計・製造ともにAI(Claude/Cursor等)を活用する前提
スケジュール
| タスク | 担当 | 日数 | 4/3 | 4/4 | 4/5 | 4/6 | 4/7 | 4/8 | 4/9 | 4/10 | 4/11 | 4/12 | 4/13 | 4/14 | 4/15 | 4/16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 金 | 土 | 日 | 月 | 火 | 水 | 木 | 金 | 土 | 日 | 月 | 火 | 水 | 木 | |||
| 要件確認・設計書作成 | 設計者 | 1d | ||||||||||||||
| プロンプト設計・API設計 | 設計者 | 2d | ||||||||||||||
| AI生成エンジン実装 | 製造者 | 2d | ||||||||||||||
| 設計レビュー・修正 | 設計者 | 1d | ||||||||||||||
| 製造指示・ISSUE作成 | 設計者 | 1d | ||||||||||||||
| 編集・確認UI実装 | 製造者 | 1d | ||||||||||||||
| 投稿連携機能実装 | 製造者 | 1d | ||||||||||||||
| 結合テスト・品質調整 | 製造者 | 2d | ||||||||||||||
| デプロイ・動作確認 | 製造者 | 1d |
アーキテクチャ
技術スタック
| 項目 | 技術 | 備考 |
|---|---|---|
| フレームワーク | LangChain + LangGraph | エージェントオーケストレーション |
| 言語 | Python 3.12+ | LangChain公式サポート |
| LLM | Claude Sonnet 4 (推奨) | 日本語品質・コスト最適 |
| バックエンド連携 | Laravel API | 既存アンケートシステムとの接続 |
エージェント構成
LangGraph フロー
各ノードの役割:
| ノード | 処理内容 |
|---|---|
fetch_survey | Laravel APIからアンケート回答データを取得・構造化 |
generate_review | PromptTemplate + LLMで口コミ文を生成(トーン指定対応) |
quality_check | 生成文の品質チェック(文字数・不適切表現・自然さ) |
retry_generate | 品質NGの場合、フィードバック付きで再生成(最大3回) |
プロンプト構成
python
ChatPromptTemplate.from_messages([
("system", """あなたは口コミ作成アシスタントです。
アンケート回答を元に、自然で信頼性のある口コミ文を生成してください。
【トーン】{tone}
【制約】
- 実際の体験に基づいた自然な日本語
- 200〜400文字程度
- 過度な宣伝表現を避ける
- アンケートの具体的な回答内容を反映する
- 指定されたキーワードを文脈に合わせて自然に含める(無理に入れない)"""),
("human", """以下のアンケート回答から口コミ文を生成してください。
【店舗名】{shop_name}
【評価】★{rating}
【店舗キーワード】{store_keywords}
【回答内容】
{survey_answers}""")
])想定LLM・費用比較
| モデル | Input | Output | 1件あたり費用 | 日本語品質 | 推奨度 |
|---|---|---|---|---|---|
| Claude Sonnet 4 | $3.00/1M tokens | $15.00/1M tokens | 約¥0.5 | ◎ | 推奨 |
| Claude Haiku 4.5 | $0.80/1M tokens | $4.00/1M tokens | 約¥0.1 | ○ | コスト重視 |
| GPT-4o | $2.50/1M tokens | $10.00/1M tokens | 約¥0.4 | ◎ | 代替 |
| GPT-4o mini | $0.15/1M tokens | $0.60/1M tokens | 約¥0.03 | △ | 非推奨 |
| Gemini 2.5 Flash | $0.15/1M tokens | $0.60/1M tokens | 約¥0.03 | ○ | コスト重視 |
費用算出の前提
- 1件あたり: 入力 約800 tokens(アンケート回答)+ 出力 約400 tokens(口コミ文)
- 品質チェック再生成: 平均1.2回/件
- 月間100件生成の場合: Claude Sonnet 4 で 約¥60/月
推奨構成
| 用途 | モデル | 理由 |
|---|---|---|
| 口コミ生成(本番) | Claude Sonnet 4 | 日本語品質◎、コスト妥当 |
| 品質チェック | Claude Haiku 4.5 | 判定処理のためコスト重視 |
| 開発・テスト | Claude Haiku 4.5 | 高速・低コストで反復テスト |