14 KiB
地图导航复杂度判断
本文件是 复杂度判断 的专项条件表,父维度是 complex / 复杂度判断。
它只回答一个问题:当前地图导航、POI 搜索、路线偏好相关 query 应该是 complex=false 还是 complex=true。
它不引入新的维度字段,不替代业务标签判断;业务标签仍需要结合地图导航、地图问答、餐饮服务、旅游等标签卡片和边界卡。
维度归属
- 父维度:
complex/ 复杂度判断。 - 输出字段:仍然只输出
complex=false或complex=true。 - 使用位置:读取
复杂度/复杂度判断.md后,如果 query 涉及导航、路线规划、POI 搜索、终点附近、沿途、顺路、路线偏好、单 POI 筛选或多轮路线约束,再读取本文件。 - 不要把“地图导航复杂度判断”当成和 complex、多指令、自动任务并列的新维度。
总体原则
complex=false:用户目标可以由地图、导航或 POI 检索链路直接处理,虽然可能带有简单定语、路线偏好、上下文修正或单个 POI 约束。complex=true:用户要求系统做综合规划、主观筛选、避坑判断、跨信息源验证、复杂比较,或需要先理解隐含知识再定位到可导航 POI。- 单 POI 是强
complex=false信号,但不是绝对信号;如果单 POI 绑定路线选择、复杂筛选、评价推理、外部事实验证或“帮我挑一个最合适”的综合决策,则转为complex=true。 - 多轮导航中的次轮路线限制、沿途/顺路找点、目的地附近找点,通常仍是导航链路内的短链路操作,默认
complex=false。
先区分单轮和多轮
地图导航复杂度判断必须先看当前 query 是否依赖上一轮导航上下文。
- 单轮:当前 query 自己要看里面有没有"主目的地 + 途径/沿途/中间点"的 多 POI 组合。只要出现这种多 POI 组合,默认 complex=true; 如果出现"主目的地 + 路线选择",也默认 complex=true; 如果只是单 POI + 简单筛选 / POI 改口,仍按下面 complex=false 条目判断。
- 多轮:上一轮已经建立了导航路线、目的地或候选 POI,当前 query 只是追加“中间找个充电站”“帮我找一个最顺路的停车场”“我要沿途的顺路的”等约束时,默认
complex=false。 - 多轮里的单独路线选择,例如“不要走高速”“走国道”“别走收费路”,当前轮不能单独作为
complex=true判断依据;如果上一轮导航任务已经是complex=true,则当前轮继承为complex=true,否则默认complex=false。 - 如果输入里没有提供上一轮导航上下文,不要假设它是多轮次轮;应按单轮完整 query 处理。
判断次序
地图导航场景按下面顺序判断,越靠前优先级越高:
- 确认是否有上一轮导航上下文:如果没有上一轮,当前 query 按单轮判断。
- 单轮多步骤优先判断:当前 query 同时出现主目的地和途经点、沿途点、中间点,给
complex=true。 - 单轮目标 + 路线选择优先判断:当前 query 同时出现主目的地和路线选择、路线偏好、避让条件,给
complex=true。 - 多轮继承判断:当前轮只是路线选择或路线偏好时,先看上一轮 complex;上一轮为
complex=true则继承为complex=true,否则默认complex=false。 - 多轮短链路追加判断:上一轮已有导航路线,当前轮只是追加沿途、顺路、中间找点,且上一轮不是
complex=true,给complex=false。 - 单 POI 简单筛选判断:目标是单 POI,只有简单距离、设施、排序、营业状态等条件,给
complex=false。 - 复杂筛选和综合推荐判断:需要评价、避坑、冷门热门、排队、人流、外部事实验证或多候选比较,给
complex=true。 - 改口纠错判断:单 POI 改口、取消、纠错、模糊补全,不因口语混乱升为
complex=true。
如果某条 query 同时命中多个条件,按上述顺序取优先级更高的判断。
complex=false
以下类型默认 complex=false。
1. 导航到终点附近某类地点
用户希望在当前终点、目的地或路线附近找一个明确类型的 POI 并导航过去,属于导航链路内的 POI 搜索。
示例:
- 导航到终点附近最便宜的停车场。
- 导航到目的地附近的充电站。
- 去终点附近的服务区。
判断要点:
- “终点附近 / 目的地附近 / 沿途附近”不自动导致
complex=true。 - 如果只是明确 POI 类型加简单筛选,仍是
complex=false。
2. 单独路线选择或路线偏好
用户没有在当前轮给出主目的地,只是单独要求路线选择、路线偏好或避让条件,默认 complex=false。
示例:
- 给我规划一条不走高速只走国道的路线。
- 我不想走收费路而且别太绕。
- 我想少走隧道尽量走地面路。
- 优先走快速路别进小路。
- 我赶时间尽量走最快路线。
判断要点:
- “规划路线 / 路线偏好”本身不等于
complex=true。 - “不走高速 / 只走国道 / 不走收费路 / 少走隧道 / 走地面路 / 快速路 / 最快路线”等单独路线偏好默认
complex=false。 - 如果当前轮同时出现明确主目的地,例如“导航回家不走高速”,不要套用本条,应按
complex=true的“单轮目标 + 路线选择”判断。
3. 找一个某类地方,目标是单 POI
用户要求找一个地点或一个可去的地方,只要目标是单 POI,且没有复杂综合评价,默认 complex=false。
示例:
- 找一下景区边上能停车又能吃饭的地方。
- 帮我找一个附近能停车的商场。
- 找一个离我最近的洗车店。
判断要点:
- “找一个 xxx 的地方”如果最终目标是一个 POI,默认
complex=false。 - 能停车、能吃饭、附近、最近、最大、最便宜、有停车场等简单约束,不单独触发
complex=true。
4. 多轮导航中的次轮限制条件
上一轮已经处在导航、路线、目的地或 POI 选择上下文中,当前轮只是补充路线限制或偏好时,当前轮本身不单独触发 complex=true。
示例:
- 我不想走收费路而且别太绕。
- 我想少走隧道尽量走地面路。
- 优先走快速路别进小路。
- 我赶时间尽量走最快路线。
判断要点:
- 这类 query 可能没有显式 POI,但依赖上一轮路线上下文。
- 只是在当前导航任务上加约束,不视为新的复杂规划任务。
- 如果上一轮导航任务是
complex=false,当前轮默认complex=false。 - 如果上一轮导航任务是
complex=true,当前轮继承上一轮复杂度,输出complex=true。
5. 单 POI + 简单筛选条件
目标是一个 POI,筛选条件是地图或 POI 检索可直接处理的简单属性,默认 complex=false。
示例:
- 帮我导航去附近最近的星巴克,要有停车场的。
- 帮我找一个现在还开着的洗车店,停车方便的。
- 带我去一个能买到户外运动装备的店,最好品牌多一点的。
- 帮我找一个附近有 ATM 机的商场,选一个最方便的过去。
简单筛选条件包括:
- 距离:附近、最近、顺路、沿途、目的地附近。
- 路线:不走高速、只走国道、少收费、别太绕、最快。
- 设施:有停车场、停车方便、有 ATM、现在开着。
- 基础排序:最大、最近、最便宜、评分高。
判断要点:
- 简单条件可以多个并列;只要不要求复杂综合推理,仍是
complex=false。 - “选一个最方便的过去”如果只是结合距离、停车、路线等直接地图属性,仍可为
complex=false。
6. 单 POI 改口、纠错、模糊表达、取消
用户在导航中改口、纠错、口语重复或取消导航,不需要复杂规划。
示例:
- 导航去春日樱花不是樱花园牡丹园不也不是牡丹园。
- 导航去解放路夜市哎不对呃那个不是不是不是停停停别导航。
- 导航去翡翠城什么什么楼亚朵。
判断要点:
- 改口和模糊不等于复杂。
- 如果最终仍是单 POI 纠错或取消动作,默认
complex=false。
7. 多轮次轮里的沿途、顺路、中间找点
上一轮已经有明确导航路线、目的地或行程上下文,当前轮只追加沿途、顺路、中间找某类 POI,默认 complex=false。
示例:
- 中间找个充电站。
- 帮我找一个最顺路的停车场。
- 跟刚才的道路不重复。
- 我要沿途的顺路的。
判断要点:
- 必须能从前轮上下文确认当前轮是在修改已有路线。
- “沿途 / 顺路 / 中间”是导航链路可直接利用的约束。
- “跟刚才道路不重复”属于路线约束,默认
complex=false。
complex=true
以下类型默认 complex=true。
1. 单 POI 但筛选条件需要复杂综合判断
用户不是简单找一个 POI,而是要求系统综合营业时间、便利性、评价、风险、拥挤程度、冷门程度、出餐速度、名人打卡事实等信息后做推荐。
示例:
- 附近牙科晚上营业的牙科诊所有哪些,给我推荐一个最方便去的。
- 去上海鹿晗打卡过的邮筒,具体在哪儿,你帮我定位到能导航的地方。
- 导航去一家评分很高但比较冷门的小馆子我不想踩雷。
- 导航去一家很受欢迎的面馆最好出餐快别排太久。
- 我想去看展,但不想踩雷,你帮我在附近挑个停车方便、人别太挤的展馆或商场,直接导航过去。
判断要点:
- “有哪些 + 推荐一个”通常需要先召回候选再综合比较,偏
complex=true。 - “不想踩雷 / 冷门但评分高 / 很受欢迎但别排太久 / 人别太挤 / 出餐快”等属于主观质量和实时状态综合判断,偏
complex=true。 - “某人打卡过的地点 / 网络热点地点 / 隐含事实定位”需要外部事实验证后才能导航,偏
complex=true。
2. 多条件跨信息源综合决策
如果 query 同时要求地图属性、评价属性、实时状态、内容理解或外部事实,并要求系统帮用户做最终决策,通常是 complex=true。
判断要点:
- 是否需要先分析候选集合。
- 是否需要比较多个方案。
- 是否需要解释为什么选这个。
- 是否需要外部知识或线上内容验证。
3. 单轮里的终点 + 途经点 / 沿途点 / 中间点
如果当前单轮 query 同时包含主目的地和途经点、沿途点、顺路点或中间点,应该给 complex=true。
这类 query 不是简单“单 POI 导航”,而是在一个导航请求里同时规划目的地和中间停靠点,属于多步骤路线组织。
示例:
- 导航到附近商场中间途径充电站。
- 导航到附近商场,中间经过一个充电站。
- 导航到武汉小米科技园,先去买一杯咖啡。
- 导航到商场,路上顺便找个充电站。
- 去附近商场,先途径充电站。
4. 单轮里的目标 + 路线选择
如果当前单轮 query 同时包含明确主目的地和路线选择、路线偏好或避让条件,应该给 complex=true。
这类 query 不是单独路线偏好,而是把目的地和路线策略绑定在同一个导航请求里,需要按带约束的路线规划处理。
示例:
- 导航回家不走高速。
- 导航到公司只走国道。
- 导航去机场别走收费路。
- 去附近商场尽量走快速路。
- 导航到小米科技园,少走隧道尽量走地面路。
5. 多轮继承上一轮复杂度
如果当前轮只是单独路线选择或路线偏好,但上一轮导航任务已经被判断为 complex=true,当前轮应继承上一轮复杂度,输出 complex=true。
示例:
- 上一轮:导航到附近商场中间途径充电站。
complex=true - 当前轮:不要走高速。
complex=true
判断要点:
- 当前轮的路线选择本身不是
complex=true充分条件。 - 继承
complex=true的前提是上一轮导航任务已经明确是complex=true。
不要误判为 complex=true 的情况
以下表达不要单独作为 complex=true 触发条件:
- 出现“规划路线”。
- 多轮已有导航上下文中,当前轮只出现“终点附近 / 目的地附近 / 沿途 / 顺路 / 中间”,且上一轮不是
complex=true。 - 单独出现路线偏好:不走高速、只走国道、不收费、别太绕、少隧道、走地面路、走快速路、最快。
- 单 POI 带简单定语:最近、最大、最便宜、附近、有停车场、停车方便、现在开着。
- 口语改口、重复、否定、取消导航。
不要误判为 complex=false 的情况
- 单轮 query 同时出现主目的地和"途经/沿途/中间/顺路 + POI", 即使途经点是充电站、加油站、停车场等地图常规 POI, 也不要因为"每个 POI 都简单"就给 false。 参考 complex=true 第 3 条。
- 单轮 query 同时出现主目的地和路线选择,
例如“导航回家不走高速”,不要因为“不走高速”单独出现时是
complex=false就给 false。 参考 complex=true 第 4 条。 - 多轮 query 中,如果上一轮已经是
complex=true, 当前轮只是补充路线选择,也不要降回 false。 参考 complex=true 第 5 条。 - 没有任何前轮导航上下文的情况下,不要把单轮 query 当作多轮次轮处理。
推荐判断模板
complex 判断:
- 推荐:false/true
- 原因:单 POI + 简单筛选 / 单独路线偏好 / 单轮目标加路线选择 / 多轮继承上一轮复杂度 / 多轮沿途找点 / 单轮终点加途经点 / 复杂综合筛选
- 复杂度依据:引用本文件中的具体条目
- 业务标签:另按地图导航、地图问答、餐饮服务等标签判断