经过前六篇的学习,你已经掌握了Cursor的Ask、Edit、Composer和Agent四种模式。今天,我们将用一篇完整的实战教程,把这些技能串联起来——从零开始,用Cursor搭建一个基于RAG的AI问答应用。
这是Cursor实战指南系列的最后一篇。读完它,你将具备用Cursor独立完成真实项目的能力。
我们要搭建的东西很简单:一个可以上传文档、然后基于文档内容回答问题的Web应用。技术栈选择:
打开Cursor,按 Ctrl+I 切换到Agent模式,输入:
创建一个新项目,名为 pdf-qa-app。使用 Python FastAPI 作为后端,React + TypeScript 作为前端。后端需要支持上传PDF文件,使用 LangChain 做文档切分,ChromaDB 做向量存储,OpenAI API 做问答。前端需要有一个上传按钮和一个问答输入框。请用最佳实践的目录结构初始化项目。
Agent会自主完成以下工作:
requirements.txt 和 package.json.env.example 和 README.md整个过程不需要你手动创建任何一个文件。Agent自己会规划、执行、验证。
Agent完成初始化后,切换到Composer模式(Ctrl+I 选Composer标签),输入:
实现后端文档上传接口。接收PDF文件,用PyPDFLoader加载,用RecursiveCharacterTextSplitter切分,用OpenAI Embeddings生成向量,存储到ChromaDB。添加进度日志。
Composer会流式输出代码变更,你可以实时预览每个文件的修改。确认无误后,按Accept接受。
关键点:告诉Cursor你的依赖版本偏好(如 langchain==0.2.x),避免自动安装最新版导致API变动。
问答接口涉及向量检索 + LLM调用 + Prompt工程,容易出bug。这时用Ask模式来辅助调试:
选中 qa.py 文件,按 Ctrl+L 打开Chat面板,问:
这段代码在做向量检索时,similarity_score_threshold 设置为0.7是否合理?我的文档比较短,是不是应该调低?另外,Prompt里要不要加上"如果不知道答案就说不知道"的指令?
Cursor会分析你的代码,给出具体建议。你可以直接在对话中要求它修改,也可以自己改完后让它review。
后端完成后,让Agent帮你完成后端前端联调:
完善前端页面。上传PDF后显示文件名和页数,问答区域显示回答和参考来源(包含来源页码)。处理加载状态和错误提示。使用 Tailwind CSS 做样式。所有API调用都需要有超时处理。
Agent会自动:读取后端API定义 → 生成匹配的前端调用代码 → 处理CORS → 添加错误处理 → 美化UI。
最后,用Composer模式生成部署配置:
添加 Dockerfile 和 docker-compose.yml,让整个应用可以用 docker compose up 一键启动。包含后端、前端、ChromaDB三个服务。添加 .dockerignore。
几秒钟后,你就得到了一个生产级的部署配置。
回顾整个流程,Cursor在每个阶段扮演的角色:
| 阶段 | 模式 | 你的工作 | Cursor的工作 |
|---|---|---|---|
| 项目初始化 | Agent | 描述需求 | 规划+执行+验证 |
| 核心功能开发 | Composer | 审核代码 | 编写+预览 |
| 调试优化 | Ask | 提问+决策 | 分析+建议 |
| 联调收尾 | Agent | 验收测试 | 自主修复 |
| 部署配置 | Composer | 指定要求 | 生成配置 |
七篇文章,我们从Cursor的安装走到了完整项目实战。核心要点再强调一遍:
四种模式不是孤立的,而是在不同场景下灵活切换。真正的高手,懂得在什么阶段用什么模式——而不是永远只用Agent。
祝你在AI辅助编程的路上越走越远。有问题随时在评论区交流。
评论区