智能旅游规划 Agent 平台开发实战:从 PRD 到可交付 AI 产品的完整项目实践
教程文档【免费下载链接】easy-vibe从 0 到 1 学会 vibe coding项目制学习项目地址https://gitcode.com/datawhalechina/easy-vibe点击查看免费下载导读本文基于 Datawhale / easy-vibe 项目 Stage 2 综合实战任务《智能旅游规划 Agent 平台开发实战》完整还原一个真实 PRD 驱动下的 AI 产品开发全过程从需求分析、系统架构确认到前端骨架搭建、Agent 编排层实现、数据模型与接口设计再到端到端联调与上线交付。读完本文你将掌握生成 → 保存 → 重用的 Agent 业务闭环构建方法并学会让大模型输出结构化、可编辑的行程数据而非一段不可操作的长文本。一、项目定位与核心挑战1.1 这个项目要做什么这是一个面向真实旅行规划场景的 AI 产品实战项目围绕一份真实的产品需求文档PRD从零构建一个智能旅游规划 Agent 平台。它的核心定义是——做一个可以生成、保存、调整与导出旅行计划的 Agent 编排平台。它不只是聊天机器人而是一个有任务管理能力的产品能够接收结构化输入出发地、目的地、日期、预算、偏好生成每日行程Day by Day Itinerary并支持保存、重新生成与导出。完整的需求文档位于仓库的 PRD.md状态 Draft v0.1。1.2 核心挑战结构化输出整个项目最关键的技术挑战只有一句话如何让 AI 生成结构化、可用的行程规划而不是一大段不可操作的文字。围绕这一挑战PRD 明确了一条硬性业务规则生成结果需要有结构化 JSON不能只返回自由文本。这意味着 Agent 编排层必须完成「接收输入 → 调用模型 → 解析结构化输出」的完整链路并将解析结果落库trip / itinerary / logs而不是把模型返回的 Markdown 直接渲染给用户。1.3 项目功能总览功能描述行程规划用户输入出发地、目的地、日期、预算和偏好系统生成每日行程预算拆分行程结果包含预算分配和建议总预算 每日预算历史管理用户可以保存历史计划、再次生成、导出管理后台管理员查看热门目的地、失败任务和用户反馈1.4 技术选型与站点入口来自 PRDPRD 给出的技术选型建议前端框架Next.js App Router配合 TypeScript、Tailwind CSS用户鉴权Supabase Auth数据库Supabase Postgres模型层统一后端服务调用大模型推荐 Node.js NestJS/Express可选缓存Redis做短缓存站点入口约定为三套官网前台www.xxx.com用户工作台app.xxx.com后台管理台admin.xxx.com二、前置知识与学习目标2.1 前置知识开始本项目之前应已掌握以下内容对应仓库中的配套课程前端页面设计与组件库使用UI 设计、现代组件库后端接口设计与开发接口代码编写数据库基础与 Supabase从数据库到 SupabaseGit 工作流与部署Git 和 GitHub、部署 Web 应用2.2 学习目标完成本实战后你将能够阅读 PRD 并从中提取 Agent 平台的开发任务清单设计结构化的输入表单和结构化的输出格式实现 Agent 编排层处理用户输入、模型调用和结果存储构建生成 → 保存 → 重用的业务闭环完成端到端联调交付可演示的 AI 产品原型三、第一步需求分析阅读 PRD3.1 阅读 PRD 时必须回答的问题打开 PRD 文档后不要急着写代码先聚焦回答以下四个问题第一版是否只做单目的地行程输出是否必须结构化结构是什么按天含预算含时间导出能力做多深分享链接 / PDF / 图片后台统计和任务日志的范围是什么⚠️ 如果以上问题没有明确答案不要开始写代码。需求理解不清楚是导致返工的最常见原因。3.2 用 MVP 范围确认需求边界PRD 明确给出了第一版的范围边界这是需求分析阶段最重要的产出第一版必须包含规划表单页行程详情页历史计划页计划保存与重生成预算拆分导出文本/PDF 占位能力后台查看任务与失败日志第一版明确不做真正的机票/酒店预订多城市复杂路线联排实时票价与库存同步多人协同编辑多语言输出同时PRD 还锁定了关键业务规则第一版限制单目的地只支持3 到 7 天预算必须返回总预算与每日预算失败任务必须可重试生成结果必须有结构化 JSON。3.3 角色与权限角色权限普通用户创建计划、查看历史、导出、反馈管理员查看热门目的地、失败任务、用户反馈3.4 确认系统架构需求分析完成后需要和 PRD 给出的系统架构对齐确认数据流向PRD 中的系统总览则更为完整明确了外部依赖注意外部信息源天气/地图/POI在第一版属于可选增强且 PRD 要求外部信息源失败时要优雅降级——这是 Agent 平台与普通聊天应用的重要区别。四、PRD 中的产品设计页面架构与关键链路4.1 页面架构总览3 套入口8 个大页面PRD 将前端定义为3 套入口8 个大页面入口页面路径核心功能官网前台官网首页www:/产品介绍、典型使用场景、Demo 行程展示、CTA用户工作台登录页app:/login登录、注册入口用户工作台规划页app:/planner输入旅行需求、选择偏好与预算、发起规划任务用户工作台行程详情页app:/trips/:id查看每日行程、预算拆分、再次生成和导出用户工作台历史计划页app:/history查看历史计划、重新打开、重新生成用户工作台反馈与导出页app:/exports导出计划、提交反馈后台管理台后台首页admin:/热门目的地、任务成功率、失败任务数后台管理台任务与反馈页admin:/runs查看失败任务、用户反馈、排查异常计划4.2 关键用户链路4.3 关键状态流任务管理的基础PRD 定义了三个维度的状态机这是实现有任务管理能力的产品的核心规划任务待生成 → 生成中 → 成功 / 失败行程草稿 → 已保存 → 已导出反馈未处理 → 已查看 → 已关闭4.4 产品设计参考来自 PRD 的竞品拆解PRD 建议参考真实旅行规划产品如 Wanderlog的路线规划表达方式核心借鉴点包括输入后直接看到可编辑的每日行程而不是只返回一大段文本行程详情应突出日期、地点、预算、移动顺序和注意事项历史记录页应像我的行程库支持再次打开和二次生成后台页应强调热门目的地、失败任务和用户反馈而不是只看系统日志整体设计要体现行程产品感而不是聊天回答感由此各页面的定位应为规划页更像行程编辑台、详情页更像可执行 itinerary、历史页更像我的旅行库、后台页更像运营与任务中心。五、第二步搭建项目骨架5.1 用 AI 生成前端骨架这是整个项目中第一次使用 AI IDE 的场景。参考提示词如下可直接复制给 AI IDE请基于当前 PRD帮我生成一个智能旅游规划 Agent 平台的前端骨架。 要求 1. 页面包括首页、规划页、行程详情页、历史记录页、管理页 2. 规划页左侧是表单右侧是结果预览 3. 先只生成页面结构和假数据不接真实接口 4. 风格要像现代 AI 产品PRD 建议的前端关键组件包括旅行需求表单、任务进度状态条、Day by Day 行程卡片、预算拆分卡片、历史记录列表、错误重试与反馈组件。5.2 验证页面结构骨架生成后逐项检查规划页的表单字段是否与 PRD 一致出发地、目的地、日期、预算、偏好结果预览区域能展示结构化的行程数据历史记录页可以展示多条计划管理后台页可以展示统计数据六、第三步迭代开发逐模块推进6.1 七个开发模块按模块推进不要一次性铺开鉴权注册、登录Supabase Auth规划表单结构化输入出发地、目的地、日期、预算、偏好Agent 编排接收输入 → 调用模型 → 解析结构化输出结果展示行程按天展示、预算拆分、建议历史管理保存计划、再次生成、导出管理后台热门目的地、失败任务、用户反馈任务状态生成中 / 成功 / 失败的状态管理和错误记录6.2 数据模型设计PRD 建议的数据表PRD 给出了完整的表结构草案这是结构化输出落库的关键。五张核心表如下trip_plans ( id uuid primary key, user_id uuid, origin text, destination text, start_date date, end_date date, budget numeric, preferences jsonb, pace text, status text, created_at timestamptz ) itinerary_days ( id uuid primary key, trip_plan_id uuid, day_index int, title text, summary text, day_budget numeric ) itinerary_items ( id uuid primary key, itinerary_day_id uuid, start_time text, end_time text, place_name text, category text, notes text, estimated_cost numeric ) planner_runs ( id uuid primary key, trip_plan_id uuid, provider text, latency_ms int, status text, error_message text, created_at timestamptz ) trip_feedback ( id uuid primary key, trip_plan_id uuid, user_id uuid, score int, comment text, created_at timestamptz )从表结构可以看出三层数据模型的设计思路trip_plans记录一次规划请求的输入与总体状态preferences用jsonb存储pace表示节奏如 standarditinerary_days / itinerary_items用day_index和父子外键表达按天分组的行程条目每个条目含时间、地点、类别、备注和预估花费——这就是结构化输出落库后的最终形态planner_runs记录每次模型调用的运行日志provider、latency_ms、error_message是后台失败任务排查的数据来源trip_feedback记录用户反馈评分与评论支撑后台的用户反馈面板。对应的后端模块划分为auth、trip-plans、planner、exports、admin、feedback。6.3 接口草案PRD 定义了核心接口清单方法路径说明POST/api/trips/plan创建新的规划任务GET/api/trips/:id获取计划详情POST/api/trips/:id/regenerate按原条件重新生成PATCH/api/trips/:id/preferences更新偏好后重算GET/api/history获取历史计划列表POST/api/trips/:id/export导出行程POST/api/trips/:id/feedback提交用户反馈GET/api/admin/planner-runs获取生成日志POST /api/trips/plan请求示例{ origin: 上海, destination: 成都, startDate: 2026-05-01, endDate: 2026-05-04, budget: 3500, preferences: [美食, 历史文化], pace: standard }注意该请求体与trip_plans表结构一一对应Agent 编排层要做的事情就是接收该 JSON → 组装提示词调用模型 → 把模型返回的结构化 JSON 校验后写入itinerary_days/itinerary_items→ 在planner_runs中记录本次调用的状态与耗时。6.4 模块自检每个模块完成后用下表自检检查项验证方法输入完整性表单字段是否与 PRD 一致输出结构化行程结果是不是结构化数据而非一大段文字数据一致性trip、itinerary、logs 数据是否对得上闭环验证是否能演示输入 → 生成 → 保存 → 再次生成七、第四步联调与上线7.1 端到端测试至少验证以下三个场景输入行程参数 → 生成每日行程 → 查看预算拆分 → 保存到历史从历史记录中再次生成行程管理员查看任务统计和失败日志7.2 非功能要求PRD 明确的工程底线规划结果要有稳定的结构化 JSON长任务必须有状态反馈对应待生成 → 生成中 → 成功/失败状态流外部信息源失败时要优雅降级导出失败可重试移动端至少可查看详情和历史计划7.3 后台指标与监控后台至少需要展示这些指标日规划任务数规划成功率平均生成耗时热门目的地排行用户反馈评分分布导出次数基础监控建议覆盖模型调用成功率、外部信息源失败率、任务重试次数、数据库存取耗时。7.4 开发顺序建议来自 PRD规划页表单与 mock 结果创建计划与详情接口历史记录与重生成导出与反馈管理后台日志页八、交付物与评分标准8.1 交付物清单完成本项目后需要提交可访问的线上演示链接源码仓库链接含 READMEPRD 文档核心页面截图规划页、行程详情页、历史记录页、管理后台60 秒演示视频8.2 评分标准维度基本要求进阶要求PRD 对齐页面、功能、数据结构基本符合 PRD能清晰说明设计决策产品闭环规划 → 保存 → 历史 → 重生成可跑通支持导出和分享输出质量行程结果结构化且可读预算拆分合理、建议有针对性后台能力任务统计和失败日志可查看有热门目的地分析工程完整度前端、后端、数据库、模型调用链路已接通任务状态管理完善错误可追溯九、参考资料本项目在 easy-vibe 仓库中的配套资料与前置课程本任务文档智能旅游规划 Agent 平台开发实战PRD 需求文档PRD.mdUI 设计使用现代组件库更新你的界面从数据库到 Supabase大模型辅助编写接口代码与接口文档Git 和 GitHub 工作流如何部署 Web 应用赞分享教程文档【免费下载链接】easy-vibe从 0 到 1 学会 vibe coding项目制学习项目地址https://gitcode.com/datawhalechina/easy-vibe点击查看免费下载相关推荐easy-vibe 实战智能旅游规划 Agent 平台全栈开发指南——从 PRD 拆解到可演示 AI 产品落地easy vibe 实战智能旅游规划 Agent 平台全栈开发指南——从 PRD 拆解到可演示 AI 产品落地 本指南以 easy vibe 课程 Stage教程文档人工智能Vibe Coding从 PRD 到可演示的 AI 产品Easy-Vibe Stage 2 实战——构建智能旅行规划 Agent 平台从 PRD 到可演示的 AI 产品Easy Vibe Stage 2 实战——构建智能旅行规划 Agent 平台 本篇实战指南来自 Easy Vibevib教程文档人工智能Vibe Codingeasy-vibe 实战从 PRD 到可演示的智能旅行规划 Agent 平台easy vibe 实战从 PRD 到可演示的智能旅行规划 Agent 平台 导读 本篇文章基于 easy vibe 课程第二阶段Développement教程文档人工智能Vibe Coding创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

