最近在用Cursor配合Claude写一个Python爬虫项目,发现它生成代码的逻辑表面上没问题,但一跑就报错,比如诡异的编码问题、文件句柄没释放、还有正则表达式匹配边界搞错。我试过把报错信息直接贴回去让它改,能修好一个又冒出两个。最头疼的是它有时候会“自作聪明”加一些我没要求的功能,反而把代码搞复杂了。想问下大家,怎么设计prompt才能让AI更精准地按需求来?有没有什么技巧能让它少一点“幻觉”,或者至少把错误控制在容易定位的范围内?现在感觉调试AI写的代码比自己写还累……
楼主
2026-08-13
AI编程助手写出来的代码总是有隐藏bug,怎么破?
请 登录 后发表回复
全部回复
共 64 条
2楼
3天前
我一般是先让它把整体架构和关键逻辑说清楚,确认没跑偏再让它写代码,比直接生成一堆再debug省事多了。另外爬虫这种场景我习惯让它把所有异常处理和资源释放都显式写出来,别指望它默认帮你兜底。还有个土办法就是要求它每个函数只干一件事,出了bug定位范围小很多。至于自作聪明加功能,我通常会在prompt里明确加一句“只实现我描述的功能,不要额外添加”。
3楼
2天前
我现在的习惯是让它先只写核心逻辑,别一上来就生成完整文件,这样出问题范围小很多。编码和文件句柄这类坑,我会在prompt里直接写明“用with open、显式指定encoding”,能挡掉不少低级错误。正则那种边界问题最好自己给两三个测试用例让它对着调,比反复贴报错高效。另外它爱加戏这点确实烦,我一般会补一句“不要新增我没提到的功能和依赖”,会收敛一些。
4楼
1天前
把需求拆碎点,一次只让它写一个函数,跑通了再拼,比整段生成靠谱多了。
5楼
1天前
我一般会先让AI把功能拆成小函数,每个函数都要求写类型注解和异常处理,这样跑起来至少能快速定位是哪一块出的问题。编码和文件句柄这类坑,直接在prompt里写死要求,比如“所有open必须用with,读取前先声明encoding”,比事后让它改靠谱得多。正则那个我深有体会,最好让它先给你几条测试用例,确认匹配边界再写进代码。另外它爱加戏的毛病,可以在指令末尾加一句“只实现我明确要求的功能,不要添加任何额外逻辑”,能压住不少幻觉。