原子模拟需要三件事:科学知识、模拟的计算高效实现,以及模拟堆栈的可访问接口。
第一个领域仍然是研究人员的研究领域,因为没有任何工具可以替代知道要模拟什么或识别有物理意义的结果。今年早些时候推出的 NVIDIA ALCHEMI 工具包借助可组合的 PyTorch 原生构建块,在启用动态批处理的情况下构建 GPU 加速的模拟工作流程,显著降低了机器学习原子间电势 (MLIP) 的第二个障碍。
第三个障碍依然存在。与经典力场不同,MLIP 生态系统仍处于芽阶段,用于经典模拟的可访问接口非常有限。与许多计算化学家习惯使用新的数据结构、合成模式和依赖项的工具相比,它们在不同的软件堆栈上运行。
AI 编码智能体提供了一种解决方法:它们根据研究人员在日常技术讨论中使用的术语编写的自然语言描述生成并执行代码。但是,通用智能体可能不了解 ALCHEMI Toolkit API,并且可以生成看似合理的代码,而这些代码似乎只是正确地使用了它。
ALCHEMI Toolkit 智能体技能和参考文件按需提供缺失的 API 模式,将提示留给您的科学:模拟协议的材质、条件和限制。
使用编码智能体构建仿真工作流
本文遵循端到端 ALCHEMI 工具包工作流程:研究人员从什么开始,他们如何提示智能体,智能体生成的代码和仿真工作流,以及如何在 NVIDIA H200 GPU 上验证结果。它还将从 45 个生成的工作流中获得的蒸馏课程转化为实用指南,用于使用编码代理构建可信的 GPU 加速模拟工作流。
如何开始
系统和软件包要求
- Python ≥3.11, <3.14
- PyTorch ≥2.8
- CUDA 12 或 CUDA 13,配备兼容的 NVIDIA 驱动 (推荐 570 多个版本)
- 操作系统:Linux (主要) 、macOS
- NVIDIA GPU ( RTX 20xx 或更高版本) ,CUDA 计算能力 >= 7.0
- 最低 4 GB RAM (对于大型系统,建议使用 16 GB)
安装
智能体环境的设置方式会对生成代码的可靠性产生重大影响。我们建议在可运行的 Python 环境中安装 Toolkit,并让智能体执行其生成的脚本。在最后的 45 个工作流活动中,此设置不会产生任何损坏的导入或对不存在的 API 的引用。
第 1 步:创建 Python 环境并使用 uv 包管理器安装 ALCHEMI 工具包:
# Installation through uv in a local folder
# Create local environment at .venv
uv venv --seed --python 3.12
# Install ALCHEMI Toolkit into .venv
uv pip install "nvalchemi-toolkit[mace,ase]==0.2.0"
要在 NVIDIA GPU 上运行,请添加与您的 CUDA 环境相匹配的 CUDA extra。例如,对于 CUDA 13,安装 nvalchemi-toolkit[mace,ase,cu13]==0.2.0。
第 2 步:从同一版本标签下载代理技能,使其与已安装的 API 相匹配:
# Download the nvalchemi-toolkit skills
npx degit NVIDIA/nvalchemi-toolkit/.claude/skills#v0.2.0 .claude/skills
第 3 步:安装编码智能体。此基准测试使用了克劳德代码:
# Install Claude Code through npm
npm install -g @anthropic-ai/claude-code
# Or natively through curl
curl -fsSL https://claude.ai/install.sh | bash
# Start a claude session in the local folder
claude
打开项目目录中的智能体,允许其执行代码并开始描述模拟;智能体会按需加载相关技能。在您看到脚本之前,让智能体运行其写入的内容几乎可以消除所有机械错误。从那里开始,质量主要取决于您的提示。
如果没有可运行的 shell,则源 git-checkout 是一种备用方法:在之前的测试中,读取源 git-checkout 可以消除 617 个导入语句中损坏的导入。既没有 shell 也没有源代码的 pip 安装是最薄弱的配置。
任何支持开放式智能体技能标准的智能体均适用,包括 Cursor 和 OpenCode (有关配置,请参阅智能体技能用户指南) 。
编写有效提示词的最佳实践
以下原则是根据基准输出质量的可测量差异而合成的,而不是根据通用的编码代理建议。下面的图 1 显示了从最少到大多数指定的五个提示级别。

