微信小程序 · 真实可订行程规划 AI 助手 · pre-launch · V2

把一句「我想去哪」
变成能照着订的逐日行程

大模型管行程创意与个性化,确定性代码 + 真实 API 管城市正确、价格合理、能不能订;异源判官真实基线证明每一版都比上一版好——passRate 0.58 → 0.708,逐条真因可溯。

真实可订飞猪机票免 key 实测
0真实基线 passRate 0.708
0护栏回归断言
−48.7%上下文压缩实测
0受控管线步数
「深圳到西安 · 5天 · 2人 · 预算8000」
西安 · 5天行程AI 生成 + 真实富化
D1
深圳→西安 CZ航班¥470 飞猪实时
兵马俑¥120 待核验
钟楼附近酒店¥320 飞猪实时
回民街 · 人均¥60 估算
1

为什么做:问题、人、价值

规划一次出行要在十几个 App 之间横跳——缺一个把「个性化行程 + 真实可订」一次给齐的地方。

解决什么问题 · 为什么是现在

规划一次出行的三连痛点

搜攻略 → 翻矛盾游记 → 拼路线 → 换 App 比机票 → 再换 App 比酒店 → 手算预算 → 反复改。信息分散、不个性化、且没有一个把「行程 + 真实可订入口」一次给齐的地方。

痛点一

信息分散不个性化

攻略给的是「西安三日游」泛泛模板,不结合「5 天、2 人、预算 8000、从深圳出发」该怎么排。

痛点二

生成与可订割裂

通用大模型会编行程但不接真实库存;OTA 有库存、个性化生成刚起步。「生成 + 可订 + 独立比价立场」一体的位置有空间。

痛点三

不知道真不真

行程城市对不对、价格真不真、能不能订——无从判断,不敢照着走。

为什么是现在解决

供给成熟:国产大模型推理成本骤降 + 结构化 JSON 输出稳定 真实数据可达:飞猪 FlyAI 把可订库存做成 MCP/CLI,机票免 key 即真实 诚实定位:OTA 内嵌 AI 已出现,差异退守「独立比价 + 可订性诚实分层」
受众 · 原 workflow · AI 插在哪

三类人,一个共同缺口

占比是假设(无真实用户数据,诚实标注)。

画像占比假设核心诉求哪个功能承接
懒人规划者高(主力)不想做攻略,要一份能照走的行程AI 规划(反问 + 逐日生成)+ 真实数据富化
比价党要最便宜、要能直接订比价聚合台(飞猪实时置顶)+ 真实 bookingUrl
本地深度玩家要附近美食 / 地道体验 / 导航附近美食必吃榜 + 地图 + 导航
AI 最该插「从一句话到逐日行程」这段;不交给 AI 的:真实下单(透传飞猪 bookingUrl)、地理核验(高德)、价格裁决(确定性价表)、最终支付——AI 是「规划与决策辅助」,不是「交易执行」。
服务目标

业务目标 vs 模型目标(两套,别混)

业务目标 · 值不值得做(⚠️ 埋点就位零数据)
  • 北极星:规划完成率(一句话 → 保存行程)
  • 比价点击 → 真实 bookingUrl 转化漏斗
  • 护栏指标:可订性诚实率(估算绝不冒充实时)
模型目标 · 干得好不好(✅ 已可量化)
  • 真实基线 passRate 0.708(17/24)· avgWeighted 4.41
  • 目的地不串味 25/25 · 出发地解析 26/26 · guardrail 243/243
  • ≤3 轮出行程(轮数是护栏不是目标)
关键认知:「可订性诚实」压倒「行程看起来漂亮」——把幻觉航班、估算价当真实可订价的行程,本项目判定为失败。这决定了所有架构选择。
2

为什么是大模型 + 核心分工哲学

大模型扩生成上界,确定性代码 + 真实 API 守正确性下界——不是二选一,是分工。

不可替代性

为什么一定要用大模型,而不是规则 / OTA App

