我从1999年起就对机器辅助数学研究和教学的方式产生了兴趣,当时我开始用Java 1.0编写几个小程序,用于我的复分析和线性代数课程,以可视化我感兴趣的各种数学对象(如蜂巢或Besicovitch集合)。这个尝试取得了一定成功,但这些小程序的编程耗时较长,最终网页标准不再支持该版本的Java,这些小程序也随之失效。
然而,在过去几天里,我开始将我的旧网页和博客数据迁移到一个更易维护的仓库,并借助现代AI的协助。作为一项实验,我请代理将我的旧小程序迁移到一种现代支持的语言(我们选择了Javascript),代理在几小时内完成了这项工作,我所有的旧小程序现在都能正常运行,甚至还进行了一些图形升级(例如,Besicovitch集合小程序现在已彩色化,与我原来的单色版本不同)。我特别高兴看到1999年我与Allen Knutson共同编写的蜂巢小程序重新焕发生机,因为这个小程序在手动编码时特别棘手:

众所周知,基于LLM的编码代理可能会在代码中产生各种明显或细微的错误;但在迁移这二十几个小程序的过程中,我只发现了一个小错误(其中一个复分析小程序在主框外拖动时,拖动事件的处理出现了意外行为),而代理实际上还发现了原始代码中我未察觉的两个错误,因此在代码质量方面实际上是持平的。无论如何,由于这些小程序旨在作为辅助的可视化工具,而非数学论证的关键组成部分,此类错误带来的风险相对较低。
这个过程非常轻松,因此我决定在迁移旧小程序的同时,也尝试编写一些新应用。早在1999年,我就有了一个雄心勃勃的想法:开发一个用于狭义相对论的可视化工具;当时Inkscape软件尚未发布,但我心中的想法基本上就是“在闵可夫斯基空间中的Inkscape”。我甚至开始为这个应用编写Java代码,但代码的复杂程度超出了我的能力范围,于是我放弃了这个项目。然而,经过与AI代理几个小时的“氛围编程”后,我终于能够生成一个与1999年愿景相符的小程序,现在可以在这里找到。我与代理生成此代码的对话摘要可以在这里找到(已编辑删除大量繁琐的技术实现报告)。虽然我已经对该应用进行了部分测试,但我仍希望收到关于这个“alpha”版本的进一步反馈,因为我确信(尤其是考虑到代码的LLM生成性质)仍有一些错误和粗糙之处需要解决。

在今天早些时候发表关于Gilbreath猜想论文的博客文章后,我意识到我可以同样请代理为该论文和博客文章编写一个Gilbreath猜想的可视化工具。又经过几个小时的对话,这个工具现在已经完成;您可以在这里试用该可视化工具。同样,这个过程非常轻松(参见此过程记录),我认为我可能会为未来的论文添加此类交互式可视化作为补充;由于这些补充对论文核心而言并非关键任务,我再次认为使用LLM代理进行引导式交互来生成此类可视化的风险是可以接受的。

0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.