Skill 迭代问题审计 · V1 → V12

leisure-flight-advisor 全程测试问题归类

把这个旅行机票 skill 从 v2.6 首轮迭代到 v2.8.2(对应 hub v7)期间,所有测试轮次里暴露的缺陷,按 数据质量 / Agent 运行质量 / 沟通与推荐质量 三类归档、逐条计次。

证据源 CHANGELOG v2.6→v2.8.2 · 8 份独立审核报告 · tool-gaps · 三轮早期反馈 · Langfuse 线上 trace 统计口径 一个底层问题只计一次(CHANGELOG 与 review 报告重叠的合并)
21
独立问题条目
跨 12 个测试轮次
4
数据质量
全部工具侧 · 未修
6
Agent 运行质量
6 agent侧 · 已全修
11
沟通与推荐质量
最大宗 · 已全修
怎么读这份表:每一类下面是「问题 × 出现在哪一轮 × 判定归属 × 现状」。数据质量四条全是 工具侧 ——工具数据源本身的缺口,skill 改不了,已单独记 tool-gaps 提工具团队;Agent 运行沟通推荐 两类是 skill 能约束的,均已在对应版本修复并经双隔离验证。严重度:会导致用户扑空/被误导 影响体验/信任 措辞/口语松动。
A · DATA

数据质量

4 条 · 全工具侧

工具返回的结果本身有问题:不是用户实际能买到的最低价、数据源缺某一路、或返回自身矛盾。这四条都判定为工具侧、非 agent 的锅——skill 层面无法修复,能做的只是让 agent 在呈现时提醒用户去渠道再搜、并且绝不暴露数据源机制。已全部记入 v9-data/tool-gaps.md 待提工具团队。

问题暴露于判定现状
缺"渠道往返撮合促销价"这一路 只给「整体往返组合价」和「拆两张单程相加」,缺用户真正会买的第三种,导致转发的价偏高(巴塞:组合 ¥23268/2人,携程实价仅 ¥22086) V7 巴厘岛
V9 巴塞
工具侧 未修·记档
整体往返组合价系统性偏高于渠道实价 Google Flights 源,跨境一端在中国时尤其明显(巴塞贵约 ¥1200/2人) V9 巴塞 工具侧 未修·记档
GF 报价不带"哪家渠道报的" 第一层结果的 booking_options 未透传,agent 只能含糊说"去常用渠道再搜" V7 / V9 工具侧 未修·记档
札幌 CTS/SPK 上游 SerpAPI 被墙 四种码全返回 400(冲绳/福冈/东京/大阪正常) V5 札幌 工具侧 未修·记档
B · RUNTIME

Agent 运行质量

6 条 · 全 agent 侧 · 已全修

搜索范围不合理、不按 skill 约束搜、不读全工具返回或只挑着看、自以为是、编造数字(幻觉)、张冠李戴、读数口径错。这是最危险的一类——用户和跑 case 的 agent 自己都发现不了,全靠不加载 skill 的独立审核 agent 拿原始返回逐条反查才逮出来。每一条都对应了一条新增的原则或反模式。

问题暴露于判定修于
不读全工具返回的分段,下了排他性错误结论 主档说"直飞只有东航 ¥6090",漏了末尾"拆单程"栏里更便宜的吉祥双程直飞(携程实价 ¥5848) V7 巴厘岛 agent侧 v2.7.5
单/双人价口径混淆 同一档主价标"2人合计"、旁边拆单程价标"单人",agent 原样并排转发不统一口径 V7 巴厘岛 agent侧 v2.7.5
日期张冠李戴(隐蔽幻觉) 主动多查了弹性窗(2/18-2/28)的更优票 EK309 ¥9496,却贴着用户请求日"2/20走"的标签呈现——那天根本没配成这个往返组合,照此下单会扑空 V9 巴塞 agent侧 v2.7.7
为圆结论临时编对比数(幻觉+自我打架) 为论证"退一步也没省到",编了个 raw 里不存在的"中转约¥4500起",还和自己第1轮给的真实中转价 ¥2957 自相矛盾 V10 大阪 agent侧 v2.8.1
单程起手扫日期、不会整体查往返 用户明确要往返,agent 都单程起手(土耳其查9次、尼斯查9次),跨境往返打包本可一次省 18-57% 线上土耳其
线上尼斯
agent侧 v2.6.0
把工具没返回的字段当已知事实说 编"含行李直挂",行李直挂/退改签/落地签数据源里都没有 线上尼斯
V8 巴厘岛
agent侧 v2.6.0
C · COMMS