传统方案能做到致命缺口
搜索 / 攻略社区给泛泛攻略❌ 不个性化、不出可执行逐日行程
决策树 / 模板拼行程覆盖热门固定线路❌ 枚举不完口语长尾、状态空间爆炸
OTA App有真实库存能订❌ 个性化生成起步、无独立比价立场
「不可替代」≠「全交给它」:大模型负责理解 + 个性化生成 + 叙事;确定性代码 + 真实 API 负责城市正确 + 价格合理 + 能不能订。

🧠 交给大模型

  • 自然语言理解与泛化
  • 多因素个性化行程推理
  • 主题 / 路线 / 体验叙事生成
+

⚙️ 交给确定性代码 + 真实 API

  • 目的地 / 出发地 / 多城路线(只读用户文本)
  • 价格合理(权威价表 / 上限夹逼 / 去重 / clamp)
  • 能不能订(飞猪真实库存 + 高德 POI 核验)
3

架构:受控行程生成管线

后端 aiChat 是「行程导购台 + 安检流水线」,两头确定性代码把关,中间放模型。

系统流程 · 九步管线

aiChat 受控管线(VERSION = qingdao-price-v22)

模型只在第 ⑤ 步。v11 → v22 的演进:预算档位兑现(v15–18)→ opt-in 限流(v19)→ llmUsage/trace 观测(v20)→ 多城路线(v21)→ 价表增补(v22)。

① 上下文压缩
三段式 · budget 1200 档实测 −48.7%
② 确定性抽取
目的地/出发地/槽位/多城路线 · 只读用户文本
③ 枢轴 + 修订门控
tripPivot / isRevisionRequest
④ 反问门控
至少先反问一轮再生成
⑤ 模型生成
DeepSeek · PLAN_JSON 结构化行程(唯一核心模型调用)
⑥ 归一化护栏
串味检测(多城豁免) + 去重 + 降级 + 价格上限
⑦ POI 核验
高德 amap.poiSearch
⑧ 真实数据富化
飞猪实时 + 错价 clamp + 预算档位兑现
⑨ 质量门禁
canShow / riskLevel + llmUsage/trace 透出
兜底八类,绝不空答;旁路 qualityEval 云函数做线上质量评测(生成 → qwen 异源判官 → 落库),不进用户请求路径
4

真实可订数据接入

和「套壳行程 GPT」的根本区别——行程挂得上真实能订的票。

飞猪 FlyAI · 云函数签名代理

真实库存怎么接进来的

飞猪 FlyAI(官方 MCP/CLI)实时直连官方库存、真实可订、附真实 bookingUrl。HMAC 签名密钥内嵌 CLI,小程序不能直连 → 云函数 execFile 签名代理。

✅ 已实测

机票免 key 即真实

实测真实航班号 / 时刻 / 价格 / 订票链接(CA8341 ¥400 / MU5186 ¥460 / CZ8899 ¥470)。

⚠️ 待 key

火车 / 酒店真实价

FLYAI_API_KEY 时价格打码「5xx」→ parsePrice 返 null → 回退 DB,绝不把打码价喂给用户。

真实排障史:飞猪老报 436,根因 = 云函数 Node16 < CLI 要求 Node≥18(同参本机 Node22 出真实航班)。修复 = fliggyProxyV2(Node18/20)切流 + 401 自动剥 key 重试(配错 key 比不配更糟)。

真实 vs 生成:三级信任分层,跨页整条透传

层级dataSource含义confidence
飞猪实时fliggy_realtime真实可订 + 真 bookingUrl,比价台置顶0.95
精选curatedweb 核实的示例(如高端酒店名录),标「出行前请核实」0.86
生成ai_generated / estimated估算待核验,弱化展示0.58
配套护栏:飞猪回价 > 权威表价 ×2.5 → 弃用且不贴实时徽章(八达岭 40→198 错价 bug)——最高信任层徽章只贴给可信真实价。曾踩「比价页真实变编造」:跳转只传 price 数字丢真实报价 → 修成 provenance 整条透传。
5

确定性护栏 & 真实 bad case 库

243 条回归断言,每条对应真实事故 + 反向哨兵防误伤。

非 LLM 安全机制

模型输出永不被全盘信任

