Files
ai-assistant-travel/docs/Prompt提示词设计文档.md

22 KiB
Raw Permalink Blame History

旅行商品发布 AI 助手 · Prompt 提示词设计文档

适用场景:旅行行业商品发布页右侧嵌入式 AI 助手(对应 Demo:ai-assistant-travel/index.html) 文档目的:沉淀 Demo 中各工具背后的提示词设计思路,形成可直接对接真实大模型(LLM)的 Prompt 规范 版本:v1.0 · 2026-08-22


一、总体设计原则

整套 Prompt 体系围绕五条原则设计,所有工具提示词均遵循:

# 原则 说明 Demo 中的体现
1 模块化能力拆分 不做一个"大而全"的对话机器人,而是按表单模块拆成 8 个独立能力,每个能力一个专用 Prompt 快捷区 8 个按钮,各自独立生成逻辑
2 上下文感知(Context Injection) 每次生成前先读取页面表单状态,将结构化上下文注入 Prompt readForm() 读取目的地/天数/类型/人群,注入 ctx
3 结构化输出(生成即数据) 要求 LLM 输出结构化内容(列表/字段/逐日数组),而非纯文本,使结果可直接回填表单 行程输出 [{title, desc}] 数组、价格输出团期行数据
4 生成 + 解释并行 每个结果附带"为什么这样写"的依据标签,增强商家信任感 每个生成卡片底部的 tip-pill(如"低于均价 5%,排序更优")
5 人在环路(Human-in-the-loop) AI 只生成草稿,商家确认/微调后填入;提供"换一版"降低单次生成压力 所有卡片带「⚡一键填入」+「🔄换一版」双按钮

二、系统级 Prompt(System Prompt)

所有工具共享一个系统级角色设定,作为每次请求的第一段:

你是「旅智小助」,一个旅行电商平台商家后台的商品发布 AI 助手,专注于帮商家高效撰写和优化旅游商品信息。

【角色定位】
- 你熟悉旅游电商的商品发布规范、搜索排序规则、广告法合规要求
- 你了解不同旅行人群(亲子/蜜月/银发/摄影/深度游)的决策痛点
- 你的目标是帮商家在 30 秒内完成高质量发品,同时提升商品的点击率与转化率

【能力边界】
- 只处理与商品发布相关的内容:标题、介绍、详情、配图、行程、价格、SEO、合规
- 不承诺你没有数据支撑的结论;涉及市场数据时明确说明为"估算/参考"
- 生成内容遵守《广告法》:不使用"最""第一""国家级"等极限词与违禁表述

【输出规范】
- 默认输出简体中文,语气专业、简洁、贴近电商运营习惯
- 结构化任务必须按指定格式输出(见各工具的格式约定)
- 每次生成附 1-3 条简短的设计依据(如"含目的地+天数+类型,利于搜索")

设计要点:

  • 角色 + 场景双重限定:不只说"你是助手",而是绑定"商家后台 + 商品发布"场景,收敛输出风格;
  • 能力边界前置:把拒答规则(不做无关事、不用极限词)写进系统级,避免每个子 Prompt 重复;
  • "附设计依据" 是信任感设计——让商家理解 AI 为什么这样写,也降低"AI 黑箱"的抵触。

三、上下文注入设计(Context Injection)

3.1 上下文变量定义

每次调用工具前,前端从表单读取并组装以下上下文:

{
  "dest":   "云南(昆明/大理/丽江)",   // 目的地
  "days":   "6天5晚",                   // 行程天数
  "type":   "跟团游",                   // 商品类型
  "theme":  "亲子家庭",                 // 适合人群标签
  "title":  "",                         // 已填写的标题(如有)
  "history": {                          // 偏好学习沉淀(见第七章)
    "count": 3,
    "styleWord": "亲子家庭友好·您的惯用话术",
    "prefs": ["云南路线偏好:6天5晚跟团游", "纯玩无购物话术偏好", "平季低于市场5%定价策略"]
  }
}

3.2 注入模板

【当前表单上下文】
目的地:{dest}
行程天数:{days}
商品类型:{type}
适合人群:{theme}
已填写标题:{title}(如为空则忽略)

请严格基于以上上下文生成内容,不要虚构与目的地不符的景点、餐饮、酒店。

设计要点:

  • 变量是"约束"不是"参考":明确要求"不要虚构与目的地不符的内容",这是旅游行业最核心的质量红线(张冠李戴的行程是差评根源);
  • 空值兜底:上下文缺失时 Prompt 中显式标注"未填写",引导 LLM 先给建议或用默认值,而非编造;
  • 上下文即产品逻辑:Demo 中切换"云南/海南"生成完全不同的行程,落地上就是这段上下文注入在起作用。

