原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你和一位朋友正试图烘焙世界上最美味的蛋糕。你的朋友是一位著名烘焙师,出版了一本名为《如何制作完美蛋糕》的食谱书。书中包含了配料清单、成品蛋糕的照片,以及关于如何搅拌面糊的几点说明。你决定亲自尝试制作,看看它是否真如他们所说的那样美味。
然而,当你开始烹饪时,却遇到了阻碍。以下是根据本文故事所发生的情况:
缺失的食谱卡片
那位著名烘焙师给了你一张“模型构建脚本”,这就像是一张关于如何搅拌面糊的基础指令卡。但是,书中展示如何将那种面糊烘焙成特定最终蛋糕(即“可扩展性分析”)的部分完全缺失了。你不得不仅凭书中模糊的描述来猜测如何完成食谱。
损坏的烤箱(依赖问题)
即使你试图遵循基本说明,却发现烤箱需要一种非常特定、早已不存在的古老燃气。食谱上写着“使用 7 号燃气”,但这种燃气已停产且不安全。你不得不四处寻找一种略有不同的燃气(8 号燃气),才能让烤箱运转起来。这就是论文中所称的“依赖问题”——运行代码所需的工具已过时或难以获取。
秘密配料(随机性)
一旦你终于让烤箱运转起来并烤出了蛋糕,味道却不对。烘焙师的蛋糕甜美松软,而你的却略显紧实。你又试了十次,除了改变打开烤箱的确切时刻(即“随机种子”)之外,其他什么都不变。每次烤出来的蛋糕都略有不同。
论文发现,那位烘焙师从未记录下他们是在哪一个确切时刻打开烤箱的。没有这个微小的细节,你就永远无法完美复刻他们的蛋糕。在计算机科学领域,这意味着即使你拥有相同的代码和数据,计算机内部的“掷骰子”结果也可能改变结果,使得如果没有该掷骰记录的存档,就无法获得完全相同的答案。
移动的目标(版本控制)
烘焙师后来承认,他们在撰写书籍时仍在不断调整厨房工具。照片中用于烘焙蛋糕的工具,可能与他们交给你的盒子里的工具不同。因为他们没有记录每天使用的是哪个版本的工具,所以你无法确定你的失败是因为你做错了什么,还是因为他们的工具发生了变化。
改进食谱的四条规则
本文作者提出了四条简单规则,以防止未来再次发生此类问题,并使用了“食谱书”的类比:
- 列出确切的工具:不要只说“使用烤箱”。要说“使用配备特定燃气适配器的 2024 年型号”。如果无法做到这一点,就将整个厨房封装在一个密封的盒子中(例如"Docker 容器”),这样任何人都可以打开并使用完全相同的设置。
- 保留版本日志:记录你对工具所做的每一次更改。如果你更换了打蛋器或调整了烤箱设置,请将其记录下来。这样,如果后来蛋糕味道不同,你就能确切知道是哪个更改导致了这一结果。
- 将食谱分解为步骤:不要使用一大段令人困惑的说明,而是将食谱分解为清晰的小步骤:“步骤 1:搅拌鸡蛋”,“步骤 2:加入面粉”。这使得任何人都更容易跟随并在每个阶段检查自己的工作。
- 将注释与步骤链接:在书中,当烘焙师说“用力搅拌”时,就在那里放置一个可点击的链接,直接跳转到发生该搅拌操作的确切代码行。这将故事与实际工作联系起来。
核心结论
论文总结道,虽然原始框架是一个绝妙的想法,并推动了材料科学领域的发展,但缺乏这些简单的“食谱”细节,使得其他人无法完美复现结果。通过遵循这四条规则,科学家们可以确保在分享他们的发现时,其他人能够真正在此基础上进行构建,而不会迷失在缺失指令和损坏工具的迷宫中。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。