525张鸡数据集训练YOLOv8:VOC转YOLO格式与避坑指南

525张鸡数据集训练YOLOv8:VOC转YOLO格式与避坑指南

简介:一套针对目标检测任务的鸡类图像数据集,共525张真实场景图片,全部经labelImg标注为Chicken单一类别,累计607个矩形框,覆盖单类检测场景。数据同时提供Pascal VOC(xml)与YOLO(tx…

2026/9/23 2:38:11 阅读更多 →
从需求到实施路线图:用 `/create-plan` 命令构建 AI 编码工作流中的可执行实现计划

从需求到实施路线图:用 `/create-plan` 命令构建 AI 编码工作流中的可执行实现计划

文档教程提示工程人工智能 【免费下载链接】context-engineering-intro Context engineering is the new vibe coding - its the way to actually make AI coding assistants work. Claude Code is the best for this so thats what this repo is centered around, but you can…

2026/9/23 2:38:10 阅读更多 →
PCB缺陷检测实战:基于YOLOv9的小样本训练与部署全解析

PCB缺陷检测实战:基于YOLOv9的小样本训练与部署全解析

简介:PCB电路板缺陷检测识别数据集,专为工业质检与深度学习目标检测场景设计,适用于使用YOLOv9框架进行模型训练与验证的研究者、算法工程师及产线质检人员。数据集包含1297张PCB板图片,覆盖工业场景常见缺陷,每张均完…

2026/9/23 2:38:10 阅读更多 →

最新新闻

CD19靶向治疗:从B细胞标志物到CAR-T与双抗的基石

CD19靶向治疗:从B细胞标志物到CAR-T与双抗的基石

十几年前,血液科医生碰到复发难治的B细胞急性淋巴细胞白血病,手里能打的牌确实不多。化疗方案换来换去,缓解率一次比一次低,异基因移植又有很多条件限制,很多患者就在“缓解—复发—再缓解—再复发”的循环里被耗尽了机…

2026/9/23 3:13:37 阅读更多 →
Flink Parquet 格式全解析:Filesystem 连接器下的读写配置与类型映射实战

Flink Parquet 格式全解析:Filesystem 连接器下的读写配置与类型映射实战

Flink Parquet 格式全解析:Filesystem 连接器下的读写配置与类型映射实战 【免费下载链接】flink 项目地址: https://gitcode.com/gh_mirrors/fli/flink 导读:Parquet 是 Apache 大数据生态中最流行的列式存储格式之一,在 Flink Table…

2026/9/23 3:13:37 阅读更多 →
搞定导航一下实战项目:3步解决报错堆栈看不懂

搞定导航一下实战项目:3步解决报错堆栈看不懂

搞定导航一下实战项目:3步解决报错堆栈看不懂 昨天帮一个刚入行的兄弟排查代码,他盯着屏幕上的红色报错发呆,说:“大哥,这 StackTrace 一长串英文,我连单词都拼不全,到底哪行代码炸了?”这种场景太常见了。在真实的 实战项目…

2026/9/23 3:13:37 阅读更多 →
3步避开万新神剪手培训坑,一文搞懂公路工程实操

3步避开万新神剪手培训坑,一文搞懂公路工程实操

3步避开万新神剪手培训坑,一文搞懂公路工程实操 官方文档翻了三遍还是云里雾里?别慌,我懂这种抓不住重点的崩溃感。今天不念经,直接带你一文搞懂【万新神剪手】在公路工程微服务里的真实玩法。 概念速懂:它到底在剪什么…

2026/9/23 3:13:37 阅读更多 →
Yii 2 路径别名(Alias)机制完全指南:定义、解析、预定义别名与扩展别名

Yii 2 路径别名(Alias)机制完全指南:定义、解析、预定义别名与扩展别名

Yii 2 路径别名(Alias)机制完全指南:定义、解析、预定义别名与扩展别名 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 导读 本文以 Yii 2 官方指…

2026/9/23 3:13:37 阅读更多 →
再见,SSE!你好,Streamable HTTP:MCP 服务端配置 TaoToken 实战

再见,SSE!你好,Streamable HTTP:MCP 服务端配置 TaoToken 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/23 3:12:36 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/22 4:38:57 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/22 8:51:04 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →