init: 旅行商品发布AI助手Demo
- 单文件交互式Demo:六大表单模块 + 右侧AI助手面板 - 一键发品(弹窗式)与对话式自主发品(Agent模式) - 多工具串行调度 + 逐工具确认(human-in-the-loop) - 偏好学习机制(localStorage,越用越好用) - Prompt提示词设计文档与项目方法论笔记
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# 编辑器
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
|
||||
# 临时/备份文件
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
|
||||
# 本地服务
|
||||
node_modules/
|
||||
@@ -0,0 +1,25 @@
|
||||
第二阶段 · AI 的角色(AI 到底改变了什么)
|
||||
4. AI 价值 — AI 创造了什么新价值、带来了什么新问题?如果没有 AI 这个问题是否成立?你的方法、流程、工具是什么?
|
||||
|
||||
AI 创造的新价值:
|
||||
1) AI 文案整理,之前收集到的问卷、归纳总结我自己人工来干,每个月耗时一天,全程online,现在30分钟,可以离线并行。
|
||||
2)2024、5,AI Copilot && AI 工具提效,引入行程设计、标题、商品详情优化、知识库答疑,需要和当前系统进行交互;
|
||||
3)2026,AI Agent && 商家使用习惯库,Agent 自主规划调用工具,现有系统改造升级收集行为习惯,带来新的产品交互形式(贴合AI、无侵入当前系统)
|
||||
|
||||
我的方法、流程、工具:
|
||||
1)问卷清洗 skills, 在skills中调用MCP工具,从NPS收集系统中抓取问卷数据,产出可被产品参考的需求文档。
|
||||
2)AI Copilot,分治式抽象沉淀单个工具(标题优化、商详优化、图片优化...),借助范式(COT、ReAct、CALM)设计 Copilot 原生。
|
||||
3) AI Agent,类Claude 式,自主调度工具设计,多工具循环调用。
|
||||
|
||||
5. AI 边界 — 依赖什么数据和知识?需要接入哪些系统、什么权限必须隔离?AI 在哪里需要人工复核或兜底?
|
||||
1)答疑工具,依赖客服和行业运营数据,发品工具,依赖当前系统的用户数据和平台规则数据
|
||||
2)接入系统,首页、商品发布、订单管理。权限隔离包括用户级私有数据权限隔离。AI 在用户提问、问题意图澄清时需要人工复核
|
||||
|
||||
第三阶段 · 验证证据(光说"能跑"不够,要业务证据)
|
||||
6. 案例呈现 — 一个真实的落地案例,可以录一段 Demo 操作视频辅助说明
|
||||
7. 价值验证 — 时效(关键周期缩短了多少)、人效(单位产出/质量/返工变化)、成效(收入/成本/客户/风险的变化,且证明是 AI 造成的)
|
||||
|
||||
第四阶段 · 复盘与推广(从"一个案例"到"可复制的能力")
|
||||
8. 经验总结 — 踩过什么坑、做对了什么、还需迭代什么?下一轮最值得验证的方向是什么?
|
||||
9. 组织落地 — 谁是业务 Owner?复制需要哪些前提(流程/数据/角色/系统)?以什么阈值决定 Go 或 No-Go?
|
||||
|
||||
@@ -0,0 +1,475 @@
|
||||
# 旅行商品发布 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)
|
||||
|
||||
所有工具共享一个系统级角色设定,作为每次请求的第一段:
|
||||
|
||||
```text
|
||||
你是「旅智小助」,一个旅行电商平台商家后台的商品发布 AI 助手,专注于帮商家高效撰写和优化旅游商品信息。
|
||||
|
||||
【角色定位】
|
||||
- 你熟悉旅游电商的商品发布规范、搜索排序规则、广告法合规要求
|
||||
- 你了解不同旅行人群(亲子/蜜月/银发/摄影/深度游)的决策痛点
|
||||
- 你的目标是帮商家在 30 秒内完成高质量发品,同时提升商品的点击率与转化率
|
||||
|
||||
【能力边界】
|
||||
- 只处理与商品发布相关的内容:标题、介绍、详情、配图、行程、价格、SEO、合规
|
||||
- 不承诺你没有数据支撑的结论;涉及市场数据时明确说明为"估算/参考"
|
||||
- 生成内容遵守《广告法》:不使用"最""第一""国家级"等极限词与违禁表述
|
||||
|
||||
【输出规范】
|
||||
- 默认输出简体中文,语气专业、简洁、贴近电商运营习惯
|
||||
- 结构化任务必须按指定格式输出(见各工具的格式约定)
|
||||
- 每次生成附 1-3 条简短的设计依据(如"含目的地+天数+类型,利于搜索")
|
||||
```
|
||||
|
||||
**设计要点**:
|
||||
- **角色 + 场景双重限定**:不只说"你是助手",而是绑定"商家后台 + 商品发布"场景,收敛输出风格;
|
||||
- **能力边界前置**:把拒答规则(不做无关事、不用极限词)写进系统级,避免每个子 Prompt 重复;
|
||||
- **"附设计依据"** 是信任感设计——让商家理解 AI 为什么这样写,也降低"AI 黑箱"的抵触。
|
||||
|
||||
---
|
||||
|
||||
## 三、上下文注入设计(Context Injection)
|
||||
|
||||
### 3.1 上下文变量定义
|
||||
|
||||
每次调用工具前,前端从表单读取并组装以下上下文:
|
||||
|
||||
```json
|
||||
{
|
||||
"dest": "云南(昆明/大理/丽江)", // 目的地
|
||||
"days": "6天5晚", // 行程天数
|
||||
"type": "跟团游", // 商品类型
|
||||
"theme": "亲子家庭", // 适合人群标签
|
||||
"title": "", // 已填写的标题(如有)
|
||||
"history": { // 偏好学习沉淀(见第七章)
|
||||
"count": 3,
|
||||
"styleWord": "亲子家庭友好·您的惯用话术",
|
||||
"prefs": ["云南路线偏好:6天5晚跟团游", "纯玩无购物话术偏好", "平季低于市场5%定价策略"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3.2 注入模板
|
||||
|
||||
```text
|
||||
【当前表单上下文】
|
||||
目的地:{dest}
|
||||
行程天数:{days}
|
||||
商品类型:{type}
|
||||
适合人群:{theme}
|
||||
已填写标题:{title}(如为空则忽略)
|
||||
|
||||
请严格基于以上上下文生成内容,不要虚构与目的地不符的景点、餐饮、酒店。
|
||||
```
|
||||
|
||||
**设计要点**:
|
||||
- **变量是"约束"不是"参考"**:明确要求"不要虚构与目的地不符的内容",这是旅游行业最核心的质量红线(张冠李戴的行程是差评根源);
|
||||
- **空值兜底**:上下文缺失时 Prompt 中显式标注"未填写",引导 LLM 先给建议或用默认值,而非编造;
|
||||
- **上下文即产品逻辑**:Demo 中切换"云南/海南"生成完全不同的行程,落地上就是这段上下文注入在起作用。
|
||||
|
||||
---
|
||||
|
||||
## 四、八大工具 Prompt 详解
|
||||
|
||||
### 4.1 商品标题生成
|
||||
|
||||
**设计意图**:标题是搜索排序与点击率的第一要素,一次给 3 个差异化方案供选择,而非一个"标准答案"。
|
||||
|
||||
```text
|
||||
请为以下旅游商品生成 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 字内打消用户决策疑虑。采用固定四段式框架。
|
||||
|
||||
```text
|
||||
请为以下旅游商品生成列表页"详细介绍",围绕 {theme} 人群的决策痛点撰写。
|
||||
|
||||
【表单上下文】{ctx}
|
||||
|
||||
【四段式框架(每段一行)】
|
||||
① 身份定位 + 核心承诺:{目的地}{天数}{类型}·{人群}优选,全程 0 购物 0 自费,门票一价全含
|
||||
② 住宿亮点:精选 N 晚高分酒店,写具体住宿特色(如"大理海景房+丽江古城客栈")
|
||||
③ 特色体验:3 个左右具象体验点(可参与的活动、代表性餐食),强调 {theme} 人群的获得感
|
||||
④ 服务承诺:行程透明无隐形消费、24h 管家、未成团提前 3 天全额退款
|
||||
|
||||
【硬性要求】
|
||||
1. 总字数 150-300 字(列表页最佳展示长度)
|
||||
2. 每段以换行分隔,不加序号
|
||||
3. 退款/赔付等承诺必须与平台标准政策一致,不得加码
|
||||
4. 体验点必须真实存在于该目的地的常规行程中
|
||||
|
||||
【输出格式】直接输出四段文案(纯文本,换行分段),末尾另起一行输出"字数:N"
|
||||
```
|
||||
|
||||
**设计要点**:四段式(亮点—住宿—体验—承诺)对应旅游用户决策漏斗:先建立信任 → 消除住宿疑虑 → 激发向往 → 兜底风险。
|
||||
|
||||
---
|
||||
|
||||
### 4.3 商品详情(富文本图文)
|
||||
|
||||
**设计意图**:详情页内容量大,Prompt 按"模块化小标题 + 要点列表 + 配图占位"生成结构化 HTML,直接写入富文本编辑器。
|
||||
|
||||
```text
|
||||
请为以下旅游商品生成详情页图文内容(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 配图建议(拍摄脚本)
|
||||
|
||||
**设计意图**:不是生成图片,而是生成"拍什么"的脚本清单——商家多数缺的不是图,而是知道哪几张图转化率高。
|
||||
|
||||
```text
|
||||
请为以下旅游商品生成 6 张商品图的拍摄清单(按转化率贡献排序)。
|
||||
|
||||
【表单上下文】{ctx}
|
||||
|
||||
【固定清单结构】
|
||||
1. 主图:{目的地}全景横版大图(必须含地标元素)
|
||||
2. 详情图:酒店实拍·房间内饰
|
||||
3. 详情图:核心景区打卡机位
|
||||
4. 详情图:特色餐食实拍
|
||||
5. 详情图:{theme}互动瞬间抓拍(有人物、有情绪)
|
||||
6. 详情图:行程地图示意
|
||||
|
||||
【硬性要求】
|
||||
1. 每张标注用途(主图/详情图)与构图建议(≤12 字)
|
||||
2. 顺序即优先级:商家时间有限时按序补拍
|
||||
3. 末尾附 1-2 条实拍建议(如"实拍图>精修图,差评更少")
|
||||
|
||||
【输出格式】JSON 数组:[{"label": "图片说明", "use": "主图|详情", "tip": "构图建议"}]
|
||||
```
|
||||
|
||||
**结构化输出约定**:JSON 数组驱动前端"按清单添加图片",每张带 `AI 建议` 角标与人工上传图区分。
|
||||
|
||||
---
|
||||
|
||||
### 4.5 行程编辑(逐日规划)
|
||||
|
||||
**设计意图**:行程是旅游商品差异化核心,也是商家最费时的模块。Prompt 强制逐日结构化输出,且嵌入"节奏控制"规则。
|
||||
|
||||
```text
|
||||
请为以下旅游商品生成 {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 不替商家拍板,而是给"市场参考区间 + 推荐定价 + 策略解释",决策权留给商家。
|
||||
|
||||
```text
|
||||
请基于近 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 关键词
|
||||
|
||||
**设计意图**:让商品被搜到。关键词组合逻辑固定:目的地词 × 天数词 × 类型词 × 人群词 × 意图词。
|
||||
|
||||
```text
|
||||
请为以下旅游商品提取 6 个搜索关键词,按预估搜索热度降序排列。
|
||||
|
||||
【表单上下文】{ctx}
|
||||
|
||||
【关键词组合公式(按热度降序)】
|
||||
1. {目的地}+旅游(目的地大词,热度最高)
|
||||
2. {目的地}+{天数}(精准需求词)
|
||||
3. {类型}(品类词)
|
||||
4. {人群}+旅游(人群词)
|
||||
5. {目的地}+纯玩无购物(意图词,高转化)
|
||||
6. {目的地}+自由行攻略(攻略词,长尾引流)
|
||||
|
||||
【硬性要求】每个词附月均搜索指数(估算值),关键词自然融入标题与详细介绍,不堆砌。
|
||||
|
||||
【输出格式】JSON:[{"kw": "关键词", "heat": 指数}]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4.8 合规检查
|
||||
|
||||
**设计意图**:这是唯一"非生成"型工具——输入是已填表单,输出是风险扫描报告。Prompt 采用规则清单模式,输出固定三态。
|
||||
|
||||
```text
|
||||
请对以下商品信息进行「广告法 + 平台规则」双重合规扫描。
|
||||
|
||||
【待检内容】
|
||||
标题:{title}
|
||||
详细介绍:{intro}
|
||||
商品详情:{detail}
|
||||
图片说明:{images}
|
||||
|
||||
【扫描规则清单】
|
||||
1. 广告法极限词:「最」「第一」「唯一」「国家级」「顶级」「极品」等 → ❌ 必须修改
|
||||
2. 资质类表述:「金牌」「5A」「官方认证」等 → ⚠️ 需补充资质证明材料方可使用
|
||||
3. 承诺类表述:「全额退款」「赔付」「保证」等 → ⚠️ 需与平台退改政策页一致,不得自行加码
|
||||
4. 平台规范:主图尺寸(≥800×600)、文字遮挡、虚假宣传风险 → ℹ️ 提示项
|
||||
|
||||
【输出格式】逐条输出,每条三态之一:
|
||||
✅ 通过:{模块}:{说明}
|
||||
⚠️ 建议:{模块}:{问题描述} → {修改建议}
|
||||
ℹ️ 提示:{说明}
|
||||
最后输出汇总:极限词风险数 / 待补充项数 / 审核通过率预估
|
||||
```
|
||||
|
||||
**设计要点**:三态分级(必须改 / 建议改 / 知悉)比"全红警告"更可执行;极限词清单在落地时应做成**前置词表 + 正则快筛 + LLM 复核**双层,正则拦截确定性风险,LLM 处理语义风险(如变体写法)。
|
||||
|
||||
---
|
||||
|
||||
## 五、一键发品 · 编排 Prompt(Pipeline)
|
||||
|
||||
### 5.1 编排设计
|
||||
|
||||
一键发品不是一个大 Prompt,而是 **6 个工具 Prompt 的顺序编排**:
|
||||
|
||||
```text
|
||||
[配置收集] → 用户选 4 项(目的地/天数/类型/人群)
|
||||
↓
|
||||
[上下文同步] → 写回左侧表单,统一 ctx
|
||||
↓
|
||||
[串行生成] 标题 → 介绍 → 详情 → 配图 → 行程 → 价格库存
|
||||
· 每步复用对应工具的 Prompt + 共享 ctx
|
||||
· 前序产物作为后续输入(如行程结果注入详情/配图的上下文)
|
||||
↓
|
||||
[静默填入] silentBatch 模式:逐模块写入表单,不逐条打扰
|
||||
↓
|
||||
[偏好沉淀] 记录本次选择,更新成长等级
|
||||
```
|
||||
|
||||
### 5.2 编排系统 Prompt(增量)
|
||||
|
||||
在一键发品模式下,System Prompt 追加一段:
|
||||
|
||||
```text
|
||||
当前为「一键发品」批量模式。请按以下规则执行:
|
||||
1. 按顺序完成 6 个模块生成,每个模块遵循各自工具的格式约定
|
||||
2. 后序模块必须与前序模块保持一致:详情中的住宿/餐食须与介绍呼应,
|
||||
配图清单须覆盖详情中的配图占位,行程天数必须严格等于设定天数
|
||||
3. 各模块间不自相矛盾(如介绍写"海景房",详情不能写"普通标间")
|
||||
4. 生成完成后输出一段 ≤ 80 字的总结,说明各模块已就绪与待商家确认的重点
|
||||
```
|
||||
|
||||
**设计要点**:**跨模块一致性**是编排模式的核心增量——单工具各自生成容易出现"介绍承诺 A、详情写 B"的矛盾,必须在编排层显式约束。
|
||||
|
||||
---
|
||||
|
||||
## 六、自由对话 · 意图路由 Prompt
|
||||
|
||||
用户在对话框自由输入时,先做意图分类,再路由到对应工具。
|
||||
|
||||
### 6.1 Demo 实现(关键词路由)
|
||||
|
||||
```js
|
||||
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
|
||||
|
||||
```text
|
||||
用户在商品发布页的 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(发品完成后触发)
|
||||
|
||||
```text
|
||||
请从本次发品记录中提炼可复用的商家偏好,供下次生成注入。
|
||||
|
||||
【本次记录】
|
||||
商品配置:{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 测试。*
|
||||
@@ -0,0 +1,71 @@
|
||||
# 旅行商品发布 AI 助手 Demo
|
||||
|
||||
飞猪商家商品发布平台右侧嵌入的 AI 助手交互式演示。模拟完整的商品发布页(六大模块表单)+ 右侧 AI 助手面板,主打「一键发品」与「越用越好用」的偏好学习机制。
|
||||
|
||||
## 快速开始
|
||||
|
||||
无需构建,直接用浏览器打开:
|
||||
|
||||
```bash
|
||||
open index.html
|
||||
```
|
||||
|
||||
或启动本地静态服务:
|
||||
|
||||
```bash
|
||||
npx serve .
|
||||
```
|
||||
|
||||
## 功能概览
|
||||
|
||||
### 左侧商品发布表单(6 大模块)
|
||||
|
||||
| 模块 | 说明 |
|
||||
|---|---|
|
||||
| 商品标题 | 40 字计数器 + 目的地/天数/类型/人群标签(作为 AI 上下文) |
|
||||
| 详细介绍 | 列表页卖点摘要 |
|
||||
| 商品详情 | 富文本编辑器(工具栏 + 图文混排) |
|
||||
| 商品图片 | 4 列图片网格,主图/详情图角标 |
|
||||
| 行程编辑 | 动态 D1~Dn 天数卡片 |
|
||||
| 价格库存 | 团期表格(日期/成人价/儿童价/库存/在售状态) |
|
||||
|
||||
每个模块标题行右侧有 `✨ AI` 按钮,可直接唤起助手中对应工具(面板收起时自动展开)。
|
||||
|
||||
### 右侧 AI 助手
|
||||
|
||||
- **8 个快捷工具**:生成标题、卖点描述、商品详情、配图建议、行程规划、智能定价、SEO 关键词、合规检查
|
||||
- **一键发品(弹窗式)**:选 4 项配置 → 6 大模块逐步生成 → 偏好沉淀 + 成长等级
|
||||
- **对话式自主发品(Agent 模式)**:一句话下需求(如「帮我发个海南亲子6天自由行」),助手自动规划 8 步任务清单、串行调用工具
|
||||
- **多工具串行调度**:如「帮我优化标题和详情」,自动识别 2+ 模块并依次执行
|
||||
- **逐工具确认(human-in-the-loop)**:串行过程中每个工具生成卡片后展示,支持自动(5s 倒计时)/ 手动两种确认模式,可随时切换、可「换一版」
|
||||
- **上下文感知**:生成内容随表单选择(目的地/天数/人群)联动
|
||||
- **一键回填**:生成卡片「⚡ 一键填入」写入对应模块,自动滚动定位 + 高亮闪烁
|
||||
|
||||
### 偏好学习(越用越好用)
|
||||
|
||||
- 即时记忆:每次发品沉淀偏好(localStorage),下次自动预填配置
|
||||
- 成长等级:Lv.1 通用模板(0-2 次)→ Lv.2 风格匹配(3-9 次)→ Lv.3 爆款复刻(10+ 次)
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
├── index.html # 单文件 Demo(HTML + CSS + JS,零依赖)
|
||||
├── Prompt提示词设计文档.md # 各工具背后的 Prompt 设计规范(可直接落地真实 LLM)
|
||||
└── AI领教营/ # 项目方法论笔记(AI 价值/边界/验证框架)
|
||||
```
|
||||
|
||||
## 设计规范
|
||||
|
||||
- **品牌主色**:`#FF7A1A`(飞猪橙黄),渐变 `#FFA200 → #FF6600`
|
||||
- **语义色**:AI 橙黄 / 用户蓝紫(`#6366f1 → #8b5cf6`),成功绿 / 警示橙不受主题影响
|
||||
|
||||
## 落地指引
|
||||
|
||||
Demo 中的生成逻辑为前端模拟数据(`genData`)。接入真实 LLM 时:
|
||||
|
||||
1. 将助手面板抽成 Vue/React 独立组件
|
||||
2. 按设计文档定义 API 契约(表单上下文 + 生成类型 → 流式返回)
|
||||
3. Agent 编排对应后端 Agent Loop:意图分类 → 参数抽取 → function calling → 结果回填 → 偏好沉淀
|
||||
4. 偏好沉淀对应商家画像服务,喂给 LLM 的个性化 prompt
|
||||
|
||||
详见 `Prompt提示词设计文档.md`。
|
||||
+1611
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user