slow-travel-planner

star 91

使用高德地图工具和可选的旅游内容源规划差异化慢旅游路线。用于用户请求城市旅行规划、路线推荐、poi 推荐、周边餐饮休息点、地图可视化、旅游产品行程生成时;规划目标必须顺路、低折返、少人挤人、少网红打卡堆叠,突出本地生活感、慢节奏、可休息、可替换的差异化体验。

Sea-Go By Sea-Go schedule Updated 5/5/2026

name: slow-travel-planner description: 使用高德地图工具和可选的旅游内容源规划差异化慢旅游路线。用于用户请求城市旅行规划、路线推荐、poi 推荐、周边餐饮休息点、地图可视化、旅游产品行程生成时;规划目标必须顺路、低折返、少人挤人、少网红打卡堆叠,突出本地生活感、慢节奏、可休息、可替换的差异化体验。

慢旅游路线规划器

概述

使用本 Skill 规划差异化慢旅游行程。目标不是把热门景点塞满,而是生成顺路、松弛、有本地质感、低人流压力、换乘少、留有休息和备选空间的路线。

将高德地图工具视为“地理事实层”:用于确认地点身份、坐标、周边 POI、距离、路线、行政区和静态地图。将知乎等内容源视为“体验灵感层”:用于提取攻略、博主建议、避坑、人流感受、隐藏体验、适合人群和主观评价。

不可违背的规划原则

  1. 顺路优先于知名度。不要因为某个 POI 热门,就把它硬塞进不顺路的路线。
  2. 慢旅游优先于打卡清单。全天行程通常安排 2-4 个主停留点,再补充餐饮、咖啡、散步、休息和可选补点。
  3. 差异化优先于大众热门。优先考虑本地街区、市场、公园、河岸、书店、展馆、茶馆、小店、社区街巷等有生活感的地点。
  4. 不要过度推荐明显拥挤、商业化、网红化的场景。若必须包含,应说明理由,并给出更安静的替代方案。
  5. 始终区分事实和观点。高德确认“在哪里、怎么去、是否顺路”;知乎等内容源解释“为什么值得去、有什么坑、适合谁”。
  6. 不要编造坐标、精确用时、POI ID、评分、人均、营业信息或开放状态。没有工具验证时,应标注为假设或待确认。
  7. 必须加入缓冲。慢旅游行程应考虑用餐、休息、拍照、天气、排队、交通和体力缓冲。
  8. 每天要有清晰主题,例如老街散步、河岸慢行、本地市场、茶馆下午、博物馆半日、美食小环线、自然半日等。
  9. 当“内容热度”和“路线可行性”冲突时,路线可行性优先。

工具总览

决定调用哪个高德工具时,优先阅读 references/amap-tool-catalog.md。简要说明如下:

  • amap_input_tips:用于地名自动补全、纠错、模糊名称识别、候选 POI ID 获取。
  • amap_poi_keyword_search:按关键词或类型搜索景点、餐厅、酒店、博物馆、商圈、市场、公园、小众 POI。
  • amap_poi_around_search:围绕酒店、景点或坐标搜索附近餐厅、咖啡、休息点、地铁站、亲子设施和备选 POI。
  • amap_poi_detail:根据已知 POI ID 查询地点详情,用于确认具体地点。
  • amap_geocode:把结构化地址、酒店、车站、地名转为经纬度。
  • amap_regeocode:把经纬度反查为地址、行政区、附近 POI、AOI 等上下文。
  • amap_distance:快速估算多个候选点到目标点的距离,用于排序、聚类、识别绕路点。
  • amap_route_walking:验证短距离步行、街区漫游、地铁口到 POI、景区内动线。
  • amap_route_transit:验证地铁、公交等城市公共交通路线。
  • amap_route_driving:验证自驾、包车、郊区景点、多途经点路线。
  • amap_route_bicycling:验证城市骑行、河岸骑行、公园/校园慢游路线。
  • amap_district_search:标准化城市、区县、adcode 和行政边界。
  • amap_ip_location:仅在用户未提供城市时粗略推断默认城市,不可用于精确定位。
  • amap_static_map:生成路线图或 POI 分布图的静态地图 URL。

工作流程

1. 解析旅行意图

从用户请求中抽取以下字段:

{
  "destination": "城市或区域",
  "dates": "已知或未知",
  "days": 1,
  "hotel_or_start": "酒店、地址、POI、区域或未知",
  "traveler_profile": "独行、情侣、亲子、老人、朋友、未知",
  "pace": "slow | balanced | compact",
  "interests": [],
  "avoid": [],
  "transport_preference": "walking | transit | taxi | driving | cycling | mixed | unknown",
  "budget": "low | mid | high | unknown",
  "must_visit": [],
  "must_avoid": [],
  "assumptions": []
}

如果缺少城市,只能把 amap_ip_location 当作低置信度默认城市来源,并在输出里标注假设。如果缺少酒店或起点,先按核心城区或目标区域生成草案,并提醒用户补充住宿后需要重新优化路线。

2. 读取攻略和主观内容源

当知乎或其他旅游内容 API 可用时,应在最终 POI 选择前使用。提取:

  • 被反复提及的地点;
  • 本地体验和非打卡型玩法;
  • 推荐游玩时间;
  • 负面信号,例如拥挤、商业化、价格虚高、无聊、太远、排队严重;
  • 隐藏体验和小众候选;
  • 适合人群,例如亲子、摄影、历史、美食、自然、安静散步。

内容源里的地点不能直接当作真实 POI,必须进入高德 POI 标准化流程。

3. POI 标准化和清洗

