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构成一个人机协同系统,完成项目的开发。

相关推荐
wno70414 分钟前
Spring Security权限控制
java·python·spring
wshzd31 分钟前
LLM之Agent(六十八)|PI(七)构建测试与开发流程
人工智能
H03111698532 分钟前
App竞品数据平台功能梳理:月狐数据、七麦数据、点点数据
人工智能
YOLO数据集集合37 分钟前
高铁轨道紧固件损坏检测数据集 | 高铁巡检 紧固件缺陷 轨道安全9093期
人工智能·目标检测·计算机视觉·目标跟踪·轨道·铁轨紧固件·铁轨
冬奇Lab39 分钟前
一天一个开源项目(第223篇):TeamAI-CLI —— 腾讯开源的团队级 AI Agent 中间层,让每个人的 AI 能力变成团队共享能力
人工智能·开源·资讯
ShineWinsu1 小时前
对于Coze—AI:SDK的解析
人工智能·python·ai·sdk·项目·coze·字节跳动
代码方舟1 小时前
零信任架构实战:基于天远名下企业A构建自动化B2B供应链准入网关
人工智能·ai·工具分享
IvorySQL1 小时前
IvorySQL 5.6 发布:PG 18.6 内核升级,沙盒即开即用
数据库·人工智能·postgresql
右耳朵猫AI1 小时前
Python周刊2026W38 | 标准流编码修复、PEP 845/846 草案、解析器提速 10%、集合字典二次复杂度
python·ai·数据科学
俗人六哥AI企业获客盈利系统1 小时前
知识库才是AI落地的分水岭
人工智能·线性代数·矩阵·自动化