Cursor实战:15分钟开发图书馆管理系统全流程

引言
用AI编程工具开发一个完整的前后端分离项目,到底需要多长时间?B站UP主Java1234小峰老师用一个实际案例给出了答案——仅需15分钟,就能用Cursor生成一个基于FastAPI + Vue3的图书馆借阅管理系统。本文将完整梳理这个开发过程中的关键步骤、提示词设计技巧以及Bug修复经验。
需求设计:给AI一份清晰的"说明书"
很多人在使用AI编程工具时,最大的问题不是工具不行,而是需求描述不够清晰。小峰老师在这个项目中展示了一份结构化程度很高的需求提示词,值得借鉴。
核心需求要素
这份提示词涵盖了以下关键信息:
- 技术栈指定:后端FastAPI(Python),前端Vue3 + Element Plus
- 目录结构约定:后端在Server目录,前端在Client目录
- 数据库配置:MySQL 8,端口3308,要求生成建表SQL及测试数据
- 复杂度定位:适合大学本科毕业设计,复杂度适中
- 代码规范:所有类和方法加中文备注
- 文件管理:上传的图片统一存放在磁盘根目录下的uploads目录
- 界面要求:美观大方,首页带数据统计图表
这种提示词的设计思路非常值得学习——不是笼统地说"帮我做一个图书馆系统",而是把技术选型、目录结构、数据库配置、编码规范等细节全部前置说明。这样AI生成的代码才能一次性贴合实际需求,减少后续返工。
技术栈选型解析
这里有必要解释一下为什么选择FastAPI + Vue3这套技术栈。FastAPI是近年来Python生态中增长最快的Web框架之一,由Sebastián Ramírez于2018年发布。与Django和Flask相比,FastAPI的核心优势在于:基于Python类型提示(Type Hints)自动生成API文档(Swagger UI和ReDoc),原生支持异步编程(async/await),以及极高的运行性能——官方基准测试显示其性能接近Node.js和Go。FastAPI底层基于Starlette(高性能ASGI框架)和Pydantic(数据验证库),这使得它在处理请求参数校验、序列化等方面几乎零额外代码。对于毕业设计或中小型项目而言,FastAPI的学习曲线远低于Django,同时又比Flask提供了更多开箱即用的功能。
前端方面,Vue3是Vue.js框架的第三个主要版本,于2020年9月正式发布,引入了Composition API、Teleport、Fragments等重要特性。Composition API允许开发者以函数式的方式组织组件逻辑,解决了Vue2中Options API在复杂组件中代码组织混乱的问题。Element Plus则是饿了么团队开源的Element UI的Vue3版本,提供了丰富的企业级UI组件(表格、表单、对话框、分页等),非常适合快速构建后台管理系统。这套技术栈在国内开发者社区中使用率极高,也是高校毕业设计中最常见的前端选型之一。
四步开发流程详解
整个开发过程被拆分为四个清晰的步骤,每一步都有明确的目标。
第一步:新建FastAPI后端项目
首先在本地磁盘新建项目父目录,再创建一个空的Server目录。然后打开PyCharm,选择FastAPI项目模板,配置Python 11虚拟环境,将项目定位到Server目录。创建完成后,默认只有一个main.py文件。

这一步的关键点在于:先用IDE创建好项目骨架和虚拟环境,而不是让Cursor从零开始搭建。这样可以确保Python环境配置正确,避免后续依赖安装的问题。
第二步:新建Vue3前端项目
前端项目使用Vite构建工具创建。在命令行中输入npm create vite@latest,项目名称设为client,选择Vue框架和JavaScript语言。Vite会自动生成项目结构并安装依赖。
Vite由Vue.js作者尤雨溪开发,是新一代前端构建工具。传统的Webpack在开发环境下需要将所有模块打包后才能启动开发服务器,项目越大启动越慢。Vite则利用了浏览器原生支持的ES Modules(ESM)特性——开发环境下不进行打包,而是按需编译,浏览器请求哪个模块就编译哪个模块,因此无论项目多大,启动速度都几乎是即时的。在生产环境构建时,Vite底层使用Rollup进行打包优化。这种"开发用ESM、生产用Rollup"的双引擎策略,使得Vite在开发体验和构建性能上都显著优于Webpack。
这一步同样是先用标准工具链创建项目骨架,再交给AI填充业务代码。这种"人工搭骨架 + AI填内容"的协作模式,比完全依赖AI从零生成要稳定得多。
第三步:Cursor AI生成项目代码
这是整个流程的核心环节。用Cursor打开父目录(包含Server和Client两个子目录),然后进入AI对话。
先Plan后Build的策略非常关键。 小峰老师没有直接让AI生成代码,而是先用Plan模式(选择GPT-4.0模型)让AI理解需求并输出方案。AI会主动提问,比如"系统的角色和功能范围如何设计",这时候需要明确回答:
- 双角色设计:管理员(管理图书、借阅等)和读者/学生(登录、查询、借阅)
- 借阅业务规则:基础借书还书、借出限额上限、超期管理、续借功能

