Thiết kế Prompt — AI tạo đánh giá
| Hạng mục | Nội dung |
|---|---|
| Trạng thái | 🟡 Đang thảo luận |
| Liên quan | AI tạo đánh giá |
1. Tổng quan Prompt
1.1 Danh sách Prompt
| # | Tên | Mục đích | Model | Temperature | Gọi từ |
|---|---|---|---|---|---|
| 1 | generate_review | Tạo full review từ mục có sao cao nhất (1 lần gọi) | Sonnet 4 | 0.8 | Màn review sau submit |
| 2 | quality_check | Kiểm tra chất lượng (phần LLM) | Haiku 4.5 | 0.1 | Sau generate |
| 3 | regenerate_with_feedback | Tái tạo khi NG | Sonnet 4 | 0.9 | Quality check NG |
| 4 | regenerate_with_tone | Tái tạo khi đổi tone | Sonnet 4 | 0.8 | User đổi tone |
1.2 Flow gọi Prompt
2. Chi tiết từng Prompt
2.1 Prompt #1 — generate_review
Mục đích: Tạo full review 200-400 ký tự từ duy nhất 1 mục đánh giá có số sao cao nhất. Gọi 1 lần, không có bước preview.
Tại sao dùng Sonnet: Cần văn xuôi tiếng Nhật chất lượng cao, tự nhiên, phản ánh đúng trọng tâm của mục được chọn.
Logic chọn mục (backend, trước khi gọi LLM):
- Lấy mục có số sao cao nhất trong các câu hỏi sao
- Nếu có nhiều mục cùng số sao cao nhất → ưu tiên theo thứ tự câu hỏi gốc (VD: 接客 → 清潔感 → 満足度, nên 3 mục cùng ★5 thì chọn 接客)
- Chỉ gửi duy nhất tên mục + số sao vào prompt. Không gửi các câu trả lời khác của khảo sát (các mục sao còn lại, câu text, câu có/không) → prompt gọn, AI tập trung vào đúng 1 chủ đề, giảm ~80% input token
Biến đầu vào
| Biến | Kiểu | Ví dụ |
|---|---|---|
top_item | object | { name: "接客", rating: 5 } |
tone | string | Mặc định 丁寧 |
shop_name | string | 銀座ヘアサロンA |
store_keywords | string | 丁寧な接客, 駅近, 清潔感 |
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}Input tối giản: prompt chỉ gồm tên mục + số sao + keyword + tone. Không gửi survey answers, không gửi các mục sao khác, không gửi câu text/có-không.
Tham số LLM
| Tham số | Giá trị | Lý do |
|---|---|---|
| model | claude-sonnet-4-20250514 | Chất lượng tiếng Nhật cao |
| temperature | 0.8 | Tạo văn phong đa dạng, tránh lặp |
| max_tokens | 800 | 400 ký tự (~600 tokens) + dư |
Ví dụ đầu ra
Mục được chọn: 接客 (★5)
初めて銀座ヘアサロンAを利用いたしました。スタッフの方がとても親切で、カウンセリングも丁寧に対応してくださり、初めてでも安心して任せられる雰囲気でした。髪の悩みをしっかり聞いた上で、似合うスタイルを提案してくださり、仕上がりも想像以上でした。駅から近く通いやすい立地も魅力で、次回もぜひお願いしたいと思います。
※ Toàn bộ review tập trung vào 1 mục "接客" dù khảo sát có nhiều mục khác
2.2 Prompt #2 — quality_check
Mục đích: Đánh giá chất lượng review đã tạo. Chỉ check 3 tiêu chí ngữ nghĩa (2 tiêu chí còn lại đã check bằng rule-based).
Tại sao dùng Haiku: Chỉ cần trả JSON điểm số, không cần văn xuôi.
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": "改善点(なければ空文字)"}Quality check chỉ nhận tên mục + số sao, không nhận toàn bộ survey answers.
Tham số LLM
| Tham số | Giá trị | Lý do |
|---|---|---|
| model | claude-haiku-4-5-20251001 | Phán định, không cần model mạnh |
| temperature | 0.1 | Kết quả ổn định, nhất quán |
| max_tokens | 500 | JSON ngắn |
Ví dụ đầu ra
Đạt (85 điểm):
{
"naturalness": 25,
"inappropriate": 20,
"topic_reflection": 12,
"feedback": ""
}Không đạt (52 điểm):
{
"naturalness": 15,
"inappropriate": 20,
"topic_reflection": 8,
"feedback": "「まず」「次に」の接続詞が目立つ。箇条書き的な構成を避け、もう少し自然な流れに。中心にすべき項目への言及が弱い。"
}2.3 Prompt #3 — regenerate_with_feedback
Mục đích: Tái tạo khi quality check NG. Gửi kèm điểm số và feedback cải thiện.
Tại sao temperature 0.9: Cao hơn generate (0.8) để tạo output khác biệt so với lần trước.
System Prompt
Giống Prompt #1 (generate_review)
Human Prompt
以下の情報から口コミ文を生成してください。
前回の生成は品質チェックで不合格でした。フィードバックを参考に改善してください。
【前回のスコア】{previous_score}/100
【改善フィードバック】{feedback}
【店舗名】{shop_name}
【中心にする項目】{top_item.name}(★{top_item.rating})
【店舗キーワード】{store_keywords}
【トーン】{tone}
※ 前回と異なる書き出し・構成で書いてください。Tham số LLM
| Tham số | Giá trị | Lý do |
|---|---|---|
| model | claude-sonnet-4-20250514 | Giữ chất lượng |
| temperature | 0.9 | Tạo output khác lần trước |
| max_tokens | 800 | — |
2.4 Prompt #4 — regenerate_with_tone
Mục đích: Tái tạo khi user đổi tone. Chỉ thị rõ ràng không lặp lại lần trước.
System Prompt
Giống Prompt #1 nhưng {tone} thay đổi
Human Prompt
以下の情報から口コミ文を生成してください。
前回は「{previous_tone}」トーンで生成しましたが、今回は「{tone}」トーンで新しく生成してください。
【店舗名】{shop_name}
【中心にする項目】{top_item.name}(★{top_item.rating})
【店舗キーワード】{store_keywords}
【トーン】{tone}
※ 前回の文章「{previous_review_snippet}」の言い回しを流用しないでください。
previous_review_snippet: 50 ký tự đầu của bản trước.
Tham số LLM
| Tham số | Giá trị | Lý do |
|---|---|---|
| model | claude-sonnet-4-20250514 | Giữ chất lượng |
| temperature | 0.8 | Đa dạng nhưng ổn định |
| max_tokens | 800 | — |
3. Giá trị cấu hình Tuning
| Cài đặt | Giá trị mặc định | Phạm vi | Ảnh hưởng |
|---|---|---|---|
REVIEW_PASS_SCORE | 70 | 50〜90 | Điểm đạt quality check |
REVIEW_MAX_RETRIES | 3 | 1〜5 | Số lần retry tối đa |
REVIEW_MIN_CHARS | 200 | 100〜300 | Số ký tự tối thiểu |
REVIEW_MAX_CHARS | 400 | 300〜600 | Số ký tự tối đa |
// 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. Tips Tuning Prompt
4.1 Khi output quá giống AI
- Tăng
temperaturelên 0.85-0.9 - Thêm vào system prompt:
「また」「さらに」「加えて」の接続詞を使わない - Thêm ví dụ negative vào prompt
4.2 Khi keyword bị nhồi nhét
- Giảm số keyword khuyến nghị từ "1〜3個" xuống "1〜2個"
- Thêm:
キーワードは1つだけ含めれば十分です
4.3 Khi output quá ngắn hoặc quá dài
- Điều chỉnh
REVIEW_MIN_CHARS/REVIEW_MAX_CHARS - Thêm vào prompt:
必ず{min}〜{max}文字で書いてください
4.4 Khi tone không rõ ràng
- Thêm ví dụ cụ thể cho từng tone vào system prompt
- Ví dụ:
丁寧トーンの場合、必ず「〜いたしました」「〜ございます」を使用すること