最近从Copilot换到Cursor,确实爽,Tab补全和跨文件重构很顶。但用久了发现一个问题:我写React组件,自己脑子里先有个结构,AI一补全,经常直接把我带偏,甚至把props和state逻辑搞得很绕。有时候为了“顺着AI的思路”,反而写了更多自己都看不懂的代码。回头review,感觉代码风格都变了,不像自己写的。想问下各位,在AI辅助下,你们是坚持自己的架构思路,让AI当打字员,还是真的会接受AI的建议去重构逻辑?有没有什么工作流能避免这种“被带跑”的感觉?
Copilot和Cursor写前端越用越懵,大家怎么平衡AI代码和自己的思路?
全部回复
共 9 条先让AI按我的思路写具体实现,不顺眼的建议直接忽略,别让它反客为主。
我都是先自己写完整体结构再让AI填肉,补全只当打字机用,重构建议基本无视。
说白了AI是加速器不是导航仪,架构这玩意儿还得自己把着方向盘。
我倒是觉得这个问题核心不在AI,在于你对组件的边界定义够不够清晰。我现在的习惯是,先花两分钟把props的类型、state的流转、还有副作用触发条件在注释里写死,再让Copilot去填函数体,它基本不会跑偏。如果你脑子里只有个模糊结构,AI自然会按它见过的开源代码模式去猜,猜出来的东西当然绕。另外,跨文件重构这种功能我基本只用来改样式变量或者重命名,逻辑上的重组绝对不让它碰。我自己踩过的坑是,一旦接受了它给你加的一个useMemo或者callback,后面整个依赖链都会顺着它的风格走,最后代码确实不是你的了。所以我现在把AI当pair programmer里那个只打字的junior,架构怎么搭、状态放哪个层级,都得我先把伪代码注释写好,它只能写中间那些机械的部分。你要是觉得被带偏,就试试把大任务拆成特别小的指令,一次只让它干一件事,别让它一口气生成整个组件。
我也有同感,尤其是写组件的时候AI太爱“自作聪明”地补全状态逻辑了。现在我的做法是先自己把接口和数据结构定死,再让Copilot填函数体,遇到它给的花活直接忽略,只当它是高级自动补全,别让它参与架构决策。后来发现,只要不追求“一次Tab全对”,心态就稳多了,写错了再改也不丢人。
我一般先写注释把架构钉死,再让AI填肉,这样它带不偏你。
我都是先自己把组件拆好,AI只补细节,它一给复杂逻辑我就直接忽略,不然代码真的会失控。
我自己的办法是让AI只做“翻译器”,不做“架构师”。写组件前先把props和state的流转关系用注释或伪代码写死,再让AI去填肉,它一跑偏我就拿注释拽回来。而且我基本不用它的跨文件重构建议,那个太容易把hidden dependency带进来,review的时候比我自己写还费劲。你试试把大任务切成小函数再喂给它,每个函数逻辑越独立,它越不容易给你绕弯子。
先想好组件结构再让AI补细节,别让它替你定逻辑,不然真会越写越陌生。
我现在的做法是先把组件骨架和关键逻辑自己敲完,注释写好,再让AI补样式和边缘case。它一旦开始改我核心逻辑,我直接Ctrl+Z,别舍不得。还有个小技巧,把AI建议当“另一个同事的PR”看,不是照单全收,而是挑着merge。被带跑多半是因为自己还没想清楚就让它先动手了。