沟通与推荐质量

11 条 · 已全修

跟用户沟通的方式、推荐逻辑、呈现节奏的问题:一次性摊满不探偏好、擅自替用户定价值排序、视觉与文字推荐打架、堆砌废话、该问不问或不该问乱问。条数最多,是这个 skill 迭代的主战场——因为它的核心差异化正是"像家庭医生慢慢问"的交互哲学,而 AI 的默认冲动恰恰是"查到就一次性倒完 + 替用户拍板"。

问题暴露于修于
擅自替用户定"省时间>省钱"的价值排序 嘴上给4选项,却用星标+"我的建议"+劝退措辞把最便宜档写成"得有心理准备",实际替用户拍了板 线上土耳其v2.7.0
视觉强调和文字推荐打架 星标标香港 ¥8220、正文"我的建议"却推广州 ¥7963,用户不知到底推哪个 线上土耳其v2.7.0
第1轮就摊完整方案集、跳过探偏好 用户刚说事实还没表达偏好,agent 立刻甩四日期对比表+强推+坑提示——"渐进收敛"在线上基本没发生 线上马代
线上里斯本
v2.8.2
人数表述有歧义就自己假设 "带父母两个人"按2人算,到用户反问才纠正 线上马代v2.8.2
无直飞的线没主动说破 里斯本、乌鲁木齐用户都反复追问"没有直飞吗" 线上里斯本
线上乌鲁木齐
v2.8.2
红眼被预设成"不好、要避开" 原则4 原写"红眼便宜但到了没精力玩"——省钱还是省精力本该是用户偏好,不该 agent 默认反对 线上多casev2.8.2
收敛/拍板轮只给一个推荐档 冰岛 case 快拍板那两轮只给孤零零一个"最优",用户没安全感 V8 冰岛v2.7.6
范围感只给"出发地+一个价"、看不出真查了 缺航司/航班号/起降时段,可信度不足 V8 冰岛v2.7.6
选项少时堆大段文字逐维度阐述 克罗地亚只有2套餐却铺三段建议,用户还得把每段对回到套餐上,脑力成本高 V5 克罗地亚v2.7.3
结尾堆"下单须知"废话 + 话术模板腔 "以官网为准/行李额确认/我不能帮你订";还把 skill 措辞"一句话点破"当模板照抄成小标题 V5 三case
V6
v2.7.3–4
日期不明确却默默固定 + 该问不问/不该问乱问 尼斯用户没给具体日只说"下周",默默锁7/10还不解释;给了弹性窗口却只查一对日期回头问"能不能挪" 线上尼斯
V3
v2.7.0–2

另有若干 级措辞松动("近一倍"实为2.6倍、档位标签名不准、转机时长没主动标等)零散见于各 review 报告的 NIT,多为口语化非误导,随对应版本一并收口,未单列计数。

修复时间线 · 哪一版收了哪一类

v2.6.0
运行往返整体查起手 · 呈现层加"翻译" · 工具没返回的别当已知说
v2.7.0
沟通先建认知探偏好别替用户拍板 · 视觉与文字推荐必须一致 · 别用措辞偷偷排序
v2.7.2
沟通日期弹性主动查别当问题问 · 别堆无效提醒
v2.7.3
沟通呈现克制总纲 · 多给选项用表格别铺文字 · 反模式「堆下单须知」
v2.7.4
沟通去话术模板腔 · 微差异不当选项列
v2.7.5
运行读全返回分段别漏末尾 · 单双人价口径统一 + 引入双隔离验证流程
v2.7.6
沟通收敛轮别只给一个 · 范围感带航司航班号
v2.7.7
运行日期别张冠李戴 沟通往返组合价提醒去渠道搜、不暴露源
v2.8.0
沟通机票按单人价给体感 · 结构去重归位
v2.8.1
运行反模式「为圆结论编对比数、别自我打架」
v2.8.2
沟通头两轮别摊方案 · 人数歧义必问 · 无直飞前置 · 红眼不预设 ← hub v7 现役
数据工具侧·未修 运行agent侧·已修 沟通推荐侧·已修