护栏防什么fail-safe
目的地权威 / 串味检测行程城市全错strict 下拒答重生成;省级/多城途经豁免、路线外仍拦
「A 到 B」出发地解析 / 枢轴丢去程大交通腿、换城用旧出发地缺则降级不硬编
多城路线识别(新)「大理加丽江」按数组序张冠李戴、真多城行程被误拒文本序+连接词判据,单城零行为变化
价格权威表 + 上限 + 去重 + clamp幻觉天价 / 免费点收费 / 收费点免费化 / 重复计价 / 飞猪错价表权威、容差夹逼、首位计价
预算档位兑现「30000 豪华」出虚构酒店 146/晚、预算只用 8%curated 真实高端酒店,不注水填满预算
评测集可解析门禁(新)加评测城市漏加城市表 → 护栏反杀正确行程parity[5]:护栏的护栏

评测飞轮驱动的三个闭环 case(现象 → 真因 → 修法 → 线上坐实)

① 兰州/洛阳 1.50 惨案——护栏反噬(§59)

现象expect 兰州/洛阳,整程出成都,四维全 1
真因两城不在城市表 → 默认回退成都 → 串味护栏拿坏种子把正确行程拒掉;质量门只看 POI 真不真照样放行
修法城市表三配套 + parity[5] 门禁(护栏的护栏)
坐实线上复跑:洛阳 1.50 → 5.0 PASS 稳定

② 「大理加丽江」丢丽江——多城建模缺失(§60)

真因抽取按数组序返大理;DeepSeek 的真实 昆明→大理→丽江 行程被串味护栏拒
修法extractMultiCityRoute(文本序+连接词,末城为主)+ 途经豁免 + 路线外反向哨兵
坐实线上复跑:2.60 → 4.75 PASS(两次均过)

③ 青岛收费点被免费化——价表缺口(§62)

真因青岛在城市表但价表零条 → 海底世界/啤酒博物馆 cost:0、崂山泛化 95、太清宫重复计价
修法纯价表 4 条(web 核实)+ 11 条回归含八大关/栈桥反向哨兵
坐实线上复跑:3.55 → 4.05 PASS、高危 0

④ 一条主动自我修正——lucky seed(§63)

发现曾宣布兰州「满分闭环」,verdict 历史实为 pass 5.0 / pass 5.0 / fail 3.55
定性修复确定性地消掉了那类幻觉,但生成非确定性下别的高危按 seed 冒——「满分」是抽样运气
沉淀单跑 verdict 是一次抽样不是期望值;下一步每例 3 采样取多数
共同教训:抽取输入只能是用户文本真实数据过页面边界带 provenance 整条透传护栏的种子数据坏了会反噬,护栏自身必须进评测云端 version ≠ 本地 VERSION = 没部署
6

评测飞轮:数字怎么来的、是不是真的

三层评测 + 真实基线 + 显著性检验——能带口径地说「这版比上版好」。

真实基线 · 异源判官

passRate 0.58 → 0.708(同集 · 同判官 · 同 rubric)

0.58
2026-07-02 首份真实基线(14/24)· avgW 4.07
0.708
2026-07-03 两次刷新后(17/24)· avgW 4.41
95% CI
bootstrap 显著性检验(run-baseline-significance)

24 例评测集在云端真跑(DeepSeek 真实生成),qwen-plus 异源判官打分(故意与生成不同源,消自评偏差),导出自动聚合成基线;每次改动用 bootstrap 95%CI 判「真提升还是噪声」。

POI 真实性 ×0.30

景点是不是真存在

价格真实性 ×0.25

免费=0 · 不重复计价

约束满足 ×0.25

出发地/天数/预算/饮食

路线合理性 ×0.20

同日聚集 · 不折返

verdict 规则:加权≥4.0 且每维≥3 且高危幻觉<2 → pass;高危≥2 强制 fail。判官校准纪律(§47):只改可证明的误判(web 核实),不调阈值、不注水——兰州被判官打回照记 fail。

三层评测结构

① 确定性门禁(无 key 可跑)