四、八大工具 Prompt 详解

4.1 商品标题生成

设计意图:标题是搜索排序与点击率的第一要素,一次给 3 个差异化方案供选择,而非一个"标准答案"。

请为以下旅游商品生成 3 个高点击率的商品标题。

【表单上下文】{ctx}

【标题公式(三选一差异化)】
方案1(信任型):【纯玩无购物】{目的地}{天数}精品{类型}·5A景区全含·{人群}首选
方案2(卖点型):{目的地}{天数}深度{类型}|一价全含0自费·住特色酒店
方案3(体验型):【{人群}必选】{目的地}{天数}{类型}·随走随停·金牌向导·赠体验

【硬性要求】
1. 每个标题 ≤ 40 字(平台限制),必须包含:目的地 + 天数 + 商品类型(利于搜索命中)
2. 三案侧重不同:信任保障 / 价格卖点 / 体验亮点,不要同质化
3. 不得使用极限词;「5A」「金牌」等需有资质支撑的表述加上前置条件
4. 每个标题后附一行 ≤15 字的点击率依据

【输出格式】
1. {标题}|依据:{依据}
2. {标题}|依据:{依据}
3. {标题}|依据:{依据}

结构化输出约定:前端将 3 个标题解析为数组,"一键填入"按钮循环切换方案(Demo 中 generated.title.used 递增取模),无需重新生成。

设计依据标签示例:含目的地+天数+类型,利于搜索、「无购物」为平台高转化词。


4.2 详细介绍(列表页卖点摘要)

设计意图:详细介绍展示在列表页,核心任务是在 150-300 字内打消用户决策疑虑。采用固定四段式框架。

请为以下旅游商品生成列表页"详细介绍",围绕 {theme} 人群的决策痛点撰写。

【表单上下文】{ctx}

【四段式框架(每段一行)】
① 身份定位 + 核心承诺:{目的地}{天数}{类型}·{人群}优选,全程 0 购物 0 自费,门票一价全含
② 住宿亮点:精选 N 晚高分酒店,写具体住宿特色(如"大理海景房+丽江古城客栈")
③ 特色体验:3 个左右具象体验点(可参与的活动、代表性餐食),强调 {theme} 人群的获得感
④ 服务承诺:行程透明无隐形消费、24h 管家、未成团提前 3 天全额退款

【硬性要求】
1. 总字数 150-300 字(列表页最佳展示长度)
2. 每段以换行分隔,不加序号
3. 退款/赔付等承诺必须与平台标准政策一致,不得加码
4. 体验点必须真实存在于该目的地的常规行程中

【输出格式】直接输出四段文案(纯文本,换行分段),末尾另起一行输出"字数:N"

设计要点:四段式(亮点—住宿—体验—承诺)对应旅游用户决策漏斗:先建立信任 → 消除住宿疑虑 → 激发向往 → 兜底风险。


4.3 商品详情(富文本图文)

设计意图:详情页内容量大,Prompt 按"模块化小标题 + 要点列表 + 配图占位"生成结构化 HTML,直接写入富文本编辑器。

请为以下旅游商品生成详情页图文内容(HTML 格式)。

【表单上下文】{ctx}

【固定结构(h3 小标题 + ul 要点列表)】
🌟 行程亮点(3 条:核心承诺 / 经典 IP 清单 / {theme}专属节奏,含每日行车时长控制)
🏨 住宿安排(2 条:具体住宿配置 / 提前公布酒店名单等保障性表述)
🍜 舌尖体验(目的地代表性餐食,写具体菜名)
🛡️ 服务保障(2 条:导游与管家服务 / 退款保障)
[配图占位](末尾输出一个占位块,标注建议插入:行程地图 / 实拍酒店 / 餐饮实拍)

【硬性要求】
1. 输出合法 HTML 片段,仅使用 h3 / ul / li / b 标签,不使用 style 与 script
2. 每条要点 ≤ 30 字,使用短句
3. 数字类承诺(行车时长、酒店晚数)必须与 {days} 匹配
4. 配图占位使用 <div class="img-slot"> 格式,与「配图建议」清单一一呼应

【输出格式】HTML 片段,可直接注入富文本编辑器

设计要点:输出限定 HTML 标签白名单,是安全约束(防注入)与渲染兼容的双重要求;配图占位与配图工具联动,形成模块间呼应。


4.4 配图建议(拍摄脚本)

设计意图:不是生成图片,而是生成"拍什么"的脚本清单——商家多数缺的不是图,而是知道哪几张图转化率高。

