31.Cursor 初体验:用 AI Agent 给 PaperPilot 做一次最小工程重构

目 录

  • [1. 背 景:为什么开始尝试 Cursor](#1. 背 景:为什么开始尝试 Cursor)
  • [2. 项目背景:PaperPilot 是什么](#2. 项目背景:PaperPilot 是什么)
  • [3. 第一步:让 Cursor 只读项目,不改代码](#3. 第一步:让 Cursor 只读项目,不改代码)
  • [4. Cursor 给出的 3 个练手任务](#4. Cursor 给出的 3 个练手任务)
  • [5. 实际修改内容](#5. 实际修改内容)
  • [6.验证过程:不只看 AI 说改完了](#6.验证过程:不只看 AI 说改完了)
  • [7.总 结](#7.总 结)

1. 背 景:为什么开始尝试 Cursor

最近在准备投入 AI 应用工程 / RAG / Agent / Python 后端方向的工作,发现 AI Coding 工具已经逐渐成为工程师日常开发的一部分。之前项目主要在 PyCharm 中开发,这次尝试用 Cursor 打开自己的 PaperPilot 项目,体验一次"让 AI 读代码、提计划、执行小改动、人工审查"的开发流程。

2. 项目背景:PaperPilot 是什么

PaperPilot 是一个面向论文阅读场景的 RAG 问答与多工具 Agent 系统。项目采用 Django + FastAPI + LangGraph + RAGSystem 的分层结构:Django 负责页面、上传和历史会话;FastAPI 提供 AI 推理接口;LangGraph 负责编排工具调用、fallback 和答案生成;RAGSystem 负责检索、rerank、证据充分性判断和上下文生成。Cursor 对项目的初步阅读也识别出了 Django、FastAPI、LangGraph、RAGSystem、VectorStore 这几层职责。

3. 第一步:让 Cursor 只读项目,不改代码

第一次使用 Cursor 时,我没有直接让它修改代码,而是先要求它只阅读项目,不运行命令、不修改文件,输出项目结构、核心入口和适合练手的小改动。下面是提示词:

复制代码
你现在是我的 AI Coding 助手。请先只阅读项目,不要修改任何文件。

这是一个论文 RAG 问答与多工具 Agent 系统,技术栈包括 Python、FastAPI、Django、LangGraph、FAISS/Milvus、RAG。
请帮我梳理:

1. 项目的整体目录结构
2. FastAPI 服务入口在哪里
3. Django 前端如何调用 FastAPI
4. RAGSystem 的核心流程
5. LangGraph Agent Workflow 的节点和状态流转
6. 当前项目里最适合用 Cursor 练手的 3 个小改动

要求:
- 中文回答
- 先不要修改文件
- 不要运行命令
- 只做项目理解和建议

当然Cursor的回答没有让我失望,我感觉这个工具他对于项目的理解非常的强大,而且我还没有使用会员,他对项目的理解完全正确。下面是他梳理的一些项目内容截图:



我感觉对于Cursor这个工具,他可能是有读到我放到项目下的Readme.md文件,同时他自己去读了我项目中的具体代码做了进一步验证,所以他才能非常准确的理解我的项目。

4. Cursor 给出的 3 个练手任务

同时他也给了我三个针对这个项目可以完善的工作:

随后我又给了cursor提示词:

复制代码
请从你刚刚列出的建议里,选择一个最小、安全、适合今晚练手的改动。

要求:
- 不改核心业务逻辑
- 不引入新依赖
- 不大规模重构
- 最好是 README、注释、测试脚本或日志可观测性的小改动
- 先给修改计划,不要直接改代码

不出意料的惊讶,Cursor选择第一条任务,并给出了可落地而详细的修改意见:

甚至他还给项目改动划定了边界,明确不需要做的事情:

5. 实际修改内容

既然已经到这一步,没设么好说的了,下一步是写提示词,让他按照计划开始执行工作:

复制代码
请按刚才的计划执行「统一 FASTAPI_BASE_URL 配置」这个最小改动。

修改范围只允许涉及以下文件:
1. django_shell/config/settings.py
2. django_shell/chat/services/ai_client.py
3. django_shell/documents/views.py
4. README.md(可选,只补 2-3 句说明)

具体要求:
- 在 Django settings.py 中增加:
  FASTAPI_BASE_URL = os.getenv("FASTAPI_BASE_URL", "http://127.0.0.1:8000")
- 如果 settings.py 已有 import os,就不要重复导入;如果没有,再补 import os。
- ai_client.py 不再硬编码 http://127.0.0.1:8000,改为读取 settings.FASTAPI_BASE_URL。
- documents/views.py 不再硬编码 http://127.0.0.1:8000,改为读取 settings.FASTAPI_BASE_URL。
- 保持现有 timeout、请求体、异常处理逻辑不变。
- 不修改 RAG、LangGraph、FastAPI app/main.py、tools.py、requirements.txt。
- 不新增依赖。
- 不做 /health,不做清空会话按钮,不做额外重构。

请直接修改代码,但保持最小 diff。
修改完成后,告诉我:
1. 改了哪些文件
2. 每个文件改了什么
3. 我应该怎么验证

接着Cursor遍开始按照前面制定的计划开始修改项目,每一个改动都可以在对话中被观测到,其实给我的最大感觉,这个Cursor和装了AI assistance并接入codex的Pycharm差不多,可能这个系统更适配vs code使用习惯的用户。

6.验证过程:不只看 AI 说改完了

后面我自己重新启动了项目,发现他的修改没有影响到系统的功能,一切功能正常。

7.总 结

其实经过Cursor的使用,我感觉系统的开发方式其实已经发生了系统性的改变,过去可能需要人来设计系统和纯手敲代码,但是今天的工作方式更多的应该是给ai写提示词,指挥ai工作,这可能才是未来工程师的工作,工程师与ai构成一个人机协同系统,完成项目的开发。

相关推荐
小陶来咯2 小时前
AI Agent 设计模式:ReAct 深度解析
人工智能·react.js·设计模式
阿聪谈架构2 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
人工智能·后端
OpenBayes贝式计算2 小时前
外语、方言、少数民族语言全覆盖:Hy-MT1.5 支持 1056 个翻译方向;MIT 联合发布 MathNet:涵盖 2.7 万道奥数真题的多模态数学推理基准
人工智能
OpenCSG2 小时前
CSGHub v2.1.0开源版本更新
人工智能
沪漂阿龙2 小时前
Dify 面试题详解:开源 LLM 应用开发平台、RAG 知识库、Workflow 工作流、Agent 智能体一文讲透
人工智能·架构
移动云开发者联盟2 小时前
存智赋能 共筑AI存储新生态,移动云聚力技术创新夯实AI数据基石
大数据·人工智能
范范@2 小时前
python基础-5大容器
开发语言·python
user29876982706542 小时前
五、Hooks 实战:验证、通知与环境初始化
人工智能
Nayxxu2 小时前
Claude 长上下文调用成本分析:token、缓存、摘要与切片策略
人工智能