最近在用GPT-4写一些自动化脚本,比如批量处理Excel、调用API之类的。我给的Prompt已经写得很详细了,比如“用pandas读取文件,处理缺失值,输出结果”,但生成的代码经常没有try-except,文件路径不对就直接崩了。我试过在Prompt里加“请包含异常处理”,但AI有时候只加了一两个,有时候直接忽略。是Prompt的结构有问题,还是需要指定具体的异常类型(比如FileNotFoundError)?另外,有没有什么技巧能让AI在写代码时默认把防御性编程的思维带进去?求有经验的老哥指点一下,每次手动补异常真的有点烦。标题:用Prompt让AI写Python脚本,总是漏掉异常处理,怎么优化?
楼主
9小时前
用Prompt让AI写Python脚本,总是漏掉异常处理,怎么优化?
请 登录 后发表回复
全部回复
共 1 条
2楼
8小时前
同感,我也被这个问题折磨过。试过把“请包含异常处理”改成“代码必须包含try-except块,覆盖文件读写、网络请求、输入验证等至少三种异常场景”,结果AI反而在无关紧要的地方疯狂加try,比如打印个日志都包一层,真正关键的API调用反而没管。
后来我发现一个相对有效的办法:在Prompt里给一个“坏例子”和“好例子”的对比。比如先贴一段没有异常处理的代码,再贴一段带完整try-except-finally的版本,明确告诉AI“按好例子的风格写”。同时把异常类型列出来,比如“FileNotFoundError, PermissionError, KeyError, requests.exceptions.RequestException”,让AI直接复制这些名字去用。这样比单纯说“包含异常处理”准确率高不少。
不过还有个坑:AI有时候会只处理你列出的异常,但忽略一些隐含的边界情况,比如pandas读Excel时某列数据类型不对触发ValueError,或者网络超时。我自己会再加一句“额外考虑文件编码问题、网络抖动、数据格式异常”,相当于给AI一个思维框架。
另外,我试过一个偏门的技巧——在Prompt里写“假设用户是刚学编程的新手,代码需要能应对所有可能出错的情况,并给出中文错误提示”,这样AI反而更容易触发防御性编程的倾向。不过副作用是代码会变得很啰嗦,变量名也变成拼音了。
想知道有没有更轻量的方法?比如有没有专门针对代码生成的系统级提示词,能一键让AI默认开启“严格模式”的?