【2026飞猪AI旅行创新大赛】游侠出行 · 游戏口味驱动的 AI 旅行智能体
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 12/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- content
Hướng nghiên cứu
This is a contest submission, not a defined change: the body asks for a showcase entry but names no file in this repository to edit or test. The files it cites (demo/verification-report.md, knowledge/game-taste-map.md, the playground page) live in the submitter's separate repository, so there is no obvious starting point or completion check here. A newcomer should wait for a maintainer to say what, if anything, needs changing in this repo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
参赛项目名称
游侠出行:把玩家的游戏口味,转成可执行旅程的 AI 旅行智能体
30 秒速览
做什么:面向游戏玩家的旅行助手。按你真正在玩的游戏(LOL / 原神 / 黑神话 / CS2 / 小众独立游戏)理解体验偏好,结合飞猪真实供给产出带价格和预订链接的可执行旅程。
差异化:不做「游戏名 → 景点」对照表,而是先识别体验意图,再翻译成行程。自建「游戏口味地图」知识库(5 大类目 / 30 款游戏精确映射 + 8 条风格兜底 + 反问引导)。
最硬的一条证据:真实会话中用户问「有没有 Z587 这种 Z 字头直达」,智能体查完返回 Z333 / Z588 并主动纠正「Z587 方向反了」——如果价格是模型编的,它不会去纠正用户给的车次号。
可验证性:仓库含系统提示词、知识库、4 套演示脚本、逐幕完整记录、数据真实性核验表、9 张原始截图。
🎮 在线查询器(可交互) —— 输入任意游戏名,实时看到三级匹配的完整过程。纯前端运行,不需要 Key、不调用模型。
团队 / 作者与奖品领取人
- 团队名称:游侠出行
- 主要提交人 GitHub ID:AKADONG8
- 其他成员:无(单人参赛)
旅行场景与目标用户
面向游戏玩家的专属旅行助手。目标用户是跨城观赛、打卡游戏主题目的地、按自己游戏口味规划线下体验的玩家。
为什么是游戏玩家:游戏是最诚实的兴趣标签。一个在《黑神话:悟空》里泡了 300 小时的玩家,和一个在《星露谷物语》里泡了 300 小时的玩家,想从旅行里获得的东西完全不同——前者要古建朝圣的震撼,后者要田园治愈的松弛。但现有旅行 AI 给两个人的答案,大概率是同一份「XX 市必去十大景点」。玩家在游戏里愿意花时间做什么,直接暴露了他真实的体验偏好;这个信号比「你平时喜欢什么类型的目的地」可靠得多,因为它是行为,不是自述。
智能体根据玩家实际玩的游戏(LOL / 原神 / 黑神话 / CS2 / 小众独立游戏等)理解其体验偏好,结合飞猪真实数据(电竞酒店、体育场馆、演出赛事、火车票等)生成可预订、可执行的旅程方案。
我做了什么
1. 首创「游戏口味 → 旅行体验」映射,构建「游戏口味地图」知识库
不是提示词堆砌,是一份可扩展的知识工程,采用三级匹配策略:
- 第一级 · 精确游戏名映射:覆盖 5 大类目、30 款游戏(20 行映射)。开放世界/RPG(原神→张家界璃月原型、艾尔登法环→平遥凤凰古城)、3A 单机(黑神话:悟空→山西古建朝圣:悬空寺/应县木塔/晋祠/云冈石窟)、竞技 MOBA/FPS(LOL→LPL 线下赛观赛 + 电竞主题酒店)、二次元抽卡(明日方舟→CP/萤火虫漫展 + 谷子店巡礼)、休闲模拟(星露谷→田园民宿 + 采摘园)。
- 第二级 · 按类型/风格兜底:覆盖小众游戏,8 条信号规则,关键词全部来自玩家实际怎么描述自己的游戏(「像素风」→老街区/独立书店、「剧情好」→博物馆/沉浸式剧场、「喜欢种田」→田园民宿、「恐怖解谜」→密室逃脱),而不是从游戏分类学里推导。
- 第三级 · 反问引导:前两级都命中不了时不硬猜,用一句反问把玩家拉回可识别区间,保证不冷场。
知识库还写入了扩展规则,其中一条是硬约束:映射的目的地必须能被 search-poi / keyword-search 查到真实数据。这保证产出的每一条推荐都是「可预订的」,而不是「灵感建议」。
2. 从「游戏名 → 目的地」升级为「体验意图理解」
只做游戏名映射是偷懒——同一个游戏里玩家想要的东西可能完全不同。所以第二层是五类偏好问答(竞技 / 探索 / 音乐 / 经营 / 收集)。
真实对话里的例子:玩家说「我平时也爱看比赛,虽然自己玩的是冷门游戏」。智能体的处理是把「游戏口味」和「体验意图」拆开——游戏口味走小众兜底(像素风→独立书店/老街区),体验意图走竞技线(赛事/电竞氛围),最后给出「田园治愈 + 观赛彩蛋」的混合方案,而不是二选一。
这就是「千人千面」真正落地的地方:不是给不同玩家不同目的地,而是给同一个玩家不同维度的组合。
3. 五步组队法(对话流程)
第 0 步开场(主动服务彩蛋,未知偏好时先问「老板最近肝什么游戏?」)→ 第 1 步识别画像(查知识库三级匹配)→ 第 2 步挖掘需求(必须确认目的地/时间/预算三要素)→ 第 3 步查真实数据组方案(按「玩什么→怎么去→住哪里→顺路玩什么」链路调工具)→ 第 4 步收尾(提示全部可在飞猪下单,询问是否调整重跑)。
4. 三套失败兜底,保证任何情况下都有可执行方案
同城替代体验 / 周边城市 / 改期改行程。演示中真实触发过 2 次(第 2 幕、第 5 幕),都是飞猪真实返回「无赛事门票」,智能体如实告知并给出替代路径(大麦网、成都蓉城主场、演唱会)。
5. 硬约束:禁止补数据
提示词里显式规定两条——查不到必须走三套兜底,禁止编造;所有推荐必须带「名称 + 价格或场次 + 跳转链接」,缺任一项即视为不合格输出。这条规则加上之后,「无赛事」场景的表现从「编一个」变成了「如实说 + 给替代路径」。
百炼使用说明(必填)
- 百炼能力 / 模型:阿里云百炼 Managed Agent(智能体 Dong8,版本 v6),模型 Qwen3.7-Plus
- 调用方式:
- 运行时:百炼控制台 Managed Agent 会话交互(OpenWork / 智能体对话)
- 部署:百炼 Managed Agents REST API。智能体配置不依赖控制台手点——
scripts/deploy_bailian.py按官方 API 依次调用POST /environments(建运行环境)→GET /skills(匹配飞猪官方技能)→POST /agents(建智能体:模型参数 + 系统提示词 + 9 项内置工具 + 飞猪技能)→POST /sessions+POST /sessions/{id}/events(冒烟测试),把配置变成可版本管理、可复现的代码。已实测跑通,部署结果与线上智能体逐项一致。 - 接口依据:百炼 Managed Agents API 概览 / 创建 Agent / Environment / Skill(链接见仓库
scripts/README.md)
- 使用环节与输入输出:百炼位于运行时链路,不是开发辅助。用户输入游戏偏好与出行需求 → 智能体通过体验意图问答定位需求 → 调用飞猪 flyai-skill 查询真实酒店/场馆/交通供给 → 输出行程方案与预订链接
- Skill 名称:飞猪旅行(
flyai-skill,含keyword-search/ai-search/search-flight/search-train/search-hotel/search-poi/search-marriott-hotel/search-marriott-package共 8 类) - 其他工具 / 技术栈:系统提示词「游侠出行」五步组队法;「游戏口味地图」知识库(已上传百炼记忆库,见截图);环境变量
FLYAI_API_KEY注入会话
API 部署已实测跑通:
deploy_bailian.py用百炼 Managed Agents API 把运行环境、飞猪技能、智能体(模型参数 / 系统提示词 / 9 项内置工具)全部代码化。部署出的智能体与线上Dong8(v6)逐项比对全部一致:模型qwen3.7-plus、temperature0.7、enable_thinkingtrue、thinking_budget4000、系统提示词 1351 字符、9 项内置工具、技能skill_MDFlZDhlMDUxYjE0NDllYThjNDv1.0。实测中踩到的坑(GET /skills返回空需用内置常量、知识库实际挂在会话级记忆库而非系统提示词、更新智能体需带version乐观锁、workspace_id在 DNS 主机名里是连字符形式)都记在仓库scripts/README.md里。
效果展示
强化版故事线 B 真实运行记录
小众像素风玩家 · 重庆 → 成都 · 周末电竞开黑之旅。以下为真实百炼 Dong8 会话截图(2026-10-15 12:21~12:39)。
第 0 幕 · 开场:玩家说「我玩一个很冷门的像素风独立游戏,周末想去成都玩,但不知道玩啥」→ 识别小众游戏信号,启动三级兜底 + 追问校准

