Skip to content

Prompt設計 — AI口コミ生成

項目内容
ステータス🟡 検討中
関連AI口コミ生成

1. Prompt概要

1.1 Prompt一覧

#名前目的ModelTemperature呼び出し元
1generate_review最も星が高い項目からフル口コミを生成(1回呼び出し)Sonnet 40.8送信後の口コミ画面
2quality_check品質チェック(LLM部分)Haiku 4.50.1生成後
3regenerate_with_feedbackNG時の再生成Sonnet 40.9品質チェックNG
4regenerate_with_tonetone変更時の再生成Sonnet 40.8ユーザーがtone変更

1.2 Prompt呼び出しフロー


2. 各Promptの詳細

2.1 Prompt #1 — generate_review

目的: 最も星が高い1つの評価項目のみから200-400文字のフル口コミを生成。1回だけ呼び出し、プレビュー段階なし。

Sonnetを使用する理由: 高品質で自然な日本語文章が必要。選択された項目の焦点を正しく反映する能力が求められる。

項目選択ロジック(LLM呼び出し前、バックエンドで処理):

  • 星評価の質問の中から最も星が高い項目を取得
  • 複数の項目が同じ最高星数の場合 → 元の質問順を優先(例:接客 → 清潔感 → 満足度、3項目とも★5なら接客を選択)
  • 項目名 + 星数のみをプロンプトに送信。他のアンケート回答(残りの星評価項目、テキスト回答、Y/N回答)は送信しない → プロンプトが簡潔になり、AIが1つのトピックに集中、input tokenが約80%削減

入力変数

変数
top_itemobject{ name: "接客", rating: 5 }
tonestringデフォルト 丁寧
shop_namestring銀座ヘアサロンA
store_keywordsstring丁寧な接客, 駅近, 清潔感

System Prompt

あなたは実際の顧客として口コミを書くアシスタントです。
指定された1つの高評価項目を中心に、完全な口コミ文を生成してください。

【トーン】{tone}

【トーン別の文体ガイド】
- 丁寧: 敬語を使用。「〜していただきました」「大変満足しております」。30〜50代の落ち着いた印象。
- カジュアル: 友人に話すような口調。「〜だった!」「めっちゃ良かった」。20〜30代の明るい印象。
- ビジネス: 客観的で簡潔。「サービスの質が高い」「費用対効果が良い」。ビジネスパーソンの印象。

【生成ルール】
1. 文字数: 200〜400文字
2. 焦点: 指定された1つの項目を中心に書く。他の話題に広げすぎない
3. 構成: 来店のきっかけ → 指定項目の体験詳細 → 感想・まとめ
4. キーワード: 指定キーワードを文脈に合わせて自然に1〜3個含める。無理に全て入れる必要はない
5. 自然さ: 以下を避ける
   - 箇条書き形式
   - 「まず」「次に」「最後に」のような明確な段落構成語
   - 過度な褒め言葉の連続
   - 全てのキーワードを機械的に詰め込む
   - 「〜がおすすめです」のような宣伝口調
6. 人間らしさ: 小さな感想や個人的なエピソードを含めて、実体験感を出す

Human Prompt

以下の情報を元に、200〜400文字の完全な口コミ文を生成してください。

【店舗名】{shop_name}
【中心にする項目】{top_item.name}(★{top_item.rating})
【店舗キーワード】{store_keywords}
【トーン】{tone}

最小限の入力: プロンプトには項目名 + 星数 + キーワード + トーンのみを含める。アンケート回答、他の星評価項目、テキスト/Y-N回答は送信しない

LLMパラメータ

パラメータ理由
modelclaude-sonnet-4-20250514日本語品質が高い
temperature0.8多様な文体を生成、繰り返し回避
max_tokens800400文字 (~600トークン) + 余裕

出力例

選択された項目: 接客 (★5)

初めて銀座ヘアサロンAを利用いたしました。スタッフの方がとても親切で、カウンセリングも丁寧に対応してくださり、初めてでも安心して任せられる雰囲気でした。髪の悩みをしっかり聞いた上で、似合うスタイルを提案してくださり、仕上がりも想像以上でした。駅から近く通いやすい立地も魅力で、次回もぜひお願いしたいと思います。

※ アンケートに他の項目があっても、口コミは「接客」1項目に焦点を絞っている


2.2 Prompt #2 — quality_check

目的: 生成された口コミの品質を評価。意味的な3つの基準のみチェック(残り2つはルールベースでチェック済み)。

Haikuを使用する理由: JSONスコアを返すだけで文章は不要。

System Prompt

あなたは口コミ文の品質を評価する審査員です。
厳密にJSON形式のみで回答してください。余計なテキストは不要です。

Human Prompt

