(涵盖 LangChain、Claude Code、单元测试、BUG 调试、Agent 技能、Git 管理与压力测试)
全文精简复习版
本文全程以零基础小白视角,完整还原基于 \\Vibe Coding(氛围编程)\\ 的企业级 RAG 项目开发全流程,所有核心知识点可浓缩为以下要点,方便快速回顾:
核心理念:Vibe Coding 本质是「自然语言驱动开发」,无需精通代码语法,只需通过日常语言和 AI 编程助手(Claude Code)沟通需求、描述问题,就能完成从 0 到 1 的项目落地,零基础也能产出可用软件。
项目目标:基于 LangChain 框架开发一套电商场景的 RAG(检索增强生成)知识库问答系统,支持用户注册登录、多会话独立管理、管理员知识库上传维护、AI 问答自动引用知识库内容并标注来源。
技术选型:后端采用 Python + FastAPI,前端采用 React + TypeScript + Ant Design;大模型接入阿里云百炼 API,数据库使用 SQLite 存储业务数据、ChromaDB 存储向量数据,适配 Windows 本地一键脚本启动。
开发流程:先通过「计划模式」和 AI 对齐需求与技术方案,再生成初版代码;随后跨项目迁移单元测试技能,执行自动化测试,并逐一修复启动脚本、模型调用、知识库状态、会话持久化、用户数据隔离等多类 BUG。
效率工具:支持跨项目迁移自定义技能(Skill)、编辑代理(Edit)与钩子(Hook),实现代码质量检查、安全扫描、Git 提交拦截等自动化能力;配合 Git 完成本地版本存档与远程仓库托管。
性能验证:使用 Locust 工具开展并发压力测试,通过阶梯加压模拟 100 用户同时在线场景,验证系统核心接口成功率达 99.9% 以上,RAG 问答平均延迟约 2 秒,满足基础企业级使用需求。
学习边界:Vibe Coding 可大幅降低开发门槛,但无法完全替代人类开发者;零基础可借助它快速落地项目,想要深耕行业仍需学习编程基础、数据库、网络、性能优化等核心知识。
一、初识 Vibe Coding:零基础也能做开发的「氛围编程」
很多零基础的同学会觉得「写代码」门槛极高,需要记住大量语法、框架、API 才能动手。而 Vibe Coding(氛围编程) 彻底改变了这个逻辑 ------ 它的核心不是「写代码」,而是「沟通需求」。
简单来说,你只需要像和同事聊天一样,用自然语言告诉 AI 你想做什么、遇到了什么问题、想要什么效果,AI 就会自动生成代码、排查错误、优化方案。你不需要知道每一行代码的含义,只需要把控需求方向、验证最终效果,就能完成完整的项目开发。
Vibe Coding 核心概念汇总
|-------------------|------------------------------------------------|-------------------------|
| 概念 | 通俗解释 | 核心作用 |
| Vibe Coding(氛围编程) | 以自然语言为核心,靠「描述氛围、沟通需求」驱动 AI 完成开发的编程模式 | 降低开发门槛,让零基础用户也能落地软件项目 |
| Claude Code | 一款 AI 编程助手工具,可集成在 VS Code 中,支持读写代码、执行命令、调试 BUG | 代码生成、问题排查、项目管理的核心载体 |
| Plan 模式(计划模式) | Claude Code 的一种工作模式,只输出方案不修改代码,用于前期需求对齐 | 避免 AI 盲目写代码,先确认方案再动手开发 |
| Skill(技能) | 自定义的工作流文件,封装了特定任务的步骤与规则(比如单元测试、代码审查) | 复用成熟流程,让 AI 按固定标准完成特定任务 |
| Edit(编辑代理) | 针对特定场景的智能代理,比如 Git 提交代理、质量工程师代理 | 细分场景下的自动化处理,提升专业度 |
| Hook(钩子) | 拦截特定操作的规则,比如提交 Git 前先过质量检查 | 强制流程规范,避免不合规代码提交 |
💡 小白提示:你可以把 Skill 理解成「预制菜谱」,Edit 理解成「专项厨师」,Hook 理解成「安检门」------ 有了它们,AI 做事会更规范、更符合你的预期。
二、项目实战背景:RAG 知识库问答系统全解析
本次实战的项目是企业级 RAG 知识库问答系统,这是当前 AI 领域非常热门的应用方向,也是很多同学毕业设计、企业项目的首选。
2.1 什么是 RAG?
RAG 全称 检索增强生成(Retrieval-Augmented Generation),核心作用是给大模型「外挂知识库」。
-
大模型本身只知道互联网公开的知识,不知道你公司的内部文档、商品参数、班级名单这类私有信息。
-
RAG 就是把你的私有文档提前处理好存起来,用户提问时,先从你的文档里找到相关片段,再把片段和问题一起发给大模型,让大模型基于你的资料回答问题。
RAG 核心工作流程汇总
|-------------|--------------------------------------------------------|-------------------------------------------|
| 流程分类 | 核心步骤 | 通俗解释 |
| 离线流程(准备知识库) | 1. 提取文档文本 2. 切分成小片段 3. 片段转成向量 4. 存入向量数据库 | 把书本拆成一页一页的小卡片,给每张卡片打上「语义标签」,放进柜子里存好 |
| 在线流程(用户提问) | 1. 用户问题转成向量 2. 去向量库匹配相似片段 3. 把问题 + 匹配片段拼好 4. 发给大模型生成答案 | 用户提问后,先从柜子里找出相关的卡片,再把卡片和问题一起交给老师,老师看着资料回答 |
2.2 项目需求与功能清单
我们以「电商商品问答」为场景,给系统设定了明确的功能要求,同时兼顾毕业设计的亮点需求。
项目功能清单汇总
|---------|--------------------------------------|-----------------|
| 功能模块 | 具体要求 | 权限说明 |
| 知识库管理 | 支持上传文档、删除文档、查看处理状态;问答时自动引用知识库内容并标注来源 | 仅管理员可操作 |
| AI 问答功能 | 用户可和模型对话,回答优先参考知识库内容,支持多轮对话 | 所有登录用户可用 |
| 用户系统 | 支持注册、登录、修改密码,预设管理员账号admin/123456 | 所有用户通用,管理员有额外权限 |
| 会话管理 | 支持新建会话、查看历史会话、删除会话,每个用户会话独立 | 所有登录用户可用 |
| 性能优化 | 流式响应、对话窗口限制、查询缓存、异步 IO、前端防抖 | 全局生效,提升使用体验 |
| 附加体验 | 答案引用高亮、对话导出、暗色模式、批量导入 | 增强用户体验,作为毕设加分项 |
三、从零启动:项目方案讨论与初版代码生成
做项目不能上来就写代码,第一步永远是「对齐方案」。我们先让 AI 出完整的技术方案,确认没问题再动手开发。
3.1 第一步:用 Plan 模式聊需求
我们先把 Claude Code 切换到Plan 模式,把需求完整描述给它:
-
身份:零基础大学生,做毕设
-
核心要求:必须用 LangChain 框架,做 RAG 知识库问答系统
-
功能:上面表格里的所有需求
-
额外要求:技术选型你来定,但要适合小白,还要有性能优化亮点
AI 会输出一整套技术方案,包括技术栈、系统架构、数据库设计、API 设计、性能优化点等等。
3.2 方案调整:适配小白的实际情况
AI 最初的方案里有两个不适合零基础的点,我们做了调整:
-
本地模型 → 云端 API:原本 AI 建议本地跑开源模型,但对电脑显卡要求很高,低配电脑带不动。改成阿里云百炼 API,只要有网就能用,新用户还有免费额度。
-
Docker 部署 → 脚本启动:原本建议 Docker 一键部署,但国内网络下载镜像很慢,小白容易卡住。改成 Windows 批处理脚本(.bat),双击就能启动。
最终技术选型汇总表
|--------|--------------------------------------|--------------------------------------|
| 技术分类 | 选型 | 选型原因 |
| 大模型服务 | 阿里云百炼平台(通义系列模型) | 新用户有 100 万免费 token,调用稳定,中文效果好,无需高配电脑 |
| 嵌入模型 | 阿里云百炼向量模型 | 和大模型同平台,兼容性好,用于文本转向量 |
| RAG 框架 | LangChain + LangChain Community | 行业主流框架,生态完善,符合毕设技术要求 |
| 后端框架 | FastAPI + Python 3.11 | 语法简单,开发快,原生支持异步,适合小白 |
| 前端框架 | React 18 + TypeScript + Ant Design 5 | 主流前端技术栈,UI 组件丰富,界面美观 |
| 关系型数据库 | SQLite | 轻量级,无需安装服务,文件式存储,小白零配置 |
| 向量数据库 | ChromaDB | 轻量级本地向量库,无需额外部署,适配 LangChain |
| 启动方式 | Windows .bat 批处理脚本 | 双击即可启动前后端,无需敲命令 |
3.3 准备工作:获取阿里云 API 密钥
使用云端大模型需要先获取 API 密钥,步骤很简单:
-
打开「百炼。阿里云.com」,注册登录并完成实名认证
-
进入「模型服务 - API 密钥」,点击创建密钥
-
复制密钥并下载保存(关闭窗口后无法再次查看,丢失只能重建)
3.4 初版代码生成与首次启动
确认方案后,我们切换回自动编辑模式,AI 就会自动生成前后端所有代码、安装依赖、尝试启动项目。
小白必知:代码几乎不可能一次跑通。无论是人写还是 AI 写,初版代码一定会有各种环境问题、路径问题、兼容问题,这是完全正常的。程序员 80% 的时间都在调 BUG,AI 开发也不例外。
首次启动我们就遇到了两个经典问题:
-
启动脚本一闪而过,窗口直接消失
-
Windows 命令行中文乱码
这些问题我们会在下一章「BUG 调试」里详细讲解修复过程。
四、质量把关:单元测试与全场景 BUG 调试
代码写完不代表能用,必须经过完整的测试。测试分为两步:自动化单元测试 和人工端到端测试。
4.1 单元测试:技能迁移,一键复用
单元测试就是针对每一个功能模块写测试用例,自动验证功能是否正常。我们不需要自己写,直接把之前项目里的「单元测试技能」迁移过来就行。
单元测试核心要点汇总
|------|----------------------------------------------|-----------------------------|
| 操作步骤 | 具体做法 | 小白理解 |
| 技能迁移 | 告诉 AI「把 XX 项目里的 unit test 技能迁移到当前项目,适配当前技术栈」 | 把别人家的「自动考试卷」拿过来,改成适合我们项目的版本 |
| 测试生成 | AI 自动读取项目代码,为每个功能生成对应的测试函数 | AI 自动出考题,覆盖所有功能点 |
| 依赖安装 | 自动安装 pytest 等测试框架依赖 | 准备考试需要的文具 |
| 执行测试 | 自动运行所有测试用例,生成测试报告 | 自动批改试卷,告诉你哪些对了哪些错了 |
| 自动修复 | 测试不通过时,AI 自动排查并修复代码 | 错题自动订正,再重新考一遍 |
本次项目中,后端共生成 34 个测试用例,最初 1 个失败,AI 自动修复后全部通过;前端测试也全部通过。
4.2 人工端到端测试:全流程踩坑与修复
单元测试只能保证单个模块没问题,真正用起来还会有很多联动 BUG。我们逐一测试了所有功能,把问题反馈给 AI,AI 全部完成了修复。
核心 BUG 与修复方案汇总表
|----------------------------------------|--------------------------------------------------------------|------------------------------------------------|
| BUG 现象 | 问题原因 | 修复方案 |
| 双击 start.bat 后,窗口一闪而过直接退出 | 脚本路径、环境判断有问题,执行出错直接退出 | 修正脚本中的路径逻辑,增加错误提示与环境检查 |
| 命令行输出一堆乱码,功能无法正常使用 | Windows CMD 默认编码不是 UTF-8,中文显示异常 | 脚本中增加编码设置,同时提供手动启动方案作为兜底 |
| 发送消息后提示「回答失败」,大模型无响应 | 1. API 地址用了旧的公共端点,不是业务空间地址 2. 调用方式用了 OpenAI 兼容格式,不是阿里云原生 SDK | 1. 替换为密钥文件里的业务空间专属端点 2. 改用 LangChain 阿里云百炼原生集成 |
| 上传知识库、删除知识库都提示失败 | 数据库表结构初始化异常,旧数据冲突 | 删除旧的数据库文件,重启后端自动重建表结构 |
| 知识库上传成功,但一直显示「处理中」,实际问答已经能用 | 向量化是异步任务,任务完成后没更新数据库状态(缺少 commit) | 修复异步任务逻辑,处理完成后主动提交数据库状态更新 |
| 切换页面再切回来,AI 的回复就消失了;问第二个问题时 AI 还在回答第一个 | AI 回复只渲染到了页面,没有持久化存到数据库 | 修复消息存储逻辑,AI 回复生成后立即写入数据库;增加历史消息去重 |
| 切换账号登录后,能看到上一个用户的聊天消息 | 前端聊天数据没有按用户隔离,存在缓存污染 | 修复前端存储逻辑,登录时清空旧用户数据,按用户 ID 隔离会话 |
| 普通用户登录后看不到「知识库管理」菜单 | 权限控制正常生效,只有管理员才有知识库管理权限 | 属于预期功能,不是 BUG,验证了权限逻辑正确 |
💡 小白调试技巧:遇到 BUG 时,尽量把错误截图、日志信息、复现步骤都给 AI,信息越全,AI 修复得越快越准。不要只说「用不了」,要告诉 AI「我做了什么、出现了什么、报错内容是什么」。
五、效率升级:技能迁移、Agent 配置与 Git 版本管理
项目功能跑通后,我们可以给项目加上更多「自动化能力」,让后续开发更规范、更高效。
5.1 跨项目迁移:技能、Edit 与 Hook
我们把之前「黑马记账 APP」项目里沉淀的所有效率工具,全部迁移到了当前 RAG 项目中,AI 会自动适配当前技术栈。
迁移资产清单汇总表
|------------|---------------|--------------------|------------------------------------------------|
| 资产类型 | 名称 | 核心作用 | 适配调整 |
| Edit(编辑代理) | Git Commit 代理 | 自动生成规范的 Git 提交信息 | 保留原有逻辑,适配 Python 项目 |
| Edit(编辑代理) | 单元测试工程师 | 专门负责写单元测试、跑测试 | 从纯前端测试改为前后端双端测试 |
| Edit(编辑代理) | 质量工程师 | 审查代码质量、安全问题 | 移除 Electron 安全检查,新增 FastAPI 安全、JWT 认证、RAG 管道审查 |
| Skill(技能) | 注释检查 | 检查代码注释是否规范完整 | 适配 Python+React 双语言 |
| Skill(技能) | 安全检查 | 扫描代码中的安全漏洞 | 改为 Web 安全方向,覆盖接口鉴权、SQL 注入等 |
| Skill(技能) | 单元测试 | 自动化单元测试全流程 | 适配当前项目技术栈 |
| Skill(技能) | 运行应用 | 一键启动项目 | 适配前后端分离启动逻辑 |
| Skill(技能) | 重构应用 | 代码重构与优化 | 适配 Python+LangChain 代码 |
| Hook(钩子) | Git 提交拦截 | 提交代码前先过质量门,不通过不许提交 | 匹配当前项目的质量检查规则 |
注意:新建的 Hook 不会在当前会话立即生效,需要切换一下会话或者重启 VS Code 才能激活。
5.2 Git 版本管理:给代码上「存档」
写代码和玩游戏一样,需要随时存档,万一改坏了可以回退到之前的版本。Git 就是最主流的代码版本管理工具。
Git 操作全流程汇总表
|--------|------------------------------|-----------------|
| 操作步骤 | 命令 / 动作 | 通俗解释 |
| 初始化仓库 | git init | 给当前文件夹开启「存档功能」 |
| 添加文件 | git add . | 把所有文件都加入到存档范围 |
| 首次提交 | git commit -m "提交说明" | 创建第一个存档点,记录当前版本 |
| 创建远程仓库 | 在 Gitee/GitHub 网页上新建仓库 | 在云端建一个备份仓库 |
| 关联远程地址 | git remote add origin 仓库地址 | 把本地文件夹和云端仓库绑定 |
| 推送到远程 | git push -u origin master | 把本地存档上传到云端备份 |
操作完成后,我们的代码就同时存在本地和云端两份,哪怕本地电脑坏了,云端的代码也不会丢。同时 AI 还自动生成了README.md文档,说明项目的使用方法。
六、性能验证:并发压力测试全流程
功能能用只是基础,能不能扛住多人同时使用,才是衡量系统好不好的关键。我们做了一轮并发压力测试,模拟 100 个人同时用系统,看看稳不稳定。
6.1 压测前的前置优化
AI 先发现了一个致命问题:嵌入模型调用是同步的。如果 100 个人同时提问,会挨个排队阻塞,并发高了直接卡死。所以先做了优化:把同步调用改成异步调用,支持同时处理多个请求。
6.2 压测方案设计
我们选用 Locust 作为压测工具,它是 Python 生态的主流压测工具,还自带可视化网页界面。
压力测试方案汇总表
|----------------|---------------------------------------------|----------------------------|
| 方案项 | 具体内容 | 说明 |
| 测试工具 | Locust | Python 原生,自带 Web UI,实时监控指标 |
| 测试场景 1:轻量 CRUD | 注册、登录、创建会话、删除会话 | 不调用大模型,不消耗 token,测基础接口性能 |
| 测试场景 2:RAG 问答 | 发送问题,触发知识库检索 + 大模型回答 | 核心业务场景,消耗 token,测全链路性能 |
| 测试场景 3:全场景混合 | 所有接口混合调用 | 模拟真实用户使用习惯 |
| 并发策略 | 阶梯加压:10 用户 → 50 用户 → 100 用户 | 逐步增加压力,观察系统承载极限 |
| 核心指标 | 1. RPS(每秒请求数) 2. 平均响应时间 3. 95 分位响应时间 4. 错误率 | 分别衡量吞吐量、速度、稳定性 |
| 前置准备 | 批量注册 100 个测试用户,预上传 10 份测试文档 | 模拟真实数据环境 |
6.3 压测过程与结果解读
我们从 10 个用户开始逐步加压,一直加到 100 个并发用户,全程监控接口状态,最后导出完整的测试报告交给 AI 解读。
压测结果分析汇总表
|------------|-----------------------|----------------------|
| 指标项 | 实测结果 | 结论评价 |
| 总请求数 | 23514 次 | 样本量充足,结果有参考价值 |
| 总失败数 | 14 次 | 失败率 < 0.1%,稳定性优秀 |
| 失败原因 | 全部为网络连接层面的超时 / 断开 | 不是服务端代码报错,属于正常网络波动 |
| 基础 CRUD 接口 | 平均延迟 < 200ms,零失败 | 表现极好,完全满足使用 |
| RAG 问答接口 | 平均延迟约 2000ms(2 秒),零失败 | 表现良好,符合大模型调用的正常水平 |
| 知识库检索接口 | 平均延迟约 700-800ms | 表现可接受,受嵌入模型 API 速度限制 |
| 100 并发稳定性 | 极少量失败,整体服务正常 | 满足百人级同时在线使用需求 |
小白解读:100 个人同时用这个系统,几乎不会出问题;问 AI 问题大概 2 秒出答案,普通操作点一下就有反应,完全够用了。
七、全文总结:小白学习 Vibe Coding 的正确姿势
7.1 全流程复盘
我们用 Vibe Coding 的方式,完整走完了一个企业级 RAG 项目的全生命周期:
-
需求规划:用 Plan 模式对齐技术方案,调整适配小白环境
-
代码开发:AI 自动生成前后端全量代码,快速跑出初版
-
测试调试:自动化单元测试 + 人工端到端测试,修复所有核心 BUG
-
效率升级:迁移技能、Agent 与 Hook,搭建规范化开发流程
-
版本管理:Git 本地存档 + 云端推送,保障代码安全
-
性能验证:并发压力测试,验证系统承载能力
7.2 给零基础学习者的建议
-
Vibe Coding 是神器,但不是万能的 它能帮你快速落地项目、搞定毕设、做出原型,但不能帮你理解底层原理。如果想真正入行开发,还是要补学 Python、数据库、计算机网络、数据结构等基础知识。
-
小白使用的核心心法:多描述、多给信息、多验证
-
描述需求要说清楚「我要什么效果」,不用说「怎么实现」
-
遇到报错把日志、截图、复现步骤全给 AI,信息越全修得越快
-
AI 写完一定要自己亲手测一遍,不要盲目相信结果
-
-
技能沉淀是提升效率的关键 常用的流程(比如单元测试、代码审查、Git 提交)都可以做成 Skill 沉淀下来,下一个项目直接迁移复用,越用越快。
-
责任永远在人,不在 AI 代码是 AI 写的,但项目是你的。上线出了问题、答辩答不上来,最终承担后果的都是你。所以哪怕用 AI 开发,也要尽量理解核心逻辑,知道系统是怎么跑起来的。
写在最后:Vibe Coding 不是让程序员失业,而是让更多人有机会创造软件。对于零基础的你来说,它是一扇门 ------ 帮你跳过枯燥的语法入门,直接体验做出完整项目的成就感;而门后面的路,依然需要你踏踏实实地走下去。