AI 生成的 Notebook 有结果却重跑失败,怎样从空内核得到同一份分析

2026-10-24

先保留收到的原文件,再把数据加载、变量定义和结果计算排成从上往下的依赖顺序,用一个新内核完整执行。已有输出只能说明有人运行过某些代码,不能说明当前文档顺序能产生它。本文用三笔合成订单复现隐藏变量问题,最终应得到合计55。

先用空内核暴露缺失依赖

broken.ipynb的第一格直接执行sum(amounts),后面才读取订单并定义amounts。若之前在交互窗口定义过这个变量,它可能显示正常;新内核则报NameError。不要用单元格旁边的执行编号推断正确顺序,编号可能来自更早的一次会话。附件保留失败本,让读者确认错误发生在使用未定义变量这一层,而不是把安装依赖与业务代码混在一起排查。

把文件输入放回分析开头

修复本先从orders.csv读取amount列,第二格转换为整数,第三格求和。文件与Notebook放在同一目录,执行器明确把这个目录作为工作目录,避免编辑器启动位置不同而找不到文件。三行输入分别为12、18、25;可在打开Notebook之前手算55作为参照。这里不联网取数,也没有随机采样,因此复算差异能够集中在输入内容和执行过程上。

重跑后检查业务输出

脚本使用nbclient启动独立Python内核,成功后另存executed.ipynb,不覆盖收到的版本。查看最后单元格应显示55,再修改一笔订单并重跑,确认输出跟着输入改变。只看到进程退出码为零还不够:代码可能算了另一列、跳过了数据或没有输出。业务结果、使用的数据文件和单元格异常要一起保存,交接时别人才能复现同一条分析路径。

哪些结果还需要额外固定

运行失败本应明确出现NameError,这个反例证明新内核没有继承旧变量。若分析依赖远端数据、当前日期或模型回答,应另外保存允许公开的输入快照,记录采样种子与必要版本。固定种子不能保证不同库和硬件下逐字节一致;图表看着相似也不能代替核对数值。本例实际执行的是本地合成分析,没有调用模型,不能据此声称任何AI生成代码都已验证。依赖安装失败时先处理环境,再重新从第一格运行。

给接收者的说明还应写明从哪个目录启动、需要哪些依赖,以及最后一个输出的含义。不要把自己机器上的绝对路径放进分享本;附带相对路径的数据后,从另一个空目录运行一次,才能发现未打包的本地文件。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。依赖写在安装清单,建议在自己创建的虚拟环境安装。

python -m pip install -r requirements.txt
python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:nbclient支持执行Notebook并在单元格错误时终止;本例显式启动独立内核。

相关参考2:Notebook格式将源码、输出、执行计数与元数据分别保存。

继续阅读:微软生成式 AI 入门课的 notebook 跑不起来:内核、依赖、环境三层排查;AI 分析 Notebook 要发给别人,怎样制作不带历史输出和内嵌截图的分享副本;AI 写的小工具接管道就解析失败,怎样把数据输出和进度提示分开。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。