最近在用Cursor和Copilot写一个内部管理系统,刚开始觉得效率确实高,但项目跑了两周后发现问题了。AI生成的函数经常把业务逻辑和工具函数混在一起,变量命名也很随意,比如 tempData、handleStuff 这种。最头疼的是,它很喜欢在同一个文件里堆一堆不同职责的代码,我每次都得手动拆。我试过在prompt里强调“遵循SOLID原则”、“写清晰注释”,但感觉它只在前几行有效,后面又“放飞自我”了。想问问大家,是我prompt写得太抽象不够具体,还是这类工具本质上就不适合用来生成复杂业务代码?有没有什么技巧能让它生成的结构更接近我自己手写的习惯?
楼主
8天前
AI编程助手写出的代码越来越难维护,是我的用法有问题吗?
请 登录 后发表回复
全部回复
共 23 条
2楼
2天前
说实话我也踩过一样的坑,后来发现根源不在prompt,而是这类工具天生就没法理解你项目的上下文边界。我的做法是先把接口定义和核心类型写好,让AI只填函数体,再强制它按我给的模板输出,结构就不会跑偏太多。
另外别指望它一步到位,我每次生成完都会立刻重构一遍,把工具函数抽出去,相当于让它帮你写草稿,但框架必须自己定。你试试把大任务拆成小步骤,每步给它明确输入输出,比写一堆抽象原则管用多了。
3楼
1天前
这问题我也踩过坑,后来发现关键不是让AI“懂原则”,而是把大任务拆成一个个小函数让它单独写,每段控制在二三十行内,再自己拼装。另外给它看一段你手写的代码风格样例,比写一百句“要清晰”都管用。至于变量命名,我都是让AI先出逻辑,再全局搜索批量替换,别指望它一次到位。
4楼
23小时前
这问题我太有同感了,AI生成代码的“结构性懒惰”确实存在,尤其是项目一大,它就会默认把所有逻辑塞进最近的函数里。我的经验是别指望靠prompt约束它,不如把大文件拆成若干个小模块,每个模块用空文件+详细注释先定义好职责,再让AI填空,效果会好很多。另外变量命名这关真得自己过一遍,我后来基本把AI写的函数当“初稿”,重构的时间反而比从零写省不了太多,但它胜在能快速铺开骨架,替代那些重复的模板代码。