对用户输入或攻略中提取的地点名:

  1. 模糊名称、昵称、简称、可能错别字,先用 amap_input_tips
  2. 按兴趣或类型发现候选点时,用 amap_poi_keyword_search,已知城市时设置 citylimit=true
  3. 已拿到 POI ID 时,用 amap_poi_detail 确认。
  4. 输入是酒店、车站、结构化地址、街区名时,用 amap_geocode
  5. 低置信度或多候选地点应标记为歧义,不要静默选择。

为每个标准化后的 POI 生成:

{
  "raw_name": "原始名称",
  "poi_name": "高德标准名称",
  "poi_id": "",
  "location": "lng,lat",
  "district": "",
  "type": "",
  "confidence": 0.0,
  "opinion_tags": [],
  "crowd_risk": "low | medium | high | unknown",
  "slow_travel_fit": "high | medium | low",
  "why": "选择或保留它的原因"
}

4. 按慢旅游价值评分,而不是按热度评分

候选点评分默认权重:

{
  "route_smoothness": 0.30,
  "slow_travel_fit": 0.25,
  "differentiation": 0.20,
  "interest_match": 0.15,
  "content_signal": 0.10
}

扣分规则:

  • 造成明显折返或跨城绕路:-20
  • 明显高人流且没有强理由:-15
  • 只是泛热门地标,与用户兴趣弱相关:-15
  • 打乱自然用餐或休息节奏:-10
  • 交通不确定且未验证:-10

加分规则:

  • 同一街区内可形成多个小体验:+15
  • 相邻点可步行连接:+10
  • 具备本地生活感且人流压力相对低:+10
  • 强匹配用户兴趣:+10
  • 雨天、疲惫或临时变更时也有备选价值:+5

5. 先地理聚类,再写行程

在生成行程文案前,必须先根据坐标、区县和距离做聚类。使用 amap_distance 比较候选点距离,移除、降级或改天安排离群点。每天路线应满足:

  • 只选择一个主区域、一个街区群或一条慢行走廊;
  • 减少换乘和跨区移动;
  • 避免一天内多次横穿城市;
  • 高人流热门点默认设为可选项,或安排在早晚短暂停留;
  • 尽量为每个拥挤地标提供一个更安静的附近替代点。

6. 路线验证

路线规划规则见 references/route-planning-rules.md

默认交通工具选择:

  • amap_route_walking:用于街区内、景区内、商圈内、地铁口到 POI、博物馆到咖啡店等短距离步行验证。
  • amap_route_transit:用于城市公共交通,尤其适合预算友好型自由行。
  • amap_route_driving:用于自驾、包车、郊区景点、亲子/老人、带行李、低换乘路线。
  • amap_route_bicycling:用于河岸、公园、校园、城市骑行等慢游路线。

如果某段路线过长、换乘过碎、明显折返,应先修改路线,再输出给用户。

7. 添加附近补点和备选

核心路线稳定后,围绕锚点使用 amap_poi_around_search 查找:

  • 午餐和晚餐;
  • 咖啡、茶馆、休息点;
  • 洗手间、商场、书店、展馆、公园、河岸;
  • 地铁站、打车上车点;
  • 雨天、太累、人太多时的备选 POI。

补点不要喧宾夺主,应作为“附近可选项”呈现。

8. 最终审查

输出前必须用以下清单自检:

  • 每天是否地理上连贯?
  • 是否存在可避免的跨城/跨区跳跃?
  • 是否为慢旅游留出足够缓冲?
  • 高人流 POI 是否被限制、解释或替换?
  • 每个点是否有“除了出名之外”的推荐理由?
  • 用餐和休息是否自然嵌入?
  • 关键路线是否验证,未验证处是否标注为估算?
  • 每天是否至少有一个差异化本地体验?

如果未通过自检,先修订方案,不要直接输出。

9. 输出格式

路线规划请求默认使用以下结构:

# [目的地][天数]慢旅游路线

## 规划假设
- ...

## 路线逻辑
说明按哪些街区、区域或走廊分组,以及为什么这样能减少折返和人流压力。

## 第 1 天:[主题]
| 时间 | 地点 | 体验 | 交通 | 备注 |
|---|---|---|---|---|

### 为什么这条路线顺
...

### 更安静的替代选择
- 如果 [拥挤 POI] 人多,可替换为 [替代点],原因是 ...

### 附近补点
- 午餐:...
- 咖啡/休息:...
- 雨天备选:...

## 最终审查
- 顺路性:...
- 差异化:...
- 人流风险:...
- 出发前需要确认:...

如果用户要求 API 输出,返回 JSON,字段包括 assumptionsdaysroute_segmentspoi_candidatesalternativesrisksmap

示例行为

用户请求:“帮我规划成都三天,不想人挤人,喜欢吃和闲逛。”

不要直接堆叠宽窄巷子、春熙路、太古里、熊猫基地等热门点。应该:

  1. 从内容源提取美食、街区、安静散步、本地生活主题。
  2. 用高德工具标准化候选 POI。
  3. 规划一天市中心可步行街区,一天本地美食和社区漫游,一天自然/博物馆/茶馆半日。
  4. 将拥挤地标设为短停、可选或替代项。
  5. 用周边搜索补充茶馆、咖啡、本地小馆和休息点。
  6. 解释路线如何减少折返和人流压力。
Install via CLI
npx skills add https://github.com/Sea-Go/Sea-BreakTheWaves --skill slow-travel-planner
Repository Details
star Stars 91
call_split Forks 7
navigation Branch main
article Path SKILL.md
More from Creator