【2026飞猪AI旅行创新大赛】游侠出行 · 游戏口味驱动的 AI 旅行智能体
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Área
- content
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
参赛项目名称
游侠出行:把玩家的游戏口味,转成可执行旅程的 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 等敏感信息。
- 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旅行创新大赛】行知 · AI 研学伴游Abierto2026飞猪AI旅行创新大赛 showcase
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
modelstudioai/modelstudioai.github.io#186 · 1 comentario ·
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
2026飞猪AI旅行创新大赛 showcase
Dificultad 3/5 1-3 horas Aptitud para principiantes 15/100
Todos los issues de modelstudioai/modelstudioai.github.io
Issues similares
-
Add: Add pogo tv indiaAbiertocheck:failed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
iptv-org/iptv#55744 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Add: Kids Zone LogoAbiertocheck:failed logos:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
[workshop-sim] Improve: Add verifiable checkpoint and bridge to Step 5 (What Are Agentic Workflows?)Abiertofeedback simulation workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
githubnext/gh-aw-workshop#4715 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sallowayma-git/IELTS-practice#248 ·
Los mantenedores suelen responder en 1 día
-
Docs: how to get more careful answers (Effort, reasoning models, Reasoning level, Deliberate)Abiertodocumentation priority:p1
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yeixio/toskar-core#697 ·
Los mantenedores suelen responder en 1 día