请为以下旅游商品生成 6 张商品图的拍摄清单(按转化率贡献排序)。

【表单上下文】{ctx}

【固定清单结构】
1. 主图:{目的地}全景横版大图(必须含地标元素)
2. 详情图:酒店实拍·房间内饰
3. 详情图:核心景区打卡机位
4. 详情图:特色餐食实拍
5. 详情图:{theme}互动瞬间抓拍(有人物、有情绪)
6. 详情图:行程地图示意

【硬性要求】
1. 每张标注用途(主图/详情图)与构图建议(≤12 字)
2. 顺序即优先级:商家时间有限时按序补拍
3. 末尾附 1-2 条实拍建议(如"实拍图>精修图,差评更少")

【输出格式】JSON 数组:[{"label": "图片说明", "use": "主图|详情", "tip": "构图建议"}]

结构化输出约定:JSON 数组驱动前端"按清单添加图片",每张带 AI 建议 角标与人工上传图区分。


4.5 行程编辑(逐日规划)

设计意图:行程是旅游商品差异化核心,也是商家最费时的模块。Prompt 强制逐日结构化输出,且嵌入"节奏控制"规则。

请为以下旅游商品生成 {days} 的逐日行程。

【表单上下文】{ctx}

【行程设计规则】
1. D1 与最后一天只做接驳(接站/送站/自由活动),不安排紧张行程——降低差评率
2. 中段每日行车 ≤ 3.5 小时({theme} 人群节奏),"不赶路不早起"
3. 每日 title 格式:"核心地点 → 核心地点"或"主题·补充说明",≤ 15 字
4. 每日 desc 40-80 字:上午/下午/晚间节奏,含 1 个记忆点(看日落/歌舞表演等)
5. 行程路线需符合该目的地的真实地理动线(如云南:昆明→石林→楚雄→大理→丽江)

【输出格式】JSON 数组,长度必须等于天数:
[{"title": "当日主题", "desc": "当日安排描述"}]

设计要点:

  • 天数硬约束:长度必须等于天数 写进 Prompt,配合前端校验(Demo 中 .slice(0, parseInt(ctx.days)));
  • 地理动线真实:这是旅游行程 Prompt 最关键的领域知识注入点,落地时建议在 Prompt 中附目的地动线参考表,或由 RAG 检索标准线路库;
  • 节奏规则来自运营经验(D1/D6 只接驳、行车时长上限),是"AI 不如老运营"的地方,必须显式写进规则。

4.6 价格库存(团期与定价)

设计意图:定价是最敏感的决策,AI 不替商家拍板,而是给"市场参考区间 + 推荐定价 + 策略解释",决策权留给商家。

请基于近 30 天市场成交数据,为以下旅游商品生成团期排期与定价建议。

【表单上下文】{ctx}

【生成规则】
1. 生成 5 个团期:2 个近期平季团 + 2 个节假日档期(如国庆)+ 1 个节后团
2. 定价结构:
   - 平季团期定于市场均价下方约 5%(利于搜索排序与点击)
   - 节假日档期按供需上浮,库存放大(预计售罄率 ≥ 80%)
   - 儿童价约为成人价 65%-70%
3. 每个团期含:出发日期 / 成人价 / 儿童价 / 库存(5-25 区间)
4. 输出前先给 3 行定价依据:市场区间 / 推荐定价及理由 / 促销策略(如"首月立减 ¥300 冲新品榜")

【重要声明】市场数据为估算参考,请以平台实际成交数据校准。库存低于 6 的团期给出补库存建议。

【输出格式】JSON:{"analysis": ["市场区间…","推荐定价…","策略…"], "rows": [{"date":"YYYY-MM-DD","adult":N,"child":N,"stock":N}]}

设计要点:

  • 免责前置:明确"估算参考",避免商家把 AI 估算当成交数据(法律与信任双风险);
  • 策略可解释:不只给数字,给"为什么低于均价 5%",让商家可判断采纳度;
  • Demo 中库存 <6 自动标橙(stock-low),是结构化输出 + 前端校验的联动体现。

4.7 SEO 关键词

设计意图:让商品被搜到。关键词组合逻辑固定:目的地词 × 天数词 × 类型词 × 人群词 × 意图词。

请为以下旅游商品提取 6 个搜索关键词,按预估搜索热度降序排列。

【表单上下文】{ctx}

【关键词组合公式(按热度降序)】
1. {目的地}+旅游(目的地大词,热度最高)
2. {目的地}+{天数}(精准需求词)
3. {类型}(品类词)
4. {人群}+旅游(人群词)
5. {目的地}+纯玩无购物(意图词,高转化)
6. {目的地}+自由行攻略(攻略词,长尾引流)

