AI Agent旅游行程智能规划平台
项目简介:基于 SpringBoot + LangChain4j、攻略知识库 RAG、MySQL 向量检索、Function Calling 与数据库驱动工具中心,实现候选池预热与工具收窄、多城联游行程编排、14 条代码硬校验驱动的反思重排、教训记忆与多版本对比、三道闸防空转、编排前探活、预算测算和 Agent 执行时间线,覆盖从需求识别到行程交付的完整闭环。
本项目覆盖的技术点
学完能答的面试题
学完这个项目,下面 30 道面试题你都能结合项目细节讲出来。题目在 AIGC 面试刷题网可以免费看。
hasMore 告诉模型看到的是子集。系统架构
一张图看清整个系统的分层与核心链路,点开可缩放查看细节。
- 1接入层:用户 + 管理端用户端偏好画像、必玩清单、一句话建单和四页签行程工作台;管理端维护 80 城、1828 点位、850 酒店、4240 班次等资源底座。
- 2编排前置:先探活再动数据先校验配置并向模型发一句探活请求,余额不足、Key 过期在删数据之前就拦下;通过后预热候选池,按预算和兴趣取前 60 条,必玩点位无条件进池。
- 3攻略知识库 RAG · 不装 PGVector攻略文档解析切分后向量存进 MySQL 普通表,检索先按目的地和类型收窄到几百条,再在内存算余弦相似度取 TopK。
- 4双层循环的反思 Agent外层反思循环由业务代码控制,最多 3 轮;内层是 LangChain4j 托管的工具调用循环,八个
@Tool查点位、酒店、班次并写入行程明细。 - 5三道闸兜住内层循环轮数上限 40、工具调用总数 200、同工具同参数连续调用 30,任一超限就中断当轮,原因翻译成中文写进运行记录。
- 614 条硬校验驱动重排每版排完由代码跑 14 条硬校验,有严重问题就转成教训落
agent_reflection带进下一版;每版按round_no保留,轮次用尽交付严重问题最少的一版。 - 7存储、观测与自绘路线四张过程表记录每一步;工具中心有真启用开关和返回上限;路线用 GeoJSON + ECharts 自绘,距离按 Haversine 乘路网系数折算。
技术栈
用到的框架、中间件和模型。
技术难点与解法
每一项优化都针对一个真实问题,讲清楚问题、做法和背后的原理。
01带着教训改,不是推翻重排
- 问题
- 行程排得不合理,让模型从头重排一遍,上一版对的部分也可能被改坏,而且同样的错还会再犯。
- 做法
- 外层反思循环由业务代码控制(默认 3 轮),每一版跑完 14 条硬校验,没过就把问题存成教训落
agent_reflection,下一轮拼进 Prompt 并要求「没有被点名的部分尽量保持不变」。 - 原理
- 外层由代码控制、内层交给框架托管的工具调用循环;轮次用尽仍未通过时,交付严重问题最少的一版。
02反思环怎么判定「够好了」
- 问题
- 让模型自己评价行程好不好,它往往觉得自己排得挺好,判据不可复现。
- 做法
- 14 条硬校验全部由代码判定:预算、必玩清单、开放星期、闭园季、开放时段、时段重叠、单日车程、跨城衔接、住宿缺失等,每条命中写一条
trip_check,分严重和一般两档。 - 原理
- 判据可复现、可展示,还能按
check_code统计哪类问题最常命中。
03几千条资源怎么交给模型
- 问题
- 1828 个点位、850 家酒店、4240 条班次,一次全塞进上下文必爆,模型也会在大海里捞针。
- 做法
- 四件事一起做:启动前预热候选池,列表工具只给决策必需字段,每个工具有返回上限,返回结构带
total/returned/hasMore。 - 原理
- 模型知道自己看到的是子集,才会主动换条件再查。
04模型写库不能写错
- 问题
- 模型会编造班次、漏排必玩点位、把点位排在闭馆日,还会报一个好听的花费数字。
- 做法
- 写入工具逐项校验入参,ID 不在候选池内就拒绝写入并把原因交回模型;条目名称按 ID 反查,所有金额和车程由代码计算。
- 原理
- 页面上显示的每一个数字都来自代码查库或代码计算,不采信模型写的字符串。
05框架托管的循环看不见、刹不住
- 问题
- 内层循环由 LangChain4j 托管,业务代码看不到它转了多少圈、调了多少次工具。
- 做法
- 三道闸:
maxToolCallingRoundTrips限轮数,模型监听器逐轮累加轮数和 Token,每个工具方法开头计数总调用次数和「同工具同参数连续调用」次数,任一超限就中断并写明原因。 - 原理
- 框架是黑盒,就在它的边上(监听器、工具入口)主动记录和限流。
功能清单
按角色看这个系统都能做什么。
旅行资源4 项
- 目的地城市80 个城市的增删改查与启停
- 旅游点位库1828 个点位的开放时间、门票、标签维护
- 酒店管理850 家酒店的价格与档次维护
规则与 AI 配置4 项
- 行程规则休闲游 / 标准游 / 暴走游三套约束模板
- 系统参数Agent 三道闸、反思轮数、候选池规模、向量维度
- AI 模型配置与 Prompt 模板编排、偏好抽取、向量三条模型配置,支持连通性测试
运行与观测3 项
- 工具中心八个工具的注册、真实启用开关与调用日志
- 运营统计看板调用场景、趋势、反思轮次、校验命中与工具调用排行
- 用户管理用户与账号维护
页面截图
共 9 张真实运行截图,点击大图查看高清原图。
点击放大你将获得
购买后可以拿到的全部内容。
喂饭级学习教程26 章
从城市、点位、酒店、班次等旅行资源讲起,到候选池预热、工具中心、反思 Agent、多版本对比和运营看板,按开发顺序一章一章讲。
完整源码 + SQL26 张表
Spring Boot 后端 + Vue3 前端完整源码,一个建库脚本加一个数据脚本,含 1828 个点位、850 家酒店、4240 条班次。
配套面试文档
电梯陈述、架构与选型、双层循环、工具收窄、三道闸与硬校验深挖、高频面试题和难点包装,面试时照着讲。
环境安装文档
JDK、MySQL、Node.js、Maven 等开发环境的安装与配置。
项目运行文档
数据库初始化、前后端启动、模型配置,从零把项目跑起来。
常见问题
下单前最常被问到的几个问题。
这个项目是 Java 还是 Python?
后端是 Java(JDK 21 + Spring Boot 4.1 + LangChain4j),前端是 Vue3。
模型需要自己准备吗?
需要自己准备两个 API Key:DeepSeek 用于行程编排和偏好抽取,阿里云百炼用于攻略知识向量化,在管理端「AI 模型配置」里填入即可,改完立即生效。模型都走接口调用,不需要显卡,也不用装向量数据库。
基础薄弱能学会吗?
教程是喂饭级的,从登录注册、统一返回这些工程底座讲起,每章都有验证步骤。基础不够的话,可以先按上面的「学习路径」从基础项目学起。
能写进简历、用作毕业设计吗?
可以,配套面试文档里有项目介绍、难点包装和高频追问,照着就能讲清楚。至于毕业设计,有小伙伴问过我,统一回答一下:AI 实战库板块的项目拿去做毕业设计,就四个字——降维打击。
源码能用于商业项目吗?
源码和教程本质上是给大家学习、提升技能的。如果需要商用,自己二次开发一下也没问题,但禁止原项目 + 教程转手倒卖。我是一个程序员,能看到你们学习我的教程提升能力,能听你们叫我一声大佬,挺幸福的!知足~
售后答疑
买完不是结束跟着教程学习,遇到问题不用自己硬扛。
- 购买前请观看完整功能演示视频和了解左侧项目信息
- 源码和教程资料属于虚拟产品,下单后不支持退款