AI Agent旅游行程智能规划平台

SpringbootLangChain4JAgentRAGFunction Calling地狱锤炼
演示视频

项目简介:基于 SpringBoot + LangChain4j、攻略知识库 RAG、MySQL 向量检索、Function Calling 与数据库驱动工具中心,实现候选池预热与工具收窄、多城联游行程编排、14 条代码硬校验驱动的反思重排、教训记忆与多版本对比、三道闸防空转、编排前探活、预算测算和 Agent 执行时间线,覆盖从需求识别到行程交付的完整闭环。

查看 →
30道
学完能答的面试题
来自 AIGC 面试刷题网
8个
核心技术点
下方逐项列出
26章
视频 + 喂饭级文档
每个功能细节都讲透
查看 →
18项
完整功能模块
下方功能清单逐项列出

本项目覆盖的技术点

LangChain4j 工具调用 Agent带记忆的反思循环Function Calling 工具中心候选池预热与工具收窄14 条硬校验驱动重排多版本保留与并排对比攻略知识库 RAG(MySQL 向量表)三道闸限流与全链路调用观测

学完能答的面试题

学完这个项目,下面 30 道面试题你都能结合项目细节讲出来。题目在 AIGC 面试刷题网可以免费看。

① 原理题 · 刷题网能学会
Reflection 和 Reflexion 有什么区别?
原理题,背熟就能答:Reflection 是模型评价自己上一版再修改;Reflexion 由外部反馈或代码判定失败,把问题存成教训,下一轮带着教训重做。
➜
② 项目追问 · 答案在这个项目里
你项目里点位有 1828 条,怎么避免一次全塞给模型?
只有亲手做过才答得上:Agent 启动前先预热候选池,按预算和兴趣标签筛到前 60 条、必玩点位无条件进池;列表工具只返回决策必需字段,每个工具有返回上限,并带 hasMore 告诉模型看到的是子集。
llm-05结构化信息抽取大模型应用基础 · 1 题
1如何用大模型做可靠的结构化信息抽取?部分涉及去刷题网 ↗
llm-07Token 预算与输出长度大模型应用基础 · 1 题
1如何控制大模型的输出长度并处理截断?部分涉及去刷题网 ↗
pe-01Prompt 的基本结构与指令层级提示词工程 · 1 题
1什么是提示工程?一个高质量 Prompt 应包含哪些要素?去刷题网 ↗

系统架构

一张图看清整个系统的分层与核心链路,点开可缩放查看细节。

  • 1
    接入层:用户 + 管理端用户端偏好画像、必玩清单、一句话建单和四页签行程工作台;管理端维护 80 城、1828 点位、850 酒店、4240 班次等资源底座。
  • 2
    编排前置:先探活再动数据先校验配置并向模型发一句探活请求,余额不足、Key 过期在删数据之前就拦下;通过后预热候选池,按预算和兴趣取前 60 条,必玩点位无条件进池。
  • 3
    攻略知识库 RAG · 不装 PGVector攻略文档解析切分后向量存进 MySQL 普通表,检索先按目的地和类型收窄到几百条,再在内存算余弦相似度取 TopK。
  • 4
    双层循环的反思 Agent外层反思循环由业务代码控制,最多 3 轮;内层是 LangChain4j 托管的工具调用循环,八个 @Tool 查点位、酒店、班次并写入行程明细。
  • 5
    三道闸兜住内层循环轮数上限 40、工具调用总数 200、同工具同参数连续调用 30,任一超限就中断当轮,原因翻译成中文写进运行记录。
  • 6
    14 条硬校验驱动重排每版排完由代码跑 14 条硬校验,有严重问题就转成教训落 agent_reflection 带进下一版;每版按 round_no 保留,轮次用尽交付严重问题最少的一版。
  • 7
    存储、观测与自绘路线四张过程表记录每一步;工具中心有真启用开关和返回上限;路线用 GeoJSON + ECharts 自绘,距离按 Haversine 乘路网系数折算。

技术栈

用到的框架、中间件和模型。

后端
JDK 21Spring Boot 4.1LangChain4j 1.20MyBatisPageHelperHutoolJava JWT
Agent
工具调用 Agent反思循环 + 教训记忆候选池与工具收窄三道闸
RAG
PDFBoxApache POI文本切分MySQL 向量表
前端
Vue 3ViteElement PlusVue RouterAxiosECharts
数据库
MySQL 8
对话模型
deepseek-v4-flash
DeepSeek · 行程编排与偏好抽取
向量模型
text-embedding-v3
阿里云百炼 · 攻略知识 1024 维
版本要求:JDK 17 及以上(项目使用 JDK 21),MySQL 8,Node.js 18 以上,Maven 3.8 及以上;需要对话和向量两类模型的 API Key。

技术难点与解法

每一项优化都针对一个真实问题,讲清楚问题、做法和背后的原理。

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 家酒店的价格与档次维护
  • 交通班次时刻表4240 条城际班次维护

规则与 AI 配置4 项

  • 行程规则休闲游 / 标准游 / 暴走游三套约束模板
  • 系统参数Agent 三道闸、反思轮数、候选池规模、向量维度
  • AI 模型配置与 Prompt 模板编排、偏好抽取、向量三条模型配置,支持连通性测试
  • 攻略知识库文档上传解析、文本切分、向量化与语义检索

运行与观测3 项

  • 工具中心八个工具的注册、真实启用开关与调用日志
  • 运营统计看板调用场景、趋势、反思轮次、校验命中与工具调用排行
  • 用户管理用户与账号维护

页面截图

共 9 张

真实运行截图,点击大图查看高清原图。

规划执行过程点击放大
01 / 9规划执行过程本次运行的轮次、工具调用和候选池收窄:点位 1828 → 64、酒店 850 → 16

你将获得

购买后可以拿到的全部内容。

喂饭级学习教程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 实战库板块的项目拿去做毕业设计,就四个字——降维打击。

源码能用于商业项目吗?

源码和教程本质上是给大家学习、提升技能的。如果需要商用,自己二次开发一下也没问题,但禁止原项目 + 教程转手倒卖。我是一个程序员,能看到你们学习我的教程提升能力,能听你们叫我一声大佬,挺幸福的!知足~

售后答疑

买完不是结束

跟着教程学习,遇到问题不用自己硬扛。

专门的付费答疑群,有问题随时问学习过程中卡住了直接问,无后顾之忧。
原理没吃透哪个知识点没想明白,直接在群里问
代码看不懂哪一章哪一段代码卡住就问哪里
没事也能交流交流和一起学的同学吹吹水,岂不快哉
把这 30 道面试题,变成你做过的项目喂饭级学习教程 + 完整源码 + SQL + 配套面试文档 + 环境安装文档,一次拿全
¥189¥399
限时优惠,已省 ¥210
  • 购买前请观看完整功能演示视频和了解左侧项目信息
  • 源码和教程资料属于虚拟产品,下单后不支持退款
成长 VIP 更划算整单 8 折 性价比拉满 去看看
¥189¥39930 道面试题学完就能答