AI生成的方案包括完整的数据库设计(user、category、book等表)、后端API结构、前端页面结构等。确认方案无误后,切换到Build模式(选择Claude 3.5 Sonnet),让AI正式生成代码。
为什么Plan和Build使用不同模型?
一个值得注意的细节是:Plan用GPT-4.0,Build用Claude 3.5。这种"规划用一个模型、编码用另一个模型"的策略,充分利用了不同模型的优势——GPT-4.0在理解复杂需求和方案设计上更强,而Claude在代码生成的准确性和完整性上表现更好。
这种多模型协作的思路在软件工程中有深厚的理论基础,本质上是将"思考"和"执行"解耦。在大语言模型领域,这与Chain-of-Thought(思维链)提示技术一脉相承——让模型先推理再输出,能显著提高复杂任务的完成质量。这也反映了当前AI工程实践中的一个趋势:没有单一模型能在所有任务上表现最优,合理的模型编排(Model Orchestration)往往比单纯追求最强模型更有效。
生成完成后,需要做两件事:
- 将生成的SQL脚本在MySQL中执行,创建数据库和表
- 分别启动前后端服务进行验证
后端启动使用了UV库(uvicorn),前端用npm run dev。两个服务都能正常启动,基本功能可用。这里的uvicorn是一个基于uvloop和httptools的高性能ASGI服务器,是运行FastAPI应用的标准方式。
第四步:测试验证与Bug修复
代码生成后并非万事大吉,还需要逐一验证各模块功能是否正常,并针对发现的问题进行修复优化。
Bug修复与功能优化
界面调整:图书封面显示优化
AI生成的初始版本中,读者中心的图书浏览页面存在一个UI问题——图书封面图片是横向矩形显示,看起来不够美观。

小峰老师直接在Cursor中用自然语言描述修改需求:"读者中心图书浏览模块,图书图片的显示从横向矩形改成竖向矩形。"AI很快完成了修改,图片显示效果明显改善,能看到完整的书籍封面。

功能验证:借阅流程测试
系统的核心借阅流程经过测试验证基本正确:
- 借书:读者可以在图书浏览页面点击借阅,系统会检查可借数量上限
- 分类查询:支持按图书分类筛选
- 还书:读者端和管理员端都可以操作归还,数据实时同步
- 续借:点击续借后会自动延长约半个月的借阅期限
- 借阅记录:完整记录所有借阅历史,包括借出时间、应还时间、实际归还时间
- 个人信息:支持查看和修改个人信息、修改密码
管理员端的功能也比较完善,包括分类管理、图书管理(支持封面上传)、借阅管理(可查看所有借阅记录并操作还书/续借)、数据统计图表等。这些功能覆盖了一个典型CRUD系统的完整生命周期——CRUD是Create(创建)、Read(读取)、Update(更新)、Delete(删除)四种基本数据操作的缩写,几乎所有业务系统的核心都围绕这四种操作展开。
值得一提的是,整个系统采用的前后端分离架构意味着FastAPI后端运行在独立端口提供JSON格式的RESTful API,Vue3前端通过HTTP请求(通常使用axios库)调用这些API获取数据并渲染页面,两者通过跨域资源共享(CORS)机制实现通信。这种架构的优势在于前后端可以并行开发、独立部署、独立扩展,也是当前Web开发的主流架构模式。
经验总结与实践建议
从这个案例中,我们可以提炼出几个使用Cursor等AI编程工具的关键经验:
1. 提示词要结构化、具体化。 技术栈、目录结构、数据库配置、编码规范、UI风格等都应该在需求中明确指定,不要让AI自由发挥。
2. 先搭骨架再填内容。 用PyCharm创建FastAPI项目、用Vite创建Vue项目,确保环境配置正确后再交给AI。这比让AI从零开始生成package.json和requirements.txt要可靠得多。
3. Plan和Build分步进行。 先用Plan模式确认方案,再用Build模式生成代码。这样可以在方案阶段就发现问题,避免生成大量需要推翻重来的代码。
4. Bug修复用自然语言描述即可。 遇到UI问题或功能缺陷,直接用中文描述期望效果,Cursor能很好地理解并修改。
5. 复杂度要适中。 提示词中"适合大学本科毕业设计"这个定位很巧妙,既不会让AI生成过于简陋的CRUD,也不会因为过于复杂导致生成质量下降。
总体来看,15分钟完成一个具备完整CRUD和业务逻辑的前后端分离系统,Cursor的效率确实令人印象深刻。当然,这个"15分钟"更多是指AI生成代码的时间,实际项目中的需求分析、测试验证和Bug修复仍然需要开发者的经验和判断。AI编程工具的真正价值,在于让开发者把精力从重复性编码中解放出来,专注于更有价值的架构设计和业务逻辑。
核心要点
相关推荐

别再手写Prompt了:让AI代理自己提示自己
深度解析AI编程范式转变:从手动编写Prompt到构建代理自提示循环系统。了解如何通过代理自审代码、主动获取上下文等方法,实现规模化高质量AI编程,从Prompt工程师进阶为代理系统设计师。

SpaceX收购Cursor背后:马斯克600亿美元的真正野心
SpaceX以600亿美元全股票方式收购Cursor母公司Anysphere,马斯克看中的不只是代码编辑器,而是AI驱动的软件生产线入口和真实工作流数据。深度解析这笔交易的战略逻辑、潜在风险与AI编程赛道格局。

微信小程序暗黑模式实战:Pencil MCP一键生成配色方案
详解微信小程序暗黑模式完整实现方案,从Pencil MCP生成暗黑配色、AI文生图素材处理,到Theme.js主题切换架构搭建,涵盖CSS变量管理、动态资源加载与系统深色模式监听。