始终为系统、方法和规模命名;仅针对无人操作添加 CLI 合同。提示命名得分最高的材质、方法和比例。完整的 CLI 合同实现了完全的可复用性,但与 Sketch 提示词相比,其 token 的成本约高出 4%,生成的代码量高出 2.3%。规格提示最不可靠,造成了七项筛选失败中的三项。指定科学和交付成果;让技能提供 API 模式。
明确命名材质、相位和参考约定。在之前的测试中,系统未充分指定造成了最明显的物理故障:“Li 材料的传输属性”生成了一个演示,两个Cu 脚本使用了不同的吸收参考,对结果产生了重大影响。最终提示通过命名材质、相位和参考约定来消除这些故障。协议也很重要:没有温控器指令的脚本使用 Langevin 生产动力学,将扩散抑制 3-5%;请求NVE将每个脚本更改为适当的测量集成。
指定约束条件,而非实现。 描述脚本必须完成的任务,而非内部 API 类。在受控比较中,命名工作流结构并没有改变 12 种实现。API 模式来自示例和技能,而非提示。在没有完整接口合同的情况下命名内部组件是漏洞集中的地方。
明确要求进行自我评估和前提检查。代理不会质疑任何请求的属性是否在物理环境中处于良好状态。明确要求提供前提检查、验证和不确定性估算,并要求恢复独立的已知结果;智能体不会自行添加这些结果。
从提示到 GPU 执行的三个工作流程
以下工作流程说明了 ALCHEMI Toolkit 和编码智能体可以通过自然语言提示词进行端到端处理。为了将这些建议建立在测量结果的基础上,我们在三个工作流、五个提示级别和每个级别的三个样本中运行了 45 个模拟流程的系统基准测试。
- 硅状态方程 (EOS)
- 铜的吸氧作用 (111)
- Li 自扩散分子动力学 (MD)
评估脚本的方法有两种。首先,确定性代码特征检查:属性覆盖率 (正确的数量、正确的公式) 、API 模式覆盖率 (使用工具包的批量 API 表面) 和可复用性 (参数化、可重新运行的接口) 。其次,在相同的 NVIDIA H200 GPU 上执行作为真值。
所有 45 个脚本均使用 GPU 批量执行。L2-L5 提示需要批处理;L1 采用了工具包技能和示例中的批处理。我们以演示规模筛选了所有脚本,并在生产设置中针对每个工作流程和级别运行了一个具有代表性的脚本。

体硅状态方程
任务:菱形立方硅状态方程
能量体积曲线,其最小值给出晶格常数 a0,曲率给出体模 B0。在每个提示级别,智能体都构建了相同的工作流:50-60 个紧张的卷同时作为一个 GPU 批量放松,然后是 Birch-Murnaghan 拟合。所有五个生产代表都同意在已建立的全电子 PBE 参考窗口内的最后一个数字,即 a0 = 5.4661 Å 和 B0 = 88.15 GPa。晶格常数不同于 NIST 实验值,而体模量比较则来自 McSkimin 的实验测量结果。这些偏移量与 报告的 PBE 行为 一致。要点反映了整个基准测试的模式:提示特异性改变了代码的结构和成本,而从未改变物理特性。

铜的吸氧作用 (111)
任务:对 Cu(111) 上原子氧气的吸收位点进行排序
工作流将冻结板的底层,将四个高对称站点中的 24 个以上候选项放松为一个 GPU 批量,并计算 Eads = Eslab+ads = Eclean slab = EO。每个生产代表都会发现 fcc 空洞最稳定,Eads(fcc) = = 4.799 = 0.004 eV,在五个级别上依次为 fcc hcp >> top。 报告的参考值在 0.25 单层时约为 4.31 eV。Giamello 等人的铜微热分析研究。以及 Naumann d’Alnoncourt 等人。报告值介于+ 4.46 到+ 4.60 eV 之间。覆盖率差异和模型错误可能会导致绑定更强。跨独立脚本的毫电伏协议是既定参考约定的结果。

通过分子动力学实现电池自扩散
任务:预估液态电池的自扩散系数 D。
这些管道构建了一个 bcc 超级电池,将其融化并平衡到超过 454 K 的熔点以上,在 GPU 上作为单个批量系统将三个温度乘以三个种子 (九个副本) ,然后从均方位移 ( MSD,即原子移动的平均平方距离) 中提取 D,MSD 的斜率随时间推移可通过爱因斯坦关系提供 D。
| 提示级别 | 生产集成 | D ( 600 K (厘米)2/ s) | D ( 800 K (厘米)2/ s) | D ( 1000 K (厘米)2/ s) |
| L1 (草图) | 朗之万 (Langevin) | – | 1.21 x 10-4 | – |
| L2 (目标) | 朗之万 (Langevin) | 0.80 x 10-4 | 1.03 x 10-4 | 1.55 x 10-4 |
| L3 (谱) | NVE | 2.91 x 10-4 | 5.38 x 10-4 | 7.22 x 10-4 |
| L5 (合同) | NVE | 3.62 x 10-4 | 4.32 x 10-4 | 6.49 x 10-4 |

