Atlas

README

最近在想 AI 和 DFT 计算的事情。Atlas 的 README 一直没写,之前是不太想在里面讲废话,毕竟这是一个教学网站,但又想把一些自己的心得留在这里。一直不知道怎样写一份信息密度高、又不会太枯燥的文档。

我把 AI 工具大致分成 Chatbot 和 Agent。大家可以经常和 Chatbot 讨论,学习自己还不熟悉的知识。Agent 能直接在电脑上运行,也能远程访问服务器,更适合通过 Tools 操作文件、执行程序。

那么,我们做 DFT 计算真正需要的是什么?有一个物理概念或物理问题,找到合适的方法去检验,再进一步分析结果,判断自己的猜想是否成立。Agent 的存在能够缩短从官网学习软件使用流程的时间,让我们更快进入实际验算。

计算可以分为全托管、半托管和纯人工,这里暂时不讨论纯人工。全托管时,你让 AI 沿着给定的 Harness 反复试错,朝着预期的结果尝试下去。这个过程可能耗费很多时间和 token,也会留下大量难以审计的文档。因此,我更推荐半托管:可以把它理解成 Plan 模式,但不是在 Agent 里启动某个 Plan 模式,而是你脑子里先有一个 Plan。

在确保 Agent 响应足够快的前提下,可以让它批量创建输入文件、修改参数,完成这些自由度较高的操作,减少自己介入时的繁琐,也提高计算时思考的效率。毕竟正式执行时,往往只需要少量修正和命令行交互,大多数时间仍然可以思考。半托管时,你知道当前任务要解决什么问题,也能在长任务偏离需求时及时调整。Agent 还可以帮你更新文档、查阅需要的资料。

当然,如果所有操作都只能依托 Agent,而且自己完全失去了辨别能力,那么这次计算和全托管也没有多大区别。你可能在这个过程中学到了操作,却不知道学得是否正确。也不必因此焦虑,即使没有 Agent,学习软件本来就是一个需要大量试错的过程。哪种方式更适合自己,可以在实际计算中斟酌。

我们始终需要明确,做 DFT 要了解自己需要的是什么,也要知道正在做什么。LLM 会产生幻觉,所以交叉检验是严谨工作中必须有的环节。已经了解这个方向和相关操作的人,半托管可以让执行和交叉检验更高效;如果对这个方向基本不了解,我还是建议先学习,再使用 Agent 辅助。

这也是 Atlas 存在的意义:让你对需要做的计算有一个初步了解,知道算什么、为什么算,以及怎样判断结果,再结合 Agent 查阅对应软件的官方文档,明确自己的需求,提交相关计算。这里主要面向会基本终端操作、正在学习 DFT 的读者。DFT 是我们进入凝聚态与计算物理的一种方法,计算最终还是要回到物理分析。

研究材料性质时,可以按物理问题组合方法。例如,分析电子态可以结合能带、DOS 和轨道投影;讨论界面电荷与成键,可以结合差分电荷、Bader 和 ELF;研究晶格稳定性与常规电子—声子超导,可以结合结构优化、声子和 EPC。这些组合提供的是分析的几种思路,具体选哪些方法、需要什么前置计算,要由问题和已有结果来决定。