guardrail 243/243 · parity[1]–[5] 24/24 · benchmark 30/30 · executable 30/30 · budget-fit 14/14 · adversarial 5/5 · release-readiness 聚合 pass。

② 异源判官(语义层)

qualityEval 旁路云函数:线上生成 → qwen 判官 → 落库 quality_eval_runs,不进用户请求路径

③ 基线工具链

fill-baseline 自动聚合填表 · significance 显著性 · candidate-memory 失败蒸馏(人工 promote 门控,绝不自动改行为)。

主动讲的评测缺口:评测集自建、无 held-out 盲测集(0.58→0.708 严格说是「在这 24 例上变好」,缓解=修法多为补真实事实表);判官单一;单跑 verdict 有方差(lucky seed 实证)。这三条是下一步,不是遮住不说。
7

产品功能原型

33 页 · 5 大 Tab,围绕「AI 规划 → 真实预订 → 本地发现」。

能力网格

从一句话到一趟旅程,全链路功能

AI 对话规划

对话式生成逐日行程,多会话 / 至少反问一轮 / 多城路线。

chat · trip-planning

逐日行程详情

景点/餐饮/酒店/大交通逐时段,标注质量门禁与可订性三级分层。

trip-detail · trip-list

交通预订

机票/火车双程搜索,飞猪实时优先,失败回退本地估算。

transport · ticket

酒店与景点预订

飞猪真实酒店/景点 POI,真实优先 + 本地兜底。

booking

比价聚合台

飞猪实时置顶 + 其它平台「生成待核验」分层。

compare-booking · orders

附近美食

按距离 + 必吃榜按评分,口味/忌口过滤。

nearby-food · food

地图与导航

POI 地图探索 + 点对点导航(高德)。

map · navigate

攻略社区

浏览/发布(⚠️ 当前为 mock 演示,不当留存抓手讲)。

community · article

运营侧工具

AI 质量趋势看板(异源判官历史)/ 记忆隐私 / 发布就绪门禁。

evaluation-dashboard · ai-data-control
8

诚实边界 · 温度差总表

已实测的、机制就位待数据的、还没做的——分三档说,绝不混。

温度差三档 · 2026-07-06 对账版

最重要的一张表

✅ 飞猪机票真实可订(已实测)

免 key 实测真实航班 + 真实 bookingUrl。

✅ 异源判官真实基线(已跑通,V1 期最大短板已清)

24 例云端真跑 + qwen 判官,0.58 → 0.708(avgW 4.07→4.41),三条 badcase 修复线上复跑坐实,显著性检验工具就位。

✅ 确定性护栏 + 回归 + 可观测(已实测)

guardrail 243/243 · 目的地 25/25 · 出发地 26/26 · llmUsage/trace 透出(含缓存命中 token)· opt-in 按用户限流。

⚠️ 火车 / 酒店真实价(待 key)· cache 待优化

缺 FLYAI_API_KEY 打码回退 DB;prompt cache 已可观测但 breakpoint 隔离未做(压缩与缓存互斥待解)。

⚠️ 评测方法论三缺口(主动讲)

无 held-out 盲测集(Goodhart 风险);判官单一(多判官 panel 机制已备未跑);单跑 verdict 有方差(兰州 lucky seed 实证,待每例 3 采样)。

❌ 变现链路三断点(挂账最久的头号待办)

bookingUrl 无 affiliate/pid 无法归因分佣;「复制剪贴板」非直跳飞猪;payment 页 demo 不扣款(UI 需诚实化)。每项 ≤1 天。

❌ 真实用户 / 留存 / 成交(零)

pre-launch;bad case 飞轮由「真实基线」驱动但仍是开发者视角,从未被真实用户转动。埋点已就位,只差发体验版链接。

诚实定性:本项目不是 agentic(无 function calling)、不是向量 RAG。真正硬的是四件套:「确定性护栏 + 飞猪真实可订数据 + 真实基线评测飞轮 + 溯源诚实分层」。把这四件讲扎实、把没做的标清楚,比堆名词更可信。
一句话收尾:会编行程的产品很多,敢让你照着订、还敢带口径证明自己这版比上版好的,很少。