技术规格
以下配置用于生成本文中的工作流程示例:
- 编码代理:Claude (claude-opus-4 -8)
- 努力级别:高
- MLIP 检查点:MACE-MPA-0 ( medium – MPA-0)
- 工具包版本引脚 (0.2.0)
| 提示级别 | 处理的 token 总数 (包括。缓存) | 生成的 token | 迭代 | 脚本长度 (LOC) |
| 草图 | 240 万 | 3.2 万欧元 | 44 | 498 |
| 目标 | 约 330 万 | 约 3.9 万 | 48 | 451 |
| 谱 | 440 万 | 4.3 万欧元 | 60 | 574 |
| 规格 | 约 890 万 | 8.1 万欧元 | 88 | 788 |
| 合同 | 1000 万 | 约 10.7 万 | 84 | 1,168 |

基准测试见解
该基准测试通过系统性地改变提示级别、工具访问权限和执行能力,得出了三项实际发现。
提示具体化购买代码结构。每个级别的属性覆盖率都是 1.00,所以从第一个提示开始,科学就正确了。具体化带来的是结构:在 L4-Spec 下,API 模式的覆盖率翻倍 ( 0.52 到 0.96) ,并且只有在 L5-Contract ( 0.67 到 1.00) 时,才能实现完整的接口可重用性 (下面的图 7) 。

代理默认使用熟悉的算法:在 45 个脚本中,有 38 个使用了 FIRE,没有一个使用 FIRE2,尽管 FIRE2 旁边有改进版本的记录。示例和技能展示了哪些内容,智能体使用;哪些不是,则通过预训练进行填充。
执行会暴露 CPU 自我测试无法做到的故障。可运行的 shell 消除了损坏的导入,但七个脚本在 GPU 特定路径上仍然失败。更复杂的提示词更多地使用了这些路径,并且失败的频率更高。自我测试可改进代码生成,但不会取代目标硬件上的验证。具有 GPU 访问权限的生成沙盒可以弥补这一差距,但我们的方法考虑了普通用户在实践中会采取的操作:在笔记本电脑的克劳德应用中使用“克劳德自动运行”,然后提交到 GPU 集群。
限制
科学判断仍然至关重要。在每个测试条件下,零配置都会在物理性质不利的任务中被推后。在之前的探针中,每个代理都遵守了在原始晶体 LiF 中进行 Li-ion 扩散的要求,而 LiF 是在模拟时间尺度上无法测量的属性。但是,配备 Web 的智能体可能会运行此检查;生成沙盒没有 Web 访问权限,因此智能体无法查看属性是否合理。智能体还会选择合理的时间步长和温度调节器,而无需评估其是否适合材质或时间尺度。智能体加速了从科学意图到代码的转换,但无法确定预期的模拟是否具有物理意义。
MLIP 基础模型并不普遍准确。该基准测试使用 MACE-MPA-0 (medium-mpa-0) ,其准确性在训练分布之外有所不同。我们的硅、铜和液 – 钛结果与它们的参考相比是合理的,但每种新的化学反应都应该通过 DFT 或实验进行验证。这是一个模型,有时是参考 DFT 限制,而不是 ALCHEMI 工具包或代理限制。
始终使用独立参考比较数值结果。Langevin-production lithium 脚本报告的扩散系数在统计学上无可挑剔,但被温控器抑制了 3-5%;只有与温度匹配的实验锚进行比较才能发现这一点。检查还必须是独立的:一个脚本通过生成具有相同错误常数的合成数据来验证其单位转换,因此其自我测试通过。统计学上的可靠性和物理意义可以是正交的。
采用生态系统
一些公司一直在探索我们在本博客中讨论的方法。2026 年 5 月,ALCHEMI 生态系统合作伙伴 Matlantis 在 GitHub 上发布了一个公开的技能库,并宣布在其通用模拟器中集成克劳德代码。BIOVIA 还在 Dassault Syst è mes 的 AI 赋能虚拟助手 Marie 中利用 NVIDIA ALCHEMI NIM,普及高级模拟功能并实现分子模拟的便捷执行,使更多科学家能够开发和验证材料的虚拟生。
开始使用 ALCHEMI Toolkit 和编码智能体构建仿真工作流
访问 NVIDIA/nvalchemi-toolkit GitHub 资源库 和 NVIDIA ALCHEMI 工具包文档。
该资源库包含智能体技能和 30 多个工作流,涵盖基础、中级、高级和分布式用例。
致谢
我们在此感谢 Nikita Fedik、Matlantis Corporation 的 Susumu 大野和 Dassault Systèmes – BIOVIA 的 James Wescott 对此博文的贡献。