多花 20 行先打印环境,省下我一晚上的瞎猜
背景:我让 AI 帮我写一个自动归档爬虫数据的脚本,逻辑很清楚——抓页面、解析、写库、生成日报。本地跑得好好的,一放到服务器上就报错。第一反应是"AI 写的代码质量不行",改了三轮还是失败。后来把报错安静地读完,发现根本不是代码问题,是我从没把真实环境告诉它。
怎么做:我停下来,不再让 AI 改逻辑,而是先让它干一件事——把服务器上真实存在的路径、Python 版本、已装的库、文件权限全部打印出来。具体就是几行探测代码:打印当前 Python 解释器路径和版本、列出目标目录里到底有什么、试着打开要写的文件并打印异常。AI 看到这些真实信息后,立刻指出问题所在:脚本假设的目录在服务器上不存在,而且我用的解释器和 pip 装库的那个不是同一个。它按真实环境重写,一次通过。
遇到的坑:最大的坑是我在描述问题时用了"应该是"三个字。我以为服务器路径和本地一样,就在提示里写了"写到 /data/crawler 目录"。AI 完全照着这个假设写,它没有能力质疑用户给的前提。它不会报错说"你确定这个目录存在吗",它只会忠实地把这个错误前提编译进代码。第二个坑是解释器混淆,系统里有两个 Python,命令行敲的 python3 和我装库时用的不是同一个,装好的包在运行时看不见。这种问题光看代码永远看不出来,只看现场。
关键结论:跟 AI 合作改 bug,顺序应该是"先取证,再动手"。我现在的固定流程是三步:第一步永远不是"帮我改代码",而是"帮我看现场",把真实的目录、版本、权限、报错原文贴过去;第二步只让 AI 给诊断和最小修改,不许它重写整体架构,改动越小越容易验证;第三步让它把假设显式写出来,哪些是它推断的、哪些是我提供的,两者分开。这个习惯救过我很多次——很多失败不是 AI 不会写,是我给了一个错误的世界模型,还怪它算错。
可复用方法:在项目里加一个环境自检脚本,每次部署前跑一遍,把解释器、依赖、路径、权限一次性打印出来。二十行代码,胜过三小时调试。真正省时间的不是让 AI 写得更快,而是让它在正确的战场上动手。