新旧应用:通过现代编码代理(Terry Tao)
摘要
Terry Tao 描述了如何利用现代AI编码代理,成功将他1999年开发的旧Java小程序移植到现代JavaScript,并创建了一个他长期以来一直构想的新狭义相对论可视化工具,整个过程仅用了几个小时。
暂无内容
查看缓存全文
缓存时间: 2026/07/12 13:48
# 新旧应用,通过现代编码代理
来源:https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/
从1999年起,我就对借助机器辅助进行数学教学与研究产生了兴趣。那时我开始用Java 1.0编写几个小程序(https://terrytao.wordpress.com/applets/),用于我的复分析和线性代数课程,可视化我感兴趣的各种数学对象(如蜂巢或Besicovitch集)。当时取得了一定成功;但这些小程序编程耗时,后来网页标准不再支持这一版本的Java,它们也就失效了(https://terrytao.wordpress.com/2008/12/01/upgrading-old-java-applets/)。
不过,最近几天我开始将大量旧网页和博客数据迁移到一个更易维护的仓库(https://teorth.github.io/tao-web/),并借助现代AI辅助。作为实验,我让代理将我旧的小程序移植到现代支持的语言(我们最后选了JavaScript),它在几小时内就完成了这项工作,所有旧小程序现在都已恢复功能(https://teorth.github.io/tao-web/applets.html),甚至还做了一些图形升级(例如,Besicovitch集小程序(https://teorth.github.io/tao-web/apps/besicovitch-sets.html)现在有了颜色,而我最初的版本是单色的)。尤其让我高兴的是,我在1999年与Allen Knutson(https://pi.math.cornell.edu/~allenk/)一起编写的蜂巢小程序(https://teorth.github.io/tao-web/apps/honeycombs.html)重获新生,因为这是手工编码中特别棘手的一个:
[](https://terrytao.wordpress.com/wp-content/uploads/2026/07/image.png)
众所周知,基于LLM的编码代理可能会在代码中制造各种明显或微妙的错误;但在移植这二十多个小程序的过程中,我只发现了一个小错误(其中一个复分析小程序中的拖拽事件在拖动到主框外时出现了不希望的行为),而且代理还识别出了原始代码中我未意识到的两个错误,因此在代码质量上算是打了个平手。无论如何,这些小程序旨在作为次要的视觉辅助,而非数学论证的关键组成部分,因此这类错误的负面影响风险相对较低。
这个过程非常轻松,于是我决定除了移植旧应用外,再尝试编写一些新应用。早在1999年,我曾有一个雄心勃勃的想法——为狭义相对论制作一个可视化工具;那时Inkscape软件尚未发布,但我心中构想的其实就是“Inkscape,但在闵可夫斯基空间中”。我甚至开始为这个应用编写Java代码(https://www.math.ucla.edu/~tao/java/Relativity/),但代码复杂度对我来说太大了,最终我放弃了该项目。然而,经过与AI代理几小时的“氛围编码”(vibe coding),我终于生成了一个与1999年构想相符的小程序,现在可以在这里找到(https://teorth.github.io/tao-web/apps/spacetime-diagram.html)。我与代理生成这段代码的对话摘要可以在这里找到(https://teorth.github.io/tao-web/apps/spacetime-diagram-making-of.html)(已删减大量繁琐的技术实现报告)。虽然我已对该应用进行了一些测试,但我希望获得关于这个“alpha”版本的进一步反馈;我确信(尤其是考虑到代码是由LLM生成的)仍有一些bug和粗糙之处需要打磨。
[](https://terrytao.wordpress.com/wp-content/uploads/2026/07/image-1.png)
今天早些时候写完关于Gilbreath猜想的博客文章后,我意识到可以同样让代理为论文和博客文章编写一个Gilbreath猜想的可视化工具。又经过几小时的对话,现在已经完成;你可以在这里试用可视化工具(https://teorth.github.io/tao-web/apps/gilbreath.html)。同样,整个过程非常轻松(参见此过程的记录(https://teorth.github.io/tao-web/apps/gilbreath-making-of.html)),我想我可能会在未来的论文中添加这样的交互式可视化作为补充;由于这些补充对论文核心并非至关重要,我再次认为使用与LLM代理的引导式交互生成此类可视化是风险可接受的。
[](https://terrytao.wordpress.com/wp-content/uploads/2026/07/image-2.png)
相似文章
现代应用
对现代代码编辑器的讽刺性观察,嘲弄过于复杂的AI功能、基于Electron的臃肿以及当代软件开发中的挫败感。
@paulg:AI应用是新的浏览器。
Paul Graham分享了Austen Allred的观察,即像Claude Code和Codex这样的AI应用正日益成为计算机任务的主要界面,类似于过去的浏览器。
@andy_matuschak: 新演讲!https://andymatuschak.org/tat 编码代理可能帮助我们最终打破两个牢笼:应用模型,它…
Andy Matuschak 发表了一场演讲,探讨编码代理如何将计算从应用模型和编程专业化的束缚中解放出来,从而实现可塑性强、可组合的界面。他展示了一个写作环境,并提出了一种新的数字阅读工具,认为编码代理可以普及界面发明。
@dair_ai: 关于计算机使用智能体的杰出论文。(收藏)计算机使用智能体通过屏幕操控真实软件,……
PreAct 将成功的智能体运行编译成小型状态机程序,在重复任务上实现 8.5-13 倍更快的重放,无需逐步骤的语言模型调用,并通过运行时屏幕检查确保正确性。
人工智能的冒险
作者分享了使用多种AI编码助手(Claude Code、Codex、Pi)进行代码审查和重构的经验,发现前沿模型在捕捉细微错误方面出奇地有效,但也注意到一些工具质量较低且行为不稳定。