← 返回信息流
AI 资讯Hacker News·2 小时前

陶哲轩展示用现代编码代理打造新旧应用

原标题:Old and new apps, via modern coding agents by Terry Tao

速览

著名数学家陶哲轩通过实例演示了如何利用现代编码代理(AI编程智能体)来快速构建新旧应用。这种方法大幅降低了编程门槛,让非专业开发者也能高效实现想法。此举展示了AI在软件开发领域的巨大潜力,可能改变未来应用开发的方式。

AI 深度解读

背景

著名数学家陶哲轩(Terry Tao)在 Hacker News 上分享了他利用现代 AI 编码代理(coding agent)将旧版 Java 小程序迁移到现代语言,并创建新交互式可视化工具的经历。他早在 1999 年就开始用 Java 1.0 编写数学教学小程序,用于复分析和线性代数课程,以及可视化蜂巢(honeycombs)、Besicovitch 集等数学对象。这些小程序当时效果不错,但后来网页标准不再支持该版本 Java,导致它们无法运行。近几天,他借助 AI 辅助将大量旧网页和博客数据迁移到更易维护的仓库,并尝试让 AI 代理将旧小程序移植到现代支持的语言(最终选定 JavaScript),结果在几小时内就完成了移植,所有小程序恢复功能,甚至还有图形升级(如 Besicovitch 集小程序从单色变为彩色)。他特别高兴看到 1999 年与 Allen Knutson 合作编写的蜂巢小程序重生,因为那是手工编码中特别棘手的一个。

核心内容

陶哲轩详细描述了他使用 AI 编码代理迁移旧小程序和开发新应用的体验:

  • 迁移旧小程序:他让 AI 代理将约二十多个旧 Java 小程序移植到 JavaScript。尽管基于 LLM 的编码代理以产生各种明显或细微的 bug 而闻名,但在此次移植中,他只发现了一个小 bug(某个复分析小程序中,在主要框外拖动时拖拽事件出现不期望的行为)。实际上,AI 代理还发现了原始代码中两个他未曾意识到的 bug,因此在代码质量上净效果持平。由于这些小程序是辅助视觉工具,而非数学论证的关键部分,此类 bug 的负面风险较低。

  • 创建新应用:移植过程非常顺利,他决定尝试用 AI 编写一些新应用。1999 年他曾有一个雄心勃勃的想法:为狭义相对论创建一个可视化工具(当时 Inkscape 尚未发布,他的想法本质上是“Minkowski 空间中的 Inkscape”)。他当时开始编写 Java 代码,但代码复杂性超出能力,最终放弃了该项目。然而,经过与 AI 代理几小时的“氛围编码”(vibe coding),他最终生成了一个符合 1999 年愿景的小程序,现已发布(链接略)。他提供了与 AI 代理对话的摘要(已删减大量繁琐的技术实现报告)。他本人已初步测试,但希望收到关于这个“alpha”版本小程序的进一步反馈,因为代码由 LLM 生成,肯定还有 bug 和粗糙之处需要打磨。

  • 为 Gilbreath 猜想论文创建可视化:当天早些时候他写了关于 Gilbreath 猜想论文的博客后,意识到可以同样让 AI 代理为论文和博客编码一个 Gilbreath 猜想可视化工具。经过几小时对话,该可视化已完成(链接略)。过程同样轻松,他提供了对话记录。他认为未来可以将此类交互式可视化作为论文的补充材料,由于这些补充不是论文核心,使用 LLM 代理引导生成此类可视化的负面风险也是可以接受的。

关键要点

  • AI 编码代理能够高效地将旧版 Java 小程序移植到现代 JavaScript,且代码质量令人满意(仅发现一个微小 bug,并修复了原始代码中的两个 bug)。
  • 移植过程中,AI 代理不仅完成任务,还带来了图形升级(如彩色化),说明它具备一定的改进能力。
  • 对于非关键性辅助工具(如教学可视化),即使存在 LLM 生成的 bug,风险也可接受,因为其用途是辅助理解而非严格证明。
  • 陶哲轩成功利用 AI 代理实现了 1999 年未能完成的复杂项目(Minkowski 空间绘图工具),证明 AI 可以降低个人无法独立完成的高难度编码门槛。
  • 他进一步将 AI 代理用于最新论文(Gilbreath 猜想)的配套可视化生成,并计划将此类交互式可视化作为未来论文的常规补充。
  • 整个过程被称为“氛围编码”,即通过自然语言对话让 AI 逐步生成代码,而非传统的手工编写,极大提升了开发效率。

意义与影响

陶哲轩的实践展示了 AI 编码代理在数学研究和教学辅助工具开发中的巨大潜力。首先,它解决了旧版软件因技术迭代而废弃的问题,使大量历史数学教学资源得以重生,且通常比原始版本更优。其次,它降低了个人开发复杂可视化工具的门槛,使得数学家无需成为专业程序员就能实现创意,从而加速数学概念的传播和理解。此外,AI 代理能够发现原始代码中的隐藏 bug,体现了其辅助调试的价值。尽管 LLM 生成的代码可能存在 bug,但在非关键任务中风险可控,且通过反馈循环可以逐步改进。这一案例可能推动更多研究者将 AI 代理作为标准工具,用于生成论文配套的交互式图表、教学演示等,从而丰富数学教育和研究的呈现方式。同时,它也提醒用户需要谨慎评估 AI 生成代码的可靠性,尤其是在关键应用中。

查看原文 →terrytao.wordpress.com