第 1 幕 · 挖掘需求与交通住宿:重庆出发、周五走周日回、预算 1200 → 返回 D49 ¥85 / Z333 ¥50.5 / T8804 ¥50.5 真实车次 + 真实住宿,并做 1200 预算拆解

第 2 幕 · 推荐逻辑与无赛事兜底:玩家选 A 并说「我平时也爱看比赛」→ 查飞猪本周末成都赛事无票(真实兜底),给出田园治愈 + 观赛彩蛋版行程

第 4 幕 · 电竞酒店真实数据:返回雷泽电竞酒店 ¥29/晚、758 电竞酒店 ¥55/晚 + 三日任务清单

第 5 幕 · 场馆查询与兜底:确认东安湖 = 2021 大运会主场馆、4 万座;飞猪本周末东安湖无赛事,重排 Day1 含东安湖打卡 + 交通指南

第 6 幕 · Z 字头火车:返回去程 Z333(重庆北 05:38 → 成都西 09:00,¥50.5)+ 回程 Z588(¥50.5),并主动纠正用户说的「Z587 方向反了」

第 7 幕 · 收尾:生成最终行程单,总花费约 ¥850,含全部预订链接

「游戏口味地图」知识库在百炼记忆库中的落地形态


数据真实性核验
所有数据均通过工具调用链路(activate_skill → read_skill_file → bash flyai search-*)获得,非模型编造。
| 验证点 | 结果 | 证据 |
|---|---|---|
| 成都电竞酒店 | 真实 | 雷泽电竞酒店 ¥29/晚、758 电竞酒店 ¥55/晚、星空穿梭国际青年酒店 ¥10/晚 |
| 东安湖体育公园 | 真实 | 2021 大运会主场馆、4 万座、龙泉驿区、地铁 2 号线 + 公交 876 路可达 |
| Z 字头火车 | 真实(含修正) | 去程真实 Z 字头为 Z333(¥50.5),回程 Z588(¥50.5);智能体主动纠正「Z587 方向反了」 |
| 无赛事兜底 | 真实 | 第 2/5 幕 keyword-search 返回飞猪本周末成都/东安湖无体育赛事门票 |
| 车次价格 | 真实 | D49 ¥85、Z333 ¥50.5、T8804 ¥50.5,均为 status:0 级真实票价 |
| 预订链接 | 真实 | 返回 router.feizhu.com 真实飞猪跳转链接 |
为什么「Z587 被纠正」这一条特别重要:如果价格是模型编的,它不会去纠正用户给的车次号。这个「主动纠错」行为本身就是数据来自真实查询的证据。
完整逐幕记录(7 幕完整流程 + 两次兜底触发统计 + 数据来源链路):
- 逐幕完整记录 →
demo/session-transcript.md - 数据真实性核验报告 →
demo/verification-report.md
项目链接与复现方式
-
🎮 在线查询器(可交互,建议先点这个):https://akadong8.github.io/youxia-travel-agent/showcase/playground.html
—— 输入任意游戏名(如「原神」「像素风游戏」或随便一个没听过的),实时看到三级匹配过程:命中的是哪一级、为什么走兜底、兜底给了什么方向。纯前端运行,不需要 Key、不调用模型、不调飞猪实时数据。
-
项目展示页(一页看完项目全貌):https://akadong8.github.io/youxia-travel-agent/showcase/
-
作品本体:阿里云百炼 Managed Agent「Dong8」(
agent_01M4XQ0NRHB5JSVRSD2K5SW1XW),已配置游侠出行系统提示词、飞猪旅行技能、FLYAI_API_KEY环境变量,可直接对话体验 -
仓库内容:系统提示词(v6)、游戏口味地图知识库、4 套演示脚本、逐幕完整记录、真实对话验证报告、架构说明、8 条踩坑记录、9 张真实运行截图、3 个辅助脚本
复现步骤(在百炼上,约 10 分钟)
- 登录阿里云百炼控制台 → 创建 Managed Agent 智能体
- 模型选择
Qwen3.7-Plus - 安装飞猪官方 Skill
alibaba-flyai/flyai-skill - 把仓库
prompts/system-prompt.md全文粘贴为系统提示词 - 把
knowledge/game-taste-map.md上传为知识库,或直接追加进系统提示词 - 会话环境变量注入
FLYAI_API_KEY(申请:https://flyai.open.fliggy.com/) - 新开会话,输入:
我玩一个很冷门的像素风独立游戏,周末想去成都玩,但不知道玩啥
然后按 demo/story-b-enhanced.md 的脚本继续对话,即可复现上述全部效果。
本地验证数据链路
npm i -g @fly-ai/[email protected]
flyai config set FLYAI_API_KEY <你的Key>
flyai search-train --from 重庆北 --to 成都西 --date 2026-10-17
flyai search-hotel --city 成都 --keyword 电竞
flyai search-poi --city 成都 --category 体育场馆
边界与已知不足
- 知识库不是全量游戏库:目前精确映射 30 款游戏(20 行映射)+ 8 类风格兜底。未收录的游戏走第二/三级兜底,兜底结果的相关性必然低于精确映射。
- 映射范围被飞猪供给覆盖度限制:扩展规则要求「映射目的地必须能被 flyai 查到真实数据」,这保证了可预订性,但也意味着飞猪供给薄弱的城市即使体验很契合也不会被映射。
- 价格与场次随查询日期浮动,截图中的均为查询当时快照,最终以飞猪预订页为准。演示中的「本周末无成都体育赛事」是 2026-10-15 的真实返回,换个周末可能就有赛事。
- 不做预订、不做支付:只提供飞猪跳转链接,下单支付由用户在飞猪 App 完成。不做实时余票锁定,「有票」仅代表查询时刻状态。
- 交付形态为智能体配置 + 知识库 + 提示词工程,不是独立部署的代码仓库。因此没有可公开点击的 Demo 入口(智能体运行在作者本人的百炼工作空间),评委如无法访问,可通过仓库
demo/verification-report.md与上述截图查看完整真实运行记录。 - 目前没有自动化测试:真实数据链路的正确性靠人工对话验证 + 逐条核对工具返回来保证,而非单元测试。这是明确认知的短板。
踩坑记录(可选)
1. search-poi --category 必须用中文值
传英文值直接报错,且不提示应该用中文。--category 支持 36 类中文枚举(演出赛事、体育场馆、主题乐园等)。解法:统一用中文值,并把可用类别清单写进提示词。工具参数的取值域如果不在文档里,就必须写进提示词,否则模型会自己猜一个英文词然后失败。
2. 飞猪数据真实,但季节性强到会毁掉演示
彩排时能查到的赛事,正式演示当天已开完或售罄。解法:① 演示前实查当前周末供给;② 把「无赛事」当成正常路径而非异常;③ 演示时主动展示兜底而不是回避。
这条为什么反而是加分项:编数据的人不会给自己安排「查不到」的剧情。
3. 百炼智能体编辑页的版本冲突
修改配置保存时报「版本冲突」,改动丢失。解法:每次修改前刷新到最新版本,基于最新版本保存;改动较大时新建版本而非覆盖。副作用是意外留下了 v1→v6 的完整迭代记录。
4. FLYAI_API_KEY 没注入会话时会静默降级
以为在跑自己的额度,实际消耗公共试用额度直到被限流。百炼会话需要在会话级环境变量里填 Key,只配在智能体上不一定生效;未配置时会回落到公共试用 Key,不报错。解法:每次新建会话后先确认返回结果里没有「体验模式」字样。静默降级比直接报错危险得多。
5. 飞猪返回的火车数据有方向性差异
A→B 能查到直达,B→A 只返回换乘甚至查不到。铁路数据本身有方向性,不是接口 bug。解法:去程回程分方向各查一次,不复用;如实标注,不硬说直达。
6. 小众游戏的兜底阈值定不下来,只能靠访谈校准
最初只做精确匹配,玩家一说冷门游戏就冷场。改成三级兜底后,关键在从哪找关键词:不要从游戏分类学推导(会得到「Roguelike」「Metroidvania」这种玩家自己都不用的词),要从玩家实际怎么描述自己的游戏里提炼——真实玩家说的是「像素风」「剧情很好」「喜欢种田」。第二级的 8 条规则全部来自这个口径。面向用户的分类体系,要用用户的语言,不是行业的语言。
7. 智能体会「自作主张」补数据
工具返回为空时,模型会顺手编一个价格填进去,读起来非常自然。原因是早期提示词只写了「要真实」,没写「查不到时怎么办」。解法:显式规定两条硬约束——查不到必须走三套兜底,禁止补数据;所有推荐必须带名称 + 价格/场次 + 跳转链接。没有 fallback 规范的提示词等于没有约束。
8. 系统提示词 v1→v6 的迭代记录
| 版本 | 加了什么 | 暴露出的新问题 |
|---|---|---|
| v1 | 人设 + 工具清单 | 输出像通用攻略,没有游戏味 |
| v2 | 「游戏口味地图」知识库 | 有映射了,但只会一对一,千人一面 |
| v3 | 体验意图五分类 | 开始有组合方案,但流程不稳定 |
| v4 | 五步组队法 | 流程稳定了,但遇到无供给就翻车 |
| v5 | 三套失败兜底 | 不翻车了,但偶尔编数据 |
| v6 | 「禁止补数据 + 输出必须含链接」硬约束 | 当前版本 |
最重要的教训:提示词工程的迭代动力几乎全部来自真实对话里暴露的失败,不来自设计。v2 的「千人一面」、v4 的「无供给翻车」、v5 的「编数据」,没有一个是靠想出来的。所以迭代速度比初始设计质量重要得多——这也是为什么选择了「百炼控制台会话」这种改完立刻能验证的形态。
本项目不含任何 API Key 等敏感信息。
- Ngôn ngữ chính
- HTML
- Star
- 11
- Fork
- 3
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của modelstudioai/modelstudioai.github.io
-
2026飞猪AI旅行创新大赛 showcase
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
【2026飞猪AI旅行创新大赛】行知 · AI 研学伴游Đang mở2026飞猪AI旅行创新大赛 showcase
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 25/100
-
2026飞猪AI旅行创新大赛 showcase
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
modelstudioai/modelstudioai.github.io#186 · 1 bình luận ·
-
2026飞猪AI旅行创新大赛 showcase
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
2026飞猪AI旅行创新大赛 showcase
Độ khó 3/5 1-3 giờ Mức phù hợp với người mới 15/100
Tất cả issue của modelstudioai/modelstudioai.github.io
Issue tương tự
-
Add: Add pogo tv indiaĐang mởcheck:failed streams:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
iptv-org/iptv#55744 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add: Kids Zone LogoĐang mởcheck:failed logos:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
-
[workshop-sim] Improve: Add verifiable checkpoint and bridge to Step 5 (What Are Agentic Workflows?)Đang mởfeedback simulation workshop
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
githubnext/gh-aw-workshop#4715 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Merit-Systems/x402scan#1295 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
sallowayma-git/IELTS-practice#248 ·
Maintainer thường phản hồi trong vòng 1 ngày