以下の口コミ文を評価してください。JSON形式で回答してください。

【評価項目】
1. naturalness (0〜30点): AI生成と分かる表現がないか。箇条書き・過度な褒め・均一な構成を減点
2. inappropriate (0〜20点): 不適切表現・誇大広告・事実と異なる表現がないか
3. topic_reflection (0〜15点): 指定された項目({top_item.name})が中心に反映されているか

【口コミ文】
{review_text}

【中心にすべき項目】{top_item.name}(★{top_item.rating})

JSON形式で回答:
{"naturalness": 点数, "inappropriate": 点数, "topic_reflection": 点数, "feedback": "改善点(なければ空文字)"}

品質チェックは項目名 + 星数のみを受け取り、アンケート回答全体は受け取らない。

LLMパラメータ

パラメータ理由
modelclaude-haiku-4-5-20251001判定用、高性能Model不要
temperature0.1安定した一貫性のある結果
max_tokens500短いJSON

出力例

合格 (85点):

json
{
  "naturalness": 25,
  "inappropriate": 20,
  "topic_reflection": 12,
  "feedback": ""
}

不合格 (52点):

json
{
  "naturalness": 15,
  "inappropriate": 20,
  "topic_reflection": 8,
  "feedback": "「まず」「次に」の接続詞が目立つ。箇条書き的な構成を避け、もう少し自然な流れに。中心にすべき項目への言及が弱い。"
}

2.3 Prompt #3 — regenerate_with_feedback

目的: 品質チェックNG時の再生成。スコアと改善フィードバックを付与して送信。

temperature 0.9の理由: 生成(0.8)より高く設定し、前回と異なる出力を生成するため。

System Prompt

Prompt #1 (generate_review) と同じ

Human Prompt

以下の情報から口コミ文を生成してください。
前回の生成は品質チェックで不合格でした。フィードバックを参考に改善してください。

【前回のスコア】{previous_score}/100
【改善フィードバック】{feedback}

【店舗名】{shop_name}
【中心にする項目】{top_item.name}(★{top_item.rating})
【店舗キーワード】{store_keywords}
【トーン】{tone}

※ 前回と異なる書き出し・構成で書いてください。

LLMパラメータ

パラメータ理由
modelclaude-sonnet-4-20250514品質を維持
temperature0.9前回と異なる出力を生成
max_tokens800

2.4 Prompt #4 — regenerate_with_tone

目的: ユーザーがtone変更時の再生成。前回の繰り返しを避ける明確な指示。

System Prompt

Prompt #1と同じだが{tone}が変更

Human Prompt

以下の情報から口コミ文を生成してください。
前回は「{previous_tone}」トーンで生成しましたが、今回は「{tone}」トーンで新しく生成してください。

【店舗名】{shop_name}
【中心にする項目】{top_item.name}(★{top_item.rating})
【店舗キーワード】{store_keywords}
【トーン】{tone}

※ 前回の文章「{previous_review_snippet}」の言い回しを流用しないでください。

previous_review_snippet: 前回の先頭50文字。

LLMパラメータ

パラメータ理由
modelclaude-sonnet-4-20250514品質を維持
temperature0.8多様性を保ちつつ安定
max_tokens800

3. チューニング設定値

設定デフォルト値範囲影響
REVIEW_PASS_SCORE7050〜90品質チェック合格点
REVIEW_MAX_RETRIES31〜5最大リトライ回数
REVIEW_MIN_CHARS200100〜300最小文字数
REVIEW_MAX_CHARS400300〜600最大文字数
php
// config/anthropic.php
'review_generator' => [
    'pass_score' => env('REVIEW_PASS_SCORE', 70),
    'max_retries' => env('REVIEW_MAX_RETRIES', 3),
    'min_chars' => env('REVIEW_MIN_CHARS', 200),
    'max_chars' => env('REVIEW_MAX_CHARS', 400),
],

4. Promptチューニングのヒント

4.1 出力がAIっぽすぎる場合

  • temperatureを0.85-0.9に上げる
  • system promptに追加: 「また」「さらに」「加えて」の接続詞を使わない
  • promptにネガティブ例を追加

4.2 キーワードが詰め込まれる場合

  • 推奨キーワード数を"1〜3個"から"1〜2個"に削減
  • 追加: キーワードは1つだけ含めれば十分です

4.3 出力が短すぎる/長すぎる場合

  • REVIEW_MIN_CHARS / REVIEW_MAX_CHARSを調整
  • promptに追加: 必ず{min}〜{max}文字で書いてください

4.4 toneが不明瞭な場合

  • 各toneの具体例をsystem promptに追加
  • 例: 丁寧トーンの場合、必ず「〜いたしました」「〜ございます」を使用すること