【2026飞猪AI旅行创新大赛】别白跑 · AI 旅行攻略体检官
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 1/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- css, html, javascript, json, playwright, python
Línea de trabajo
The issue describes a completed travel itinerary auditing prototype and links its source repository, but does not identify a change to make in this repository. For a contribution, first inspect the repository and the linked project’s validator.py, tests/, and report.html to find a concrete open task. The issue gives no acceptance criteria for additional work.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
参赛项目名称
别白跑 · AI 旅行攻略体检官
Slogan:让每一份攻略,都真正走得通。
普通 AI 帮你生成旅行攻略,「别白跑」帮你发现攻略里的隐藏风险:交通能否衔接?景点是否开放?返程来不来得及?哪些数据有证据,哪些只是估算?
本作品基于 阿里云百炼 Managed Agent、飞猪 FlyAI 旅行查询能力、Python 确定性校验器及卡片式交互报告,探索一种更可信的 AI 旅行规划方式。
团队 / 作者与奖品领取人
- 团队名称: HansTeam
- 主要提交人 GitHub ID: wuhanwoaini521
旅行场景与目标用户
谁需要「别白跑」?
面向以下旅行者:
- 无车自由行用户: 依赖高铁、地铁、公交和打车,对交通衔接更加敏感。
- 周末短途旅行者: 两三天时间有限,任何换乘失误都可能影响后续安排。
- AI 攻略使用者: 通过 AI、社交平台获得行程,希望出发前检查是否合理。
- 历史文化与自然旅行爱好者: 不希望因为错误的开放时间、接驳方式而白跑一趟。
真实需求场景:宁波两日无车旅行
时间: 2026 年 11 月 14–15 日
人数: 2 名成年人
出行方式: 不自驾
硬性约束: 第二天 19:00 前必须返回宁波站
原始攻略:
- DAY 1: 下午抵达宁波站 → 天一阁 → 月湖 → 南塘老街
- DAY 2: 上午东钱湖 → 下午前童古镇 → 返回宁波站
表面上,这是一份常见的两日游攻略。
但它可能存在跨区域交通衔接、景点开放窗口、列车预售与换乘缓冲等问题。单纯让 AI 生成更漂亮的行程,并不能解决这些问题。
「别白跑」要做的是:先体检,再修订。
我做了什么
1. 识别并保留用户约束
解析旅行日期、人数、交通方式、目的地及返程时间。
特别避免 AI 擅自更改用户已经确定的条件,例如把「下午抵达」改成「上午抵达」,或忽略 19:00 前返程的要求。
2. 使用百炼与飞猪旅行查询能力辅助核验
通过百炼 Agent 会话,结合飞猪 FlyAI 景点、列车查询及公开资料,整理景点位置、开放时间、参考车次、交通方式等信息。
为每条事实记录来源与查询时间,并区分:
- 已核实
- 部分核实
- 待核验
3. 识别攻略中的隐藏风险
本次宁波案例重点发现:
风险 A:跨区域交通衔接困难
原计划上午东钱湖、下午前童古镇,需要跨区域移动和多次换乘。对于无车游客,交通耗时可能明显挤占游览时间。
风险 B:返程列车选择受限制
飞猪查询返回的参考班次存在较大的时刻间隔。但查询时目标日期尚未进入铁路常规预售期,因此不能将参考班次视为已确认可购买的车次。
体验提醒:景点内部设施开放情况
前童古镇童氏宗祠有修缮暂停开放信息。古镇并非因此整体关闭,需要调整参观预期,而不是直接取消旅行。
4. 尽可能保留景点,最小修改攻略
AI 提出调整第二天游览顺序:
原计划:
东钱湖 → 前童古镇 → 宁波站
建议方案:
前童古镇 → 东钱湖 → 宁波站
尝试采用「先远后近」的方式,减少返程前的跨区域交通压力。
这一方案属于基于现有证据的候选修订方案,并非已经确认所有换乘和返程班次都可执行;未核实的交通时间仍然标记为待审核。
5. 使用 Python 确定性规则校验
仅依靠大模型判断「应该能赶上」并不可靠。
因此项目增加了 Python 校验器,覆盖以下检查:
- 火车票预售日期计算
- 错过车次后的备选班次时间方向
- 行程节点时间顺序与区间重叠
- 交通接驳与候车时间记录
- 用户原始约束是否被修改
- 证据 ID、来源类型及支持范围
- 返程时间与截止时间的计算一致性
- 未确认结论是否被错误标注为已核实
如果证据无法支持某项结论,系统保留「待审核」状态,不把计算一致性等同于实际可达性。
6. 生成可交互的卡片式报告
将体检结果展示为网页,支持:
- 不同风险等级筛选
- 原始攻略与修订攻略切换
- 行程时间轴
- 交通风险提醒
- 证据和查询来源展开
- 桌面端及移动端适配
核心创新:不是让 AI 再写一份攻略,而是在攻略交付前增加可追溯、可复核的检查环节。
应用前景
未来可作为旅行平台、攻略社区、行程规划助手的「出发前体检」模块,帮助用户在预订和出行前发现潜在冲突,减少行程调整成本与旅行体验损失。
当前交付的是离线可复现参赛原型,尚未实现面向任意新攻略的全自动实时服务。
百炼使用说明(必填)
使用的百炼智能体
- 平台: 阿里云百炼(Model Studio)
- 智能体形态: Managed Agent
- 作品角色: 「别白跑」AI 旅行攻略体检官
- 模型配置: 初始配置采用 AUTO 模式
- 任务: 理解用户攻略、调用可用旅行查询能力、分析风险、生成结构化攻略体检结果
本作品在既有旅行助手的基础上,将系统提示词调整为面向无车旅行的「攻略核验与修订」工作方式。
百炼参与了哪些环节?
| 环节 | 百炼 / FlyAI 的作用 |
|---|---|
| 需求理解 | 提取日期、景点、人数、交通方式和返程约束 |
| 旅行信息查询 | 利用已有会话中的 FlyAI 景点、列车查询结果 |
| 风险分析 | 分析景点顺序、接驳风险、开放时间和返程条件 |
| 行程修订 | 提出最小修改方案,并标注未确认信息 |
| 结构化产出 | 在 Agent 会话中整理报告数据及初版文件 |
在此基础上,使用本地 Python 校验器检查结构化数据,再由 HTML 页面展示卡片式报告。
工具与调用记录
- 飞猪 FlyAI: 旅行景点查询
search-poi、火车票查询search-train - 百炼内置工具:
bash、web_search、文件读写等 - 报告记录:
search-poi4 次、search-train2 次、web_search8 次
以上调用次数来自百炼 Agent 历史报告及结构化摘要,仓库未提供可独立核验的 FlyAI 原始工具响应日志,因此不将这些数字宣传为已经完成独立审计的调用统计。
百炼 Agent 操作截图
以下为已有百炼 Agent 会话或控制台操作截图,用于展示本作品的百炼使用过程:
其他技术栈
- Python 3 标准库:确定性校验器
- JSON:结构化旅行数据及校验结果
- HTML / CSS / JavaScript:可交互攻略报告
- Playwright + Chromium:离线浏览器与响应式测试
- GitHub:源码、测试记录及演示材料托管
实现边界: 本次是百炼 Agent 参与分析、整理数据,再由本地工具完成校验和展示的原型。各阶段需要人工触发,尚未实现「输入新攻略后自动完成所有查询、校验和网页发布」的完整在线闭环。
效果展示
桌面端 · 攻略体检报告
移动端 · 响应式攻略卡片
更多效果截图
📱 点击展开:移动端其他界面
🖥️ 点击展开:桌面端完整长图
本地测试与验证
当前参赛包记录:
| 测试范围 | 结果 |
|---|---|
| 原项目自带测试 | 15/15 通过 |
| 独立回归测试 | 14/14 通过 |
| Chromium 页面渲染、交互与安全检查 | 33/33 通过 |
浏览器测试覆盖桌面与手机布局、风险筛选、行程切换、证据展开、数据加载失败和脚本注入防护。
浏览器检查运行了真实 HTML/JavaScript,并在测试中模拟 JSON Fetch 响应;由于执行环境限制,不将其等同于已完成线上部署端到端测试。
相关记录保存在源码仓库的 evidence/、tests/ 和 screenshots/ 目录中。
项目链接与复现方式
GitHub 源码仓库
https://github.com/wuhanwoaini521/biebai-travel-auditor
在线演示
https://wuhanwoaini521.github.io/biebai-travel-auditor/demo_offline.html
在线地址依赖 GitHub Pages 发布状态。也可以从源码仓库下载 demo_offline.html 后直接在浏览器打开。
演示页面使用封存的宁波案例,不需要百炼 API Key,也不会发起新的付费模型调用。
本地复现
下载或克隆源码仓库后,在项目目录执行:
python validator.py report.json --output validation.json
python validator.py --test
python -m unittest discover -s tests -p test_validator.py -v
python -m http.server 8765
浏览器打开:
http://localhost:8765/report.html
可以筛选风险、切换行程、查看修订前后差异及核验依据。
不希望安装 Python 的体验者可以直接打开 demo_offline.html。
已知限制
- 2026 年 11 月 15 日的火车班次在原查询时间尚未进入常规预售期,属于参考信息,不保证实际车次、票价及库存。
- 小普陀返回宁波站的约 65 分钟属于估算,实际接驳及候车时间尚未确认。
- 部分门票价格、公交发车间隔和打车等候时间需要进一步核实。
- 当前规则校验器验证数据内部一致性和已定义的约束,不保证所有外部旅行事实均正确。
- 尚未实现完全自动的百炼实时查询与报告生成工作流。
踩坑记录(可选)
开发过程中发现了几类典型的 AI 旅行规划问题:
- 日期计算错误: 曾将尚未进入预售期的火车票误判为已经开售。
- 车次时间倒序: 曾在错过 11:22 的车次后,错误推荐 10:34 的更早车次。
- 交通时间遗漏: 曾忽略地铁站到景区之间的公交接驳。
- 用户约束丢失: 曾将用户「下午抵达」擅自改为「上午抵达」。
- 时间轴与报告不一致: 曾出现跨天分组、时间重叠和返程时间不一致。
- 证据过度解读: 曾将参考班次和估算耗时直接描述为已核实可行。
针对这些问题,项目引入结构化时间字段、Python 确定性校验、反向测试和证据分级。
我们希望验证一个简单但重要的思路:
AI 不仅需要告诉用户「可以怎么玩」,还应该告诉用户「为什么这样安排、有哪些风险,以及哪些事情它还不能确认」。
别白跑 · 让每一份攻略,都真正走得通。
- Lenguaje dominante
- HTML
- Estrellas
- 11
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelstudioai/modelstudioai.github.io
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 1/5 Menos de una hora Aptitud para principiantes 10/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Todos los issues de modelstudioai/modelstudioai.github.io
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
alchaincyf/nuwa-skill#93 ·
-
bug needs-acceptance wg/agentic-context
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/semantic-router#5418 ·
Los mantenedores suelen responder en 1 día
-
Bug: Assistant replies lose the space before numbers ("Oct7", "as of10-22-2026") with OpenAI modelsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
we-promise/sure#4441 ·
Los mantenedores suelen responder en 1 día
-
integration:coding-agents
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
vectorize-io/hindsight#5982 ·
Los mantenedores suelen responder en 1 día
-
`facts relink` model tier fails on strict structured-output backends (`invalid_json_schema`)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día