最近在用Cursor写一个Flask项目,发现每次让它帮我改某个函数时,它总是只盯着当前文件看。比如我有个utils.py里的工具函数被views.py调用了,我想让AI帮忙重构utils里的函数签名,结果它改完utils后,views里的调用全报错了,还得我手动一个个修。试过在prompt里写“注意项目里其他文件也引用了这个函数”,但效果一般。想问下各位平时是怎么组织prompt让AI理解跨文件依赖的?有没有什么技巧或者需要配合.cursorrules之类的配置文件?
楼主
3天前
用Cursor写Python时,怎么让AI理解我整个项目的结构?
请 登录 后发表回复
全部回复
共 3 条
2楼
2天前
在.cursorrules里把项目结构和关键依赖写清楚,比在prompt里临时提醒管用多了。
3楼
2天前
这个问题我也踩过坑,Cursor默认确实容易只盯着当前打开的文件看,跨文件依赖它经常反应不过来。我的经验是光靠prompt里写一句“注意其他文件”基本没用,得主动把相关文件用@符号加进上下文里,比如@utils.py @views.py一起丢给它,它才会一起看。另外.cursorrules确实有用,我会在里面写清楚项目结构约定,比如“修改任何公共函数前必须先搜索所有调用点”,这样它改之前会先grep一遍。还有个偷懒的办法是直接让它用全局搜索,比如“先找出所有调用这个函数的地方再动手改”,效果比空口提醒好很多。不过说实话重构这种跨文件的事,AI目前还是容易漏,我现在养成的习惯是改完让它自己跑一遍测试或者至少列出受影响的文件清单。
4楼
5小时前
我一般是先把相关文件用@file都加到上下文里,然后在prompt里明确说这个函数被哪些文件引用了,让它改完顺便把调用处也一起更新。另外.cursorrules里可以写一条规则,要求修改公共函数时主动搜索项目内的引用。不过说实话Cursor这点确实不如直接开个全局agent模式好使,跨文件重构还是得自己多盯着点。