用这个提示词,教会AI理解你的整个项目
作为一名cursor的重度用户,在差不多连续订阅一年之后,它几乎成为了我在编码过程中不可或缺的助手。
但是,就像跟任何队友协作一样,沟通的质量决定的协作的效率。
尽管已经使用cursor快一年了,但是还从来没有写过任何关于cursor的博客。
今天分享一个我自己用了好几个月的Prompt,它可以帮助AI(不一定是cursor,任何AI IDE都可以)更好地理解你的代码(库)。
问题的根源: AI的“代码失忆症”
如果你也经常使用cursor、github copilot、trae这种AI IDE工具,应该会有一个感受:当代码库大一些之后,AI就很难比较完整地理解整个代码库。明明有一个现成的模块,AI还是会自己重写一个。
这就是AI coding过程中“上下文缺失”问题,我称之为AI的“代码失忆症”。
当代码规模变大,文件和模块增多,AI就像一个只被告知了当前任务、但不了解整个项目的新同事。
它不了解整个项目的架构,不知道我们已经已经积累了哪些“轮子”,导致它会重复造轮子,甚至会提出与原先设计理念相违背的方案。
我自己经常遇到这个问题,后来就想到可以给AI提供一份项目说明书:用AI生成一个文档,详细地列出来当前代码库有哪些文件,每个文件有哪些内容。这样,AI通过阅读这个文档就能掌握整个代码库的情况。
完整的Prompt如下,它的核心目标就是指导AI为指定的目录生成或者更新一份结构化的README文档。
1 | 为指定的目录生成/更新README.md文件,文件内容需要包含以下部分: |
这个Prompt有两个重点:
- 禁止猜测:明确要求 AI 必须实际阅读文件内容,杜绝基于文件名进行猜测。
- 保持更新:要求 AI 校验并更新过时信息,确保这份文档是准确的。
我的使用经验
用了cursor之后,我在自己的sideproject中比较喜欢使用Monorepo模式,也就是把所有的代码都放在一个代码库中,前端、后端、插件、桌面端都在一起,这样方便AI整体理解代码。
所以我的项目结构大致是这样的:
1 | .project_root |
由于整个代码库比较大,所以我会让AI遵循上面的Prompt为每一个一级子目录(如backend、frontend)生一个README文件。
生成的README文件大致是下面这样的。
1 | # Language Leap Backend |
顺带推广一下,上面案例中的Language Leap是我自己开发的一个学习英语的工具。
整个README分为5个部分:项目概述、技术栈、项目架构、目录结构和核心文件说明。
其中最重要的是目录结构(一个目录树) 和 核心文件说明。这两个部分就像一张高清地图,精确地告诉AI:
- 项目里有哪些”路“(文件和目录)?
- 每条”路“通向哪里(文件的具体作用)?
- 哪些是”主干道“(核心逻辑)?
当我要开发一个新功能,或者排查一个复杂的 Bug 时,我只需将对应模块的 README.md 内容作为上下文喂给 AI。从我这几个月的使用经验来看,效果会有很明显的提升。
成本与平替工具
这种深度分析代码库的操作,对于大模型 token的消耗也是非常惊人的,我月初使用claude sonnet4 thinking模型生成后端和前端的README花了差不多4美金。
对于这种一次性的、长上下文的文档生成操作,我找到了两个可以平替的工具:阿里的Qwen code和Gemini CLI。
这两个工具都提供了充足的免费额度和超长的上下文窗口(百万级 Token),足以处理一个大型模块的代码。虽然在日常编码的交互体验上,我依然更偏爱 Cursor ,但在执行这种“重型”文档生成任务时,切换到这些免费工具也是不错的选择。