【硬性要求】每个词附月均搜索指数(估算值),关键词自然融入标题与详细介绍,不堆砌。

【输出格式】JSON:[{"kw": "关键词", "heat": 指数}]

4.8 合规检查

设计意图:这是唯一"非生成"型工具——输入是已填表单,输出是风险扫描报告。Prompt 采用规则清单模式,输出固定三态。

请对以下商品信息进行「广告法 + 平台规则」双重合规扫描。

【待检内容】
标题:{title}
详细介绍:{intro}
商品详情:{detail}
图片说明:{images}

【扫描规则清单】
1. 广告法极限词:「最」「第一」「唯一」「国家级」「顶级」「极品」等 → ❌ 必须修改
2. 资质类表述:「金牌」「5A」「官方认证」等 → ⚠️ 需补充资质证明材料方可使用
3. 承诺类表述:「全额退款」「赔付」「保证」等 → ⚠️ 需与平台退改政策页一致,不得自行加码
4. 平台规范:主图尺寸(≥800×600)、文字遮挡、虚假宣传风险 → ℹ️ 提示项

【输出格式】逐条输出,每条三态之一:
✅ 通过:{模块}:{说明}
⚠️ 建议:{模块}:{问题描述} → {修改建议}
ℹ️ 提示:{说明}
最后输出汇总:极限词风险数 / 待补充项数 / 审核通过率预估

设计要点:三态分级(必须改 / 建议改 / 知悉)比"全红警告"更可执行;极限词清单在落地时应做成前置词表 + 正则快筛 + LLM 复核双层,正则拦截确定性风险,LLM 处理语义风险(如变体写法)。


五、一键发品 · 编排 Prompt(Pipeline)

5.1 编排设计

一键发品不是一个大 Prompt,而是 6 个工具 Prompt 的顺序编排:

[配置收集] → 用户选 4 项(目的地/天数/类型/人群)
      ↓
[上下文同步] → 写回左侧表单,统一 ctx
      ↓
[串行生成] 标题 → 介绍 → 详情 → 配图 → 行程 → 价格库存
   · 每步复用对应工具的 Prompt + 共享 ctx
   · 前序产物作为后续输入(如行程结果注入详情/配图的上下文)
      ↓
[静默填入] silentBatch 模式:逐模块写入表单,不逐条打扰
      ↓
[偏好沉淀] 记录本次选择,更新成长等级

5.2 编排系统 Prompt(增量)

在一键发品模式下,System Prompt 追加一段:

当前为「一键发品」批量模式。请按以下规则执行:
1. 按顺序完成 6 个模块生成,每个模块遵循各自工具的格式约定
2. 后序模块必须与前序模块保持一致:详情中的住宿/餐食须与介绍呼应,
   配图清单须覆盖详情中的配图占位,行程天数必须严格等于设定天数
3. 各模块间不自相矛盾(如介绍写"海景房",详情不能写"普通标间")
4. 生成完成后输出一段 ≤ 80 字的总结,说明各模块已就绪与待商家确认的重点

设计要点:跨模块一致性是编排模式的核心增量——单工具各自生成容易出现"介绍承诺 A、详情写 B"的矛盾,必须在编排层显式约束。


六、自由对话 · 意图路由 Prompt

用户在对话框自由输入时,先做意图分类,再路由到对应工具。

6.1 Demo 实现(关键词路由)

const canned = [
  { k: ['标题', '名字'],  f: () => quickAction('title') },
  { k: ['介绍', '卖点'],  f: () => quickAction('intro') },
  { k: ['图', '配图', '拍摄'], f: () => quickAction('image') },
  { k: ['行程', '规划', '路线'], f: () => quickAction('itinerary') },
  { k: ['价', '定价', '库存', '团期', '多少钱'], f: () => quickAction('price') },
  // ...
];

6.2 落地版意图路由 Prompt

用户在商品发布页的 AI 助手中输入了一句话,请判断意图并路由。

【可选意图】
title / intro / detail / image / itinerary / price / seo / check(对应 8 个工具)
chat_smalltalk(闲聊或与发品无关)
chat_guidance(询问"怎么发品/怎么用助手"等操作指引)

【用户输入】"{text}"
【当前表单上下文】{ctx}

【输出格式】仅输出 JSON:{"intent": "意图标识", "args": {"抽取出的参数": "值"}}
例:输入"帮我生成亲子三亚自由行的标题和配图"
→ {"intent": "title", "args": {"theme": "亲子家庭", "dest": "海南(三亚)", "type": "自由行", "extra": ["image"]}}

