跳到主要内容

PDE agent 论文:它改的不是 agent,是考卷

abanana
abanana

· 阅读约 5 分钟

10 月 21 号挂到 arXiv 上的 2610.30292,52 页,19 幅图 14 张表,作者 Muheng Li 和 Wenlong Mou。GAV 是 Generator-Agent-Verifier 的缩写。我没从头读到尾,主要看了方法那一节和最后的结果表,理论分析那部分基本跳过去了。这篇笔记不打算把这 52 页复述一遍,只想说清楚一件事:它真正动手改的地方是 agent 拿到手的反馈,并非 agent 本身。

先把我的判断摆出来,这个判断是偏的:整篇里最值钱的一步是“用制造解反着造题”:先有真解,再反推出与之匹配的 PDE 问题。三个组件怎么组织,重要性要排在它后面,剩下的都是围着这一步搭起来的脚手架。

要理解这一步为什么要紧,得先看它想解决的那个具体麻烦。PDE 的编码智能体写求解程序,全靠反馈一轮一轮地改;可你要在一个新问题上评估它,就得有参考解,而参考解往往意味着先花一笔昂贵的数值计算。另一头,固定的数据集把可实验的范围固定住了,翻来覆去就那几个算例。这两件事叠在一起,结果是大家都在同一个题库上反复做题,agent 变强的方向,很可能只是在那个题库上变强。这个隐忧我觉得比论文里任何一张表都值得记。

GAV 的解法是把顺序倒过来。Generator 先从数值模拟或实验测量的数据里学一个连续参考解的分布,用这个分布去表示目标物理区域;然后在采样出来的参考解上跑一遍制造解方法,反向构造出以它为真解的 PDE。制造解这套东西同行都熟,这里只交代它被用在哪一头:通常是先有方程、再造解,这里是先有解、再反推方程。

于是造出来的题自带了答案,省掉的那一次数值求解,就是它能大规模造题的前提。我把整个闭环拆成了下面这张图,画的只是流程,不代表论文里代码怎么组织:

Generator ──采样参考解 u──▶ MMS 反推 ──▶ 问题 P(真解就是 u)
    ▲                                        │
    │                                 Agent 写/改求解程序
    │                                        │
    └──按薄弱环节造新题── Verifier ◀──对比 u,报精度与开销

拆开看这三步:

  1. Generator 负责出题,题目自带真解,不用另外求解参考解。
  2. Agent 负责设计实验、排查失败原因,以及反复修改它自己写的程序。
  3. Verifier 把候选程序和参考解对齐,给出的是精度和计算开销上的数值反馈,而非一句“通过”或“不通过”。

第 3 步给的是数字,这件事我很在意。含糊的反馈没法指导下一步该改哪儿,只有数值能告诉你:这次是精度差了一个量级,还是精度够了但算得太贵;这两种情况的改法完全不同。而且这套反馈还能回头传给 Generator,专门朝当前程序薄弱的地方造题;也就是说,这套反馈能当一个实验环境来用,不只是拿来当数据集。数据集是静态的,实验环境会跟着被测对象变。

数字方面,Navier-Stokes 的数值任务上,跟三个已有 PDE agent 各自原来的设置比,GAV 让它们的平均测试误差降了一个数量级以上;Vlasov-Poisson 类方程上也跑了,覆盖了不同数据来源和物理区域。我第一次读到这段时的反应是“哪个 agent 这么强”,回头看才发现,它压根没换 agent 的模型,换的是 agent 手里那套反馈。所以这个“一个数量级”,我更愿意把它读成一句关于旧评测环境的话,不是一句关于新 agent 的话。这个判断我拿不出严格证据,就是读表时候的直觉,先这么记着,将来被打脸了再回来改。

有一处我到现在也没被完全说服:制造解造出来的题,真解是人造的。Generator 从模拟或实测数据里学分布,能把这道沟往真实物理区域那边拉近一些,论文也确实报了不同数据来源下的实验,但“造出来的题跟真实流动到底差多远”,我没看到能把这件事彻底钉死的证据。也可能是我读得不细,方法一节后面那几页是半看半跳过去的。这条先留着,等有人复现之后回来补一笔。

不过话说回来,它跟我在之前记的另一篇笔记里反复写过的那句话是一回事:喂进去的反馈不可靠,跑出来的程序就不该信;看不懂的代码不该用,哪怕它能跑。区别只在于,平时这个判断是我自己做的一道人工检查,这篇论文把它做进了环境本身:Verifier 拿参考解当尺子,Agent 想含糊也含糊不过去。

要自己动手的话有两句提醒。代码论文里给了链接,我还没跑,所以下面这条只是我打算走的顺序,不算已验证:先别急着把手上那个 agent 接进去,先挑一个最简单的一维方程,把 Generator → Verifier 这一小段闭环单独走一遍,拿你自己手算的解去核对 Verifier 报出来的误差。这一步对得上,后面调参才有意义;对不上,你会在一个歪掉的尺子上优化很久,而且完全看不出来哪里不对。💡 顺手记一句,“先验证尺子”这个习惯,比换一个更强的模型省事得多,成本也低得多。

划重点:第一,它改的是评测环境不是 agent,报出来的误差下降要打折着读;第二,先有真解再反推方程这一步绕开了最贵的参考计算,是整篇论文的基础,也是最值得借鉴的一步;第三,Verifier 给数值而不是给结论,是这套环境真能拿来迭代的原因;第四,想复现的话先把尺子校准,再接 agent。这篇就记到这里,你要是也在折腾 PDE 智能体的评测,欢迎回来说说你那边尺子是怎么校的。

abanana
abanana

把自己踩过的坑整理成一篇能复现的笔记,写给三个月前的自己看。

查看主页 →