Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

【2026飞猪AI旅行创新大赛】游侠出行 · 游戏口味驱动的 AI 旅行智能体

Aperta
#183 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Ambito
content

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

2026飞猪AI旅行创新大赛 showcase

参赛项目名称

游侠出行:把玩家的游戏口味,转成可执行旅程的 AI 旅行智能体

30 秒速览

做什么:面向游戏玩家的旅行助手。按你真正在玩的游戏(LOL / 原神 / 黑神话 / CS2 / 小众独立游戏)理解体验偏好,结合飞猪真实供给产出带价格和预订链接的可执行旅程。

差异化:不做「游戏名 → 景点」对照表,而是先识别体验意图,再翻译成行程。自建「游戏口味地图」知识库(5 大类目 / 30 款游戏精确映射 + 8 条风格兜底 + 反问引导)。

最硬的一条证据:真实会话中用户问「有没有 Z587 这种 Z 字头直达」,智能体查完返回 Z333 / Z588 并主动纠正「Z587 方向反了」——如果价格是模型编的,它不会去纠正用户给的车次号。

可验证性:仓库含系统提示词、知识库、4 套演示脚本、逐幕完整记录、数据真实性核验表、9 张原始截图。

🎮 在线查询器(可交互) —— 输入任意游戏名,实时看到三级匹配的完整过程。纯前端运行,不需要 Key、不调用模型。

📄 项目展示页 | 🔗 GitHub 仓库

团队 / 作者与奖品领取人

  • 团队名称:游侠出行
  • 主要提交人 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、temperature 0.7、enable_thinking true、thinking_budget 4000、系统提示词 1351 字符、9 项内置工具、技能 skill_MDFlZDhlMDUxYjE0NDllYThjND v1.0。实测中踩到的坑(GET /skills 返回空需用内置常量、知识库实际挂在会话级记忆库而非系统提示词、更新智能体需带 version 乐观锁、workspace_id 在 DNS 主机名里是连字符形式)都记在仓库 scripts/README.md 里。

效果展示

强化版故事线 B 真实运行记录

小众像素风玩家 · 重庆 → 成都 · 周末电竞开黑之旅。以下为真实百炼 Dong8 会话截图(2026-10-15 12:21~12:39)。

第 0 幕 · 开场:玩家说「我玩一个很冷门的像素风独立游戏,周末想去成都玩,但不知道玩啥」→ 识别小众游戏信号,启动三级兜底 + 追问校准

第0幕 开场

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

第1幕 交通住宿

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

第2幕 推荐逻辑

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

第4幕 电竞酒店

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

第5幕 东安湖兜底

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

第6幕 Z字头火车

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

第7幕 收尾

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

知识库列表

知识库详情

数据真实性核验

所有数据均通过工具调用链路(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 幕完整流程 + 两次兜底触发统计 + 数据来源链路):

项目链接与复现方式

  • GitHub 仓库:https://github.com/AKADONG8/youxia-travel-agent

  • 🎮 在线查询器(可交互,建议先点这个):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 分钟)
  1. 登录阿里云百炼控制台 → 创建 Managed Agent 智能体
  2. 模型选择 Qwen3.7-Plus
  3. 安装飞猪官方 Skill alibaba-flyai/flyai-skill
  4. 把仓库 prompts/system-prompt.md 全文粘贴为系统提示词
  5. 把 knowledge/game-taste-map.md 上传为知识库,或直接追加进系统提示词
  6. 会话环境变量注入 FLYAI_API_KEY(申请:https://flyai.open.fliggy.com/)
  7. 新开会话,输入:
我玩一个很冷门的像素风独立游戏,周末想去成都玩,但不知道玩啥

然后按 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 等敏感信息。

Lingua principale
HTML
Stelle
11
Fork
3
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelstudioai/modelstudioai.github.io

Tutte le issue di modelstudioai/modelstudioai.github.io

Issue simili

Altre issue su Content

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.