Cursor进阶: 模块结构上的使用
Cursor进阶: 模块结构上的使用
Cursor进阶: 模块结构上的使用 Cursor进阶: 模块结构上的使用 Modified June 11, 2025 [Cursor]全局通用AI规则五大规则模式+多维思考让你码到飞起 V4.5(3).zip 258.38KB 3:关联模块文档,列出模块的整体架构,让AI在做更新/理解功能的时候使用,,以便于全局理解更新需要做的事情 4:全局文档,用处暂时不大,但是可以配置,便于自己理解项目 2025/1/11 更加详细的文档:仅供参考 以上的图可能过于复杂,实际上不需要,AI也不需要如此详细的图 猜测,可能 触发功能 连携功能 后续功能 结尾功能 的方式,还在思考怎么做图 更适合 2025/1/13 每个项目应该有属于项目架构类型的文档图 比如前端应该有和前端开发相关的文档图,后端应该有和后端开发相关的文档图,细分领域应该同样如此 具体图的规范类型还在研讨中, 我自己是前端,在前端开发时,我认为应该先使用AI 创建并完善页面需求文档图 创建HTML [完善页面,完成交互逻辑,定义事件+后续事件],这样就有了一个MVP级别的由HTML构建的骨架demo,然后再尝试让AI把骨架demo植入项目中,同时,在前端项目中,最贴近设计和文档的也是HTML本身,并且HTML没有过于复杂的逻辑,AI做编辑更改也容易。 目前还在熟悉,熟悉HTML之后应该能由HTML交互总结出文档的构建规范 2025/1/15 如何应对不理想的生成 在交互过程中常常会给出不理想的生成结果,通常是无法100%避免的,但其实可以通过二次revert然后加强调句来完成, 面向它已经生成的结果,二次强调,重新生成 第一次,生成的结果不理想,我根据他提供的意见参考,加了第二次 第二次,结果还是不理想,于是有了第三次 第三次,完成了我的需求 我们应该珍惜composer的交互 每一次交互都会产生记忆,应该像 <如何应对不理想的生成 一样,尽可能去完善,修正每一轮的交互,避免产生垃圾交互,这样才能保证AI长时间处在高质量的反馈上 在能开启新composer的时候尽可能去开启 2025/1/16 同时和多个composer进行交互&保存 如果你能区分好每个composer管理的模块和业务,然后以精细化的模式让composer完成它的认为,就可以这么做 能有效提高产出速度 [Cursor]全局通用AI规则五大规则模式+多维思考让你码到飞起 V4.5(3).zip 258.38KB [Cursor]全局通用AI规则五大规则模式+多维思考让你码到飞起 V4.5(3).zip 258.38KB 3:关联模块文档,列出模块的整体架构,让AI在做更新/理解功能的时候使用,,以便于全局理解更新需要做的事情 4:全局文档,用处暂时不大,但是可以配置,便于自己理解项目 2025/1/11 更加详细的文档:仅供参考 以上的图可能过于复杂,实际上不需要,AI也不需要如此详细的图 猜测,可能 触发功能 连携功能 后续功能 结尾功能 的方式,还在思考怎么做图 更适合 2025/1/13 每个项目应该有属于项目架构类型的文档图 比如前端应该有和前端开发相关的文档图,后端应该有和后端开发相关的文档图,细分领域应该同样如此 具体图的规范类型还在研讨中, 我自己是前端,在前端开发时,我认为应该先使用AI 创建并完善页面需求文档图 创建HTML [完善页面,完成交互逻辑,定义事件+后续事件],这样就有了一个MVP级别的由HTML构建的骨架demo,然后再尝试让AI把骨架demo植入项目中,同时,在前端项目中,最贴近设计和文档的也是HTML本身,并且HTML没有过于复杂的逻辑,AI做编辑更改也容易。 目前还在熟悉,熟悉HTML之后应该能由HTML交互总结出文档的构建规范 2025/1/15 如何应对不理想的生成 在交互过程中常常会给出不理想的生成结果,通常是无法100%避免的,但其实可以通过二次revert然后加强调句来完成, 面向它已经生成的结果,二次强调,重新生成 第一次,生成的结果不理想,我根据他提供的意见参考,加了第二次 第二次,结果还是不理想,于是有了第三次 第三次,完成了我的需求 第一次,生成的结果不理想,我根据他提供的意见参考,加了第二次 第一次,生成的结果不理想,我根据他提供的意见参考,加了第二次 第二次,结果还是不理想,于是有了第三次 第二次,结果还是不理想,于是有了第三次 第三次,完成了我的需求 第三次,完成了我的需求 我们应该珍惜composer的交互 每一次交互都会产生记忆,应该像 <如何应对不理想的生成 一样,尽可能去完善,修正每一轮的交互,避免产生垃圾交互,这样才能保证AI长时间处在高质量的反馈上 在能开启新composer的时候尽可能去开启 2025/1/16 同时和多个composer进行交互&保存 如果你能区分好每个composer管理的模块和业务,然后以精细化的模式让composer完成它的认为,就可以这么做 能有效提高产出速度 如果你能区分好每个composer管理的模块和业务,然后以精细化的模式让composer完成它的认为,就可以这么做 能有效提高产出速度 如果你能区分好每个composer管理的模块和业务,然后以精细化的模式让composer完成它的认为,就可以这么做 能有效提高产出速度 [2025/6.11]:对AI进行一两轮的提示词训练,再工作 我们可以根据类比特币助记词的方式与AI沟通,而并非自然语言,同时让AI产出这种助记词,能有效减少杂质的产出 依据这种方式,应该能产出一种树,假设A是由于5个提示词组成的 A+B+C+D+E+F,就能训练出一种AI [2025/5.15]:gmini0506之后,现在我使用的userrules:我自己的+别人的 [2025/5.10]: 对4.21的提示词的升级 [2025/5.7]: 回归基础,使用ctrl+k编程 在我们的AI有充分性质写注释之后,我感觉还是不够完美,中间也有尝试其他人的轮椅提示词(大量规划提示词)但是还是不够舒心,我觉得我们只是需要AI帮助做一些low level的事情,而不是让它代替我们去思考,如果要让AI代替我们思考,我们还需要给AI讲我们的思路,这在"人月神话"里构成了一个低级的沟通阻碍,就好像我们一个人作为自己的精英可以发挥3个人的作用,但是接入AI之后,只能发挥1.5 2个人的作用,特别是项目如果长期使用AI,也会变得难以控制。 不过ctrl+k很大程度缓解了这个情况,它可以附加对话,再生成等等,很大程度上完美集成执行了我们早期的最佳实践, 我认为ctrl+k最大的优点是在你自己的编码里加入了AI,达到了岗位+熟练AI合作的最佳范式,并且能快速反应,而且基于cursor封装携带的上下文完美的让AI的反馈变得很不错。这样同时你能自己编码,又同时你能使用到AI最强的那部分功能,并且没有副作用。 附:轮椅级提示词(在ctrl+k的情况下难以使用) [2025/4.21]:完成了,AI自描绘功能自实现级的注释 cursor rules:最佳适用gmini2.5 常规注释 极限情况(or要求加强重构)下会输出这种级别的注释 常规注释 常规注释 极限情况(or要求加强重构)下会输出这种级别的注释 极限情况(or要求加强重构)下会输出这种级别的注释 [2025/4.19]:过多的rules会降低AI的智力,要求少量+低质量的代码可能对产出更友好: [2025/4+]:最近在研究,让AI在代码里产出更多注释,从我们阅读AI的解释,转到让AI阅读AI自己的注解 同时我们也可以在需要的时候阅读AI写的注解,不过坏处是代码行数占用会变多 供参考 [2025/2+]:最近在研究cursorrules,没有在研究cursor交互 带理解版本的rules for AI,我认为现在的AI可以伴随着你边学边做,也就是一边科普知识,一边完成任务,如果你也认可"科普知识"的话可以加我好友交流 2025/1/16:更新视频参考案例 简介 本文是一篇关于如何在大型系统上使用cursor进行开发的参考文档 在开始之前,希望读者有了解或者稍微阅读过:《人月神话:软件项目管理之道》 本文会以金字塔来类比软件系统上模块的开发 金字塔是如何建造的 [1. 建筑设计与结构2. 建造材料3. 劳动力4. 建造过程的理论 (1)使用斜坡建造(2)内外多重斜坡(3)使用杠杆和滑轮(4)滚动法与滑道 5. 精确度与技术6. 宗教与文化背景] 在大型项目里也一样,我们所开发的只是一个金字塔的一个模块,但是不是单纯靠堆砌石头堆起来的,是使用了好多种技术相辅相成完成的。 劳动力(理解AI) 现在是2025年1月2号,我们的AI,现阶段,不建议叫做人工智能,应当认为它是一个"单任务完成器",事实上可能也是如此。前瞻的看,AI正往"多任务完成器"的方向发展,再往后,可能会是"任务生成+完成器"级别的。 但宏观的看,未来AI只是更完善的"单任务完成器",但恰好这个阶段,现有的AI已经学会了几乎所有,或者说足够的内容,能完成我们的"小型单任务"了,我们开发者可以使用它更好的辅助我们进行开发 • "单任务"只是概念,我们使用的cursor和类似软件在完成我们需求的过程中可能是单任务+多任务并行的,但是我们要始终记得,它内部最小单元是以单任务在走的 冰山一角(过程与产出) 最小程度的金字塔可以由于3块砖搭建 — 但是在项目开发中,我们常常只会注意到最上面的那一块砖,就像冰山一样, 就像老板只会看项目效益,PM只会关注交付质量,组长只会看你的进度,而你自己,可能也只会关注实际产出,忘记了自己在开发最小模块时也会思考一些基础 但是在AI的视角下是有区别的,AI的过程是非常迅速的,它可以快速由基础,构建产出,构建进度和质量。 实际一点就是,AI可以快速的拿起你给的砖搭建出一个建筑,但对新手来说常常是畸形的,直接原因就是砖不够。 • 我们在使用AI进行产出的时候,要思考,当我自己忘了所有东西的时候,至少需要哪些东西才能搭建出需要的产出 搭建地基(良好的控制力相当于地基) 在前端,MVP级的APP至少要有:page+components+layouts,store+request,utils,router,还有一些env和config 大部分的配置都是相互独立的,或依赖于某个管理器,这一步没有想象中的那么难,可以使用其他项目的模版(或自己开发),当使用其他人的模版时,可能有一些不需要的,或者是不足的,可以以自己的知识水平或让gpt给你介绍的方式,去给自己科普这个项目的config的组件,然后去有选择性的插拔这些config,给自己留下一个能让自己有比较良好的控制力的起步模版 • 在配置上AI吸收了很多项目,能给出很好的产出,但是我们不能对AI的产出失去控制,那很危险: • 项目开始时,我们总是需要阅读AI的产出,我们至少要识别出AI是在哪种模式下进行的产出,认可或是推倒重建 • 补:任何项目在开始阶段,都建议梳理出多个详细的产品树状图,AI基于树状图orJSON格式的产出会更稳定 建筑设计与结构(业务模块与功能模块的链接) 当我们搭建了一个MVP级的起步模版时,我们可能需要新增一个业务模块,这个业务模块可能会链接到好几个功能模块上,我们要记得,现在的AI并不具备很强的能力去自主理解整个功能模块的产出结构,你要和它对话,以确认它理解了所处项目的模块的开发流程or结构。然后再让他进行模块的设计与开发。 • AI无法直接完成一个多任务聚合的任务(新增一整个模块),你要跟他对话,以让他确认他产出的结构是你所需要的,然后再让他执行 • 可以让AI以JSON格式描述结构 (模块的修改与在现有模式下的新增) 当我们在已经已经有固定模式的成型项目中开发时,会阅读,熟悉,整个项目,然后以高度规范去进行开发,但是AI常常不会,如果你要求AI去阅读大量代码,它常常会过拟合,以难以回复你想要的内容,所以你需要主动去确认,哪些功能点,去描述,然后让AI阅读写法,阅读和这个模块相关的代码,让他确认模块所属的业务流程与上下游模块的内容,以精确产出你所需的代码。 • 我们要清楚的记得,AI是单线思考的,我们要让它尽可能的阅读某个模块的代码,然后让他去阅读和这个模块链接的所有模块,这样它才能理清楚整个模块的架构, • 也可以让它使用JSON告诉我们他知道了什么和将要做什么,建议精确到函数级(也可以精确到变量级)。 追加描述 • 某些时刻,cursor(composer)的任务可能完成的不够优秀,你需要进行追加描述来让它优化某些部分,这时,建议加上限制,让他按照 (模块的修改与在现有模式下的新增) 进行阅读,同时要求它,只能修改xxxx来限制它的工作范围 (二次模块化) 有时,我们的项目的某个功能模块会因为不断的添加需求而增删改查,会开始变得庞大(500 1000+line)同时难以阅读,而我们需要在这里进行新需求的构建,这对AI来说是非常不健康的,因为有很多无用信息,会不可避免的遭到阅读,而被迫拟合一些junk。 在任务开始前,我们应当思考是否需要,然后对巨大的文件进行模块化处理,进行功能的拆分,这对于人工来说是一个非常巨大的压力,因为只是徒增了工作量,但是对AI来说,只是日常的工作内容。不过要注意,模块化拆分是为了让AI更好的识别功能模块的具体功能。这可能是一个需要你多次交互以确认拆分合理和无隐患的过程。 在拆分结束之后,我们应当阅读,以确认整个结构更加清晰了,因为AI阅读的本质和我们也差不多 • 只有在模块过于庞大以影响到了AI进行开发时才需要对模块进行二次模块化 • 也可以让它使用JSON来描述以让我们理解AI将要完成的任务 完工 当我们走完上述流程时,我们composer的任务就完成了,别忘了让AI使用git进行分步或功能点的提交。这样能保护好你的产出和时间。时间就是生命。 (交流与prompt) 一些良好的prompt固然能提升AI产出的质量,但是prompt核心是减少token的使用,我认为同时我们应当关注AI的记忆,在cursor中,你每个composer都应当为了一个复杂的单任务(也可以说是聚合的多任务)而服务,而你使用AI的开始期望也应当如此,尽量不要让composer服务于多个复杂的单任务(尽可能想一下composer的执行规划) • 在composer过程中,高质量的prompt只需要那么一两个,其他的prompt都为之服务就好了,然后结束本次composer。 2025/1/10 Cursor rules,主要目的是让AI输出更多理解信息 使用之后AI的回复会随机带着下方的图出现,便于我们查阅 意在以各种形式提升AI对自己所做的事情的理解,同时也方便你理解AI所做的事情,以便于持续控制AI的产出 更新:2025/1/14更新提示词,限制AI的产出 如果有可能,AI现在在完成任务时会给出更加完善的流程图 各种建议配置的文档 另一方面,建议给模块配置文档: 1:初始化文档(模块开始之前创建)便于AI进行全局理解,有了这种程度的再创建HTML(基础实现)会稳定很多 2:目录文档,有了这个文档,你可以直接指着某一个文档内的文件叫AI去阅读/理解/更改具体内容