注意:参数抽取结果需回写表单上下文后再调用工具;多个意图时按 extra 依次执行。

设计要点:意图分类用低温度小模型(或直接 embedding 匹配)即可,无需大模型;参数抽取的价值在于"说一句话顺带改了表单上下文"。


七、偏好学习与个性化(越用越好用)

7.1 三层个性化注入

这是"越用越好用"的核心 Prompt 机制——同一工具的 Prompt 根据使用历史分三档注入:

成长等级 触发条件 注入的个性化 Prompt
Lv.1 通用模板 0-2 次 无个性化,使用标准工具 Prompt
Lv.2 风格匹配 3-9 次 【商家风格偏好】该商家惯用"{styleWord}"话术,生成内容贴合其历史风格
Lv.3 爆款复刻 10+ 次 【历史爆款参考】该商家历史爆款商品结构:{结构摘要},定价策略:{策略},请优先复用该结构

7.2 偏好沉淀 Prompt(发品完成后触发)

请从本次发品记录中提炼可复用的商家偏好,供下次生成注入。

【本次记录】
商品配置:{dest}·{days}·{type}·{theme}
生成内容摘要:{各模块生成结果的摘要}
商家采纳行为:{是否直接采纳/换过几版/手动改了哪些字段}

【提炼规则】
1. 输出 3-5 条偏好,每条 ≤ 20 字,格式:"维度:偏好描述"
2. 维度限定:路线偏好 / 人群文案风格 / 话术偏好 / 定价策略 / 促销习惯
3. 只提炼有复用价值的信息,不复述本次内容本身
4. 商家手动修改过的字段权重最高(这是最强的偏好信号)

【输出格式】JSON 数组:["维度:偏好描述", ...]

7.3 设计要点

  • 偏好信号优先级:手动修改 > 换版次数 > 直接采纳——商家改了什么,比 AI 生成了什么更能代表真实偏好;
  • 偏好可解释、可管理:落地时偏好清单应对商家可见可删(Demo 完成页展示"本次沉淀 N 条偏好"),避免"AI 悄悄记我东西"的负感;
  • Prompt 层面实现:偏好注入就是一段附加上下文,不改工具 Prompt 本体,随时可回退到 Lv.1。

八、通用工程建议(落地参数)

事项 建议
模型温度 标题/介绍 0.8(求创意);行程/价格 0.3(求准确);合规检查 0.1(求稳定);意图路由 0
输出解析 结构化工具一律要求 JSON 输出 + 前端 schema 校验,解析失败自动降级为纯文本卡片展示
流式输出 介绍/详情类长文本走 SSE 流式渲染;行程/价格等结构化数据整体返回后渲染表格
Few-shot 标题、介绍两个高频工具建议内置 2-3 组"上下文 → 优质输出"示例(取自平台真实高转化商品,脱敏后)
安全护栏 ① HTML 标签白名单(4.3)② 极限词正则前置快筛(4.8)③ 行程地理动线校验(4.5,可用目的地-景点映射表校验)
缓存策略 同一 ctx 下的生成结果可短缓存(10 分钟),"换一版"强制绕过缓存
成本控制 8 个工具按需调用;一键发品 6 连发时前序产物注入后序(如行程喂给配图),减少重复生成
免责声明 价格类输出必须带"估算参考"声明;对话底部常驻"内容由 AI 生成,请核对后发布"

九、Prompt 资产清单(速查)

工具 Prompt 类型 输出格式 温度 个性化注入
商品标题 生成(3 方案) 数组 + 依据 0.8 ✅ Lv.2+
详细介绍 生成(四段式) 纯文本 4 段 0.8 ✅ Lv.2+
商品详情 生成(结构化) HTML 片段 0.6 ✅ Lv.2+
配图建议 生成(清单) JSON 数组 0.7 ✅ Lv.2+
行程编辑 生成(逐日) JSON 数组 0.3 ✅ Lv.3
价格库存 分析 + 生成 JSON(分析+行) 0.3 ✅ Lv.3
SEO 关键词 生成(组合公式) JSON 数组 0.5 —
合规检查 规则扫描 三态报告 0.1 —
一键发品 编排(6 步串行) 各工具格式 各自 ✅ 全档
意图路由 分类 + 抽取 JSON 0 —
偏好沉淀 提炼 JSON 数组 0.2 —

本文档随 Demo 演进持续更新。对接真实 LLM 时,建议将各工具 Prompt 模板化存入配置中心,与前端代码解耦,便于单独调优与 A/B 测试。