holiday-travel-ranker
# Holiday Travel Ranker - 假期旅行目的地推荐
基于多维度数据评分,为用户在中国法定长假/小长假期间推荐最值得去的国内 Top 10 和国外 Top 10 旅行目的地。
## 工作流程概览
整个 Skill 分 4 个阶段执行:
1. **确认用户偏好**(唯一需要交互的步骤)
2. **数据收集与研究**(自动执行,通过 web_search 采集)
3. **评分与排名**(自动执行,加权计算)
4. **输出报告**(自动执行,生成 Markdown + HTML)
---
## Phase 1:确认用户偏好
使用 `ask_followup_question` 工具向用户确认以下信息:
**必选项:**
1. **出发城市** — 默认"上海",用户可修改。机票价格与出发城市强相关。
- 选项示例:上海 / 北京 / 广州 / 深圳 / 成都 / 其他(请输入)
2. **目标假期** — 选择一个或多个法定假期:
- 元旦(1天假+周末凑3天)
- 春节(7天)
- 清明节(3天)
- 五一劳动节(5天)
- 端午节(3天)
- 中秋节(3天)
- 国庆节(7天)
**可选项:**
3. **特别在意的维度** — 用户可选择 1-3 个最看重的维度,这些维度的权重会上浮:
- 机票价格 / 酒店价格 / 当地物价 / 签证便利性 / 旅游好评度 / 气候适宜度 / 安全性 / 体验丰富度
4. **预算区间** — 可选,用于标注哪些目的地在预算内:
- 3000 以内 / 3000-6000 / 6000-10000 / 10000-20000 / 不限
**确认后立即进入 Phase 2,不再等待额外确认。**
---
## Phase 2:数据收集与研究
针对预设的候选目的地池(见 `references/destinations.md`),通过 web_search 和 web_fetch 采集以下 8 个维度的数据。
### 评分维度定义
详细的维度说明、评分标准和数据来源见 `references/scoring_criteria.md`。
| # | 维度 | 默认权重 | 简述 |
|---|------|---------|------|
| 1 | 机票价格 | 20% | 从出发城市到目的地的经济舱正常时段往返均价 |
| 2 | 酒店价格 | 15% | 中端酒店(4星/精品)每晚均价 |
| 3 | 当地物价 | 10% | 日均餐饮+交通+门票消费水平 |
| 4 | 签证便利性 | 15% | 免签/落地签/电子签/贴纸签 + 办理难度和时间 |
| 5 | 旅游好评度 | 15% | 主流旅行平台评分、游客满意度 |
| 6 | 当季气候适宜度 | 10% | 该假期时段的气温、降水、舒适度 |
| 7 | 安全性 | 10% | 旅行安全指数、外交部旅行提醒 |
| 8 | 体验丰富度 | 5% | 可玩天数、景点密度、文化/美食多样性 |
### 权重调整规则
如果用户在 Phase 1 选择了"特别在意的维度":
- 被选中的维度权重各 +5%
- 从未被选中的最低权重维度中等比扣减
- 确保总权重仍为 100%
### 数据采集要求
**机票价格:**
- 搜索该假期时间段从出发城市到目的地的经济舱往返价格
- **排除**红眼航班(23:00-06:00 出发的航班)
- **排除**总旅行时长超过直达时长 2 倍的转机航班
- 优先查找历史同期价格作参考(如去年同期数据)
- 数据来源:携程、去哪儿、飞猪、Google Flights 的价格参考
**酒店价格:**
- 搜索该假期时间段目的地市中心/热门区域的中端酒店价格
- 定位:4星级或知名精品连锁(如全季、亚朵、万怡、希尔顿花园等同档次)
- 数据来源:携程、Booking.com、Agoda 历史价格参考
**当地物价:**
- 搜索目的地日均旅行消费(餐饮+市内交通+主要景点门票)
- 数据来源:Numbeo、穷游、马蜂窝的消费参考
**签证便利性(仅国外目的地):**
- 查询中国护照前往该国的签证政策
- 国内目的地此项默认满分 10 分
- 数据来源:中国领事服务网、各国使馆官网
**旅游好评度:**
- 综合 TripAdvisor、马蜂窝、Google 评分
- 同时参考社交媒体热度(小红书、抖音等)
**当季气候适宜度:**
- 查询该假期时间段目的地的平均气温、降水量
- 是否处于最佳旅行季节
- 数据来源:Weather.com、气象历史数据
**安全性:**
- 旅行安全指数(GPI 全球和平指数等)
- 中国外交部旅行安全提醒
- 国内目的地默认 9 分(满分 10)
**体验丰富度:**
- 世界遗产数量、标志性景点密度
- 美食/文化多样性评价
- 建议游玩天数
### 研究策略
使用并行 subagent 提高效率:
- **Subagent A**:研究国内候选目的地(10-15 个城市/地区)
- **Subagent B**:研究国外候选目的地-亚洲方向(8-10 个)
- **Subagent C**:研究国外候选目的地-非亚洲方向(8-10 个)
每个 subagent 需对其负责的目的地采集全部 8 个维度数据。
---
## Phase 3:评分与排名
### 评分规则
每个维度评 1-10 分(10 为最优),具体标准见 `references/scoring_criteria.md`。
**价格类维度(机票、酒店、物价):** 越便宜分越高
- 10 分:价格属于候选池中最低 10%
- 7-9 分:低于均值
- 4-6 分:接近均值
- 1-3 分:高于均值较多
**非价格维度:** 按各自标准正向打分,越好分越高
### 综合分计算
```
综合分 = SUM(各维度分数 x 该维度权重)
```
### 排名输出
1. **国内综合排名 Top 10**
2. **国外综合排名 Top 10**
3. **分维度排行榜**:对综合排名进入 Top 10 的目的地,按每个维度单独排序
---
## Phase 4:输出报告
### 输出物 1:Markdown 报告
使用 `scripts/generate_report.py` 的模板结构,生成 Markdown 文件,包含:
```markdown
# {假期名称} 旅行目的地推荐 - 从{出发城市}出发
> 生成时间:{日期} | 出发城市:{城市} | 目标假期:{假期}
## 评分说明
[简述 8 个维度和权重]
## 国内 Top 10 综合排名
[表格:排名、目的地、综合分、各维度分]
## 国外 Top 10 综合排名
[表格:排名、目的地、综合分、各维度分]
## 目的地详细卡片
### [排名]. [目的地名称] - 综合分 X.X
- **核心优势**:[2-3 个亮点]
- **重要劣势**:[1-2 个需注意的点]
- **最佳出行时段**:[月份]
- **预估花费区间**:[X-X 元/人,含往返机票+X晚住宿+日常消费]
- **签证信息**:[免签/落地签/需办签证]
## 分维度排行榜
### 按机票价格排序(从低到高)
[表格]
### 按酒店价格排序(从低到高)
[表格]
### 按签证便利性排序
[表格]
...(每个维度一张表)
## 个性化建议
[基于用户偏好的推荐语]
```
### 输出物 2:HTML 交互式页面
生成一个独立 HTML 文件(内联 CSS + JS,无外部依赖),功能包括:
- 国内/国外 Tab 切换
- 按综合分或任意单维度排序
- 每个目的地卡片展开/收起详情
- 响应式布局,移动端友好
- 配色清新,旅行主题风格
使用 `scripts/generate_html.py` 生成 HTML 文件。
### 文件命名
- Markdown:`{假期}_{出发城市}_旅行推荐_{日期}.md`
- HTML:`{假期}_{出发城市}_旅行推荐_{日期}.html`
---
## 候选目的地池
完整的候选目的地列表见 `references/destinations.md`。
### 国内候选(约 20 个)
覆盖不同区域和旅行类型:自然风光、历史人文、海岛海滨、都市体验、民族风情等。
### 国外候选(约 20 个)
覆盖亚洲近途(日韩东南亚)、中远途(中东/欧洲/大洋洲/美洲)等,兼顾签证友好度和热门程度。
---
## 注意事项
1. **价格数据时效性**:机票和酒店价格使用历史同期数据或近期参考价,仅供对比参考,实际价格以预订时为准。
2. **签证政策变动**:签证政策可能随时调整,建议出行前再次确认最新政策。
3. **安全提醒**:安全评分基于公开数据和外交部提醒,请关注出行前的最新安全形势。
4. **个人偏好差异**:评分体系提供客观参考,最终选择应结合个人兴趣和实际情况。
5. **红眼航班排除**:所有机票价格评估均排除了 23:00-06:00 出发的航班和不合理转机(总时长 > 直达 2 倍)。
## Resources
- `references/scoring_criteria.md` — 详细的 8 维度评分标准和打分规则
- `references/destinations.md` — 国内外候选目的地池及基础信息
- `scripts/generate_report.py` — Markdown 报告生成模板脚本
- `scripts/generate_html.py` — HTML 交互式页面生成脚本
标签
skill
ai