点外卖高手 · PRO 精准版(waimai-crosscheck-pro)
Overview
基础版(waimai-crosscheck)已能在本地用规则引擎交叉验证多平台评价、过滤刷评与幽灵外卖店。
PRO 版在其之上做两件事,让结论建立在真实证据与更强推理上:
- 检索校准(必需增强):用搜索 API(tavily/brave)把「青岛台东 烧烤 外卖 评价/踩坑」等真实资料抓回,将检索片段作为 live 评测注入评分,并扫描食安投诉关键词触发一票否决。
- 强模型推理(可选增强):把门店与评价交给 OpenAI 兼容的更强模型做双模型互校 / 矛盾仲裁,逐店给出置信度与刷评嫌疑。
优雅降级是硬约束:缺少 Key 或外部调用失败时,自动关闭对应增强、回退到本地规则引擎,
并在看板顶部诚实标注「未联网校准 / 未启用强模型」——技能永不卡死,结论始终可参考。
何时使用 / 触发条件
- 用户说「帮我点个不踩坑的外卖」「XX 地方外卖推荐」「夜宵点啥」「一人食性价比」
- 用户明确要求「用 PRO 版 / 联网核验 / 强模型复核 / 更准一点」
- 用户已配置
WAIMAI_PRO_SEARCH_KEY与/或WAIMAI_PRO_LLM_KEY(在.env或环境变量) - 不适用:堂食推荐、非餐饮外卖、无网络且无 Key 时仅基础版结论(仍可用)
理论骨架(按需加载 references/)
references/pro-architecture.md:PRO 闭环架构、降级契约、Key 与数据流向图references/scoring-methodology.md:基础评分模型(5 维加权→一致性→新鲜度→本地人/游客/幽灵店/食安一票否决→Elo)+ 反刷评 7 层过滤references/api-config.md:tavily/brave 与 OpenAI 兼容端点的字段、限制、错误处理
分析工作流(Step 0 → 6)
Step 0 · 解析意图:从用户话语抽取 location(城市+商圈)、cuisine、budget、scenario(一人午饭/夜宵啤酒/周末家聚/带娃出行/通用)、top_n。
Step 1 · 加载本地引擎:调用 scripts/pro/run_pro.py(或 from src import scorer)。引擎从 scripts/waimai-engine/ 读取 YAML 配置与 mock 数据,零硬编码。
Step 2 · 检索校准(pro_calibrate):
- 有 WAIMAI_PRO_SEARCH_KEY → 调搜索 API 抓真实片段,注入门店评测、扫描食安投诉;返回 {"ok": true, "mode":"search", ...}
- 无 Key / 失败 → 返回 {"ok": false, "error": ...} 并以退出码 2 结束(降级契约)
Step 3 · 本地规则评分(scorer):对(可能已增强的)门店跑评分模型,得到结构化结果(含 FakeScore / 一致性 / 食安否决 / 平台背离预警)。
Step 4 · 强模型推理(pro_reason):
- 有 WAIMAI_PRO_LLM_KEY → 把门店评价块交给强模型做双模型互校,附逐店置信度/矛盾;返回 {"ok": true, "mode":"llm", ...}
- 无 Key / 失败 → 返回 {"ok": false, "error": ...} 退出码 2(降级)
Step 5 · 组装输出:基础 Top5 卡片 + PRO 顶部横幅(🛰/🧠 精准模式徽章)+ 诚实降级声明 + 强模型校准说明段。
Step 6 · 防护栏 & 标注:不存位置长期日志、显式标注非实时、食安一票否决理由可见、AI 互校矛盾不强行合并。
输出约定(JSON 同构 / Markdown 卡片)
最终 Markdown 含:
- 顶部:# 🛰️🧠 点外卖高手 · PRO 精准版 · {location} + 精准模式标签 + 诚实降级声明
- TopN 卡片:推荐分(0-10) / FakeScore(A-F) / 一致性(高/中/低) / 双平台原分 / 人均(起送+配送) / 招牌菜 / 本地人评条数 / 食安状态 / 差评共性 / 本地提示 / ⚠️平台背离预警
- 末尾:「为什么没推荐隔壁店」可追溯说明 + 「🧠 AI 强模型校准说明」段(含逐店置信度与矛盾仲裁)
交互语风
直接、有结论、敢说"不推荐"。PRO 版可主动提示:「已联网核验 3 家店,其中 1 家检索命中食安投诉已一票否决」。
few-shot
用户:青岛台东夜宵烧烤,PRO 版帮我核验下
→ 执行 Step0-6;若已配双 Key:横幅显示「🛰️ 检索校准:已启用 | 🧠 强模型推理:已启用」;
若未配 Key:横幅诚实标注「⚪ 未联网校准 / ⚪ 未启用强模型」并回退基础结论。
用户:用强模型复核一下醉美小串是不是刷评
→ 调 pro_reason 对醉美小串做矛盾仲裁,输出置信度与"点评高评 vs 小红书差评"矛盾点。
发布说明 / 降级契约(给审核与用户的诚实声明)
- 本技能需要可选 API Key 才能启用增强;未配置时完全离线、基于本地规则引擎,结论仍可用。
- 检索校准仅走官方搜索 API,不写任何爬虫;强模型推理仅调用用户配置的兼容端点。
- 任何外部调用失败都返回结构化错误并优雅降级,绝不抛异常卡死、绝不谎称"已联网"。
本地验证
cd <skill>/scripts
# 无 Key:优雅降级到基础引擎
python pro/run_pro.py "青岛台东" "烧烤" "30-50" "夜宵啤酒" 3
# 配 Key 后(在 .env 或环境变量):自动启用对应增强
python -m pytest waimai-engine/tests/ -v