LangChain4j 全栈 | AI 程序员技术练兵场项目教程
LangChain4j 全栈 | AI 程序员技术练兵场项目教程
基于 Spring Boot + Vue 的程序员闯关式技术练兵场,AI 模拟产品经理出题、用户拖拽选择技术方案、AI 智能评分并调整薪资。以 AI 编程为核心开发方式,实战 LangChain4j AI 开发框架、结构化输出、对话记忆、工具调用、提示词工程,掌握企业级 AI 应用开发流程和技巧。

项目介绍视频:https://www.bilibili.com/video/BV1dW4tz9E5M

学习到的知识

1)怎么快速利用 AI 进行编程,完成有点复杂度的项目

2)Java 后端 + 前端 Vue

3)AI 应用开发框架(比如 LangChain4j)

4)AI 应用开发的知识(结构化输出 + 对话记忆 + 工具调用)

需求分析

把需求写得详细一点,尽量可以直接作为给 AI 的提示词

想做一个类似游戏的项目,帮助程序员朋友们提高需求分析、方案设计能力、技术的广度,快速了解到更多技术和方案,帮助用户评估当前的薪资水平(中国区域)。

首先初始的用户薪资为 10000 元 / 月,用户可以进行闯关。

每一个关卡都由 AI 生成,需要给出:

1)把 AI 模拟成产品经理,需要给出一段尽可能清晰的需求描述(企业中真实的需求和业务场景)

2)让 AI 给出很多个选项,选项包括但不限于技术名词、技术知识点、方案的实现细节、零碎的实现思路、实现项目的关键流程、开发环境、依赖等等(其中一部分是正确答案,另一部分是干扰项,至少 10 个以上)

注意,关卡的难度根据用户当前的薪资决定,需要根据薪资动态调整难度,尽量符合中国企业招聘程序员的实际标准。

AI 生成关卡之后,用户可以将选项 拖拽 到答题区域(一个方框),点击提交之后,由 AI 根据下列信息生成结果。

需要根据的信息:

  1. 当前的关卡的内容,包括关卡名称、关卡给出的需求描述(详细一些)
  2. 用户选择的选项
  3. 本关卡的正确选项
  4. 用户当前的薪资

最重要生成的结果报告需要包含:

1)本关卡用户作答的分数(满分 100 分)

2)给本次用户的作答一个评价(可以尽量幽默搞笑一些,比如升职加薪、减薪、直接开除、直接把公司给你等等)

3)调整用户当前的薪资(一个具体的加减数字)

4)基于用户当前的薪资给出一些投递公司的建议(注意,一定不要使用真实公司名称和产品名称,可以使用化名,比如阿里巴巴可以改为“阿巴阿巴”,腾讯可以改为“企鹅大王”)

5)解释给出当前分数和评价的原因

6)列举出本关卡的标准答案

7)给出标准的、尽可能详细的关卡答案,包括企业中怎么实现这个需求,有什么样的标准的设计方案,应该运用哪些技术来实现,并且给出各个正确选项在实现中的作用(尽量使用自然语言来描述,语句通顺连贯)

参考的自然语言风格:

markdown
复制代码
为了提升用户体验,需要为工具调用支持流式输出能力,但是只流式输出工具调用的基本信息,让用户能看到 AI 调用了哪些工具,避免了复杂的拼接解析逻辑(不利于项目扩展)。 由于不知道要生成多少个文件、以及文件的层级组织关系,需要使用工具调用来写入文件。工具调用中需要特别注意文件路径的处理。如果不使用工具调用,就要输出一大堆的代码块,自己解析

必须只生成我要求的内容,不要生成任何多余的内容!

附加功能

  1. 基于用户的回答和薪资水平,给用户推荐一些面试题(比如从面试鸭获取 mianshiya.com

方案设计

核心业务流程

根据业务流程图,我们发现程序要调用 AI 至少 2 次:

1)生成关卡

2)生成结果报告