我從 1999 年開始就對機器輔助進行與教授數學的方式感興趣,當時我開始用 Java 1.0 撰寫了幾個小程式,用於我的複變函數與線性代數課程,來視覺化我感興趣的各種數學物件(例如蜂窩或 Besicovitch 集)。這項計畫獲得了相當的成功;但這些小程式需要花費大量時間編寫,最終網頁標準不再支援這個版本的 Java,而這些小程式也因此無法運作。

不過,在過去幾天裡,我開始將我舊有的網頁與部落格資料,遷移到更易於維護的儲存庫中,並使用現代 AI 協助。作為一項實驗,我要求代理人將我舊有的小程式移植到現代支援的語言(我們決定使用 Javascript),而它在短短幾小時內就完成了這項工作,讓我所有舊的小程式都恢復了功能,甚至還進行了一些圖形升級(例如,Besicovitch 集小程式現在已經彩色化,與我原先的單色版本不同)。我特別高興看到 1999 年我與Allen Knutson共同撰寫的蜂窩小程式重新復活,因為這是當初用手撰寫時特別棘手的一個:

眾所周知,基於 LLM 的編碼代理人在其程式碼中可能會產生各種明顯或細微的錯誤;但在移植這二十多個小程式的過程中,我只發現一個小錯誤(其中一個複變函數小程式的拖曳事件處理,在拖曳到主框外時出現了不想要的行為),而且代理人還找出了原始程式碼中我原本不知道的兩個錯誤,因此在程式碼品質方面,實際上算是持平。在任何情況下,由於這些小程式只是用作輔助視覺化工具,而非數學論證的關鍵元件,因此此類錯誤的風險相對較低。

這個過程相當順利,因此我決定在移植舊程式的同時,也嘗試撰寫一些新的應用程式。早在 1999 年,我曾有一個雄心勃勃的想法,希望開發一個用於特殊相對論的視覺化工具;當時 Inkscape 軟體尚未問世,但我心目中的想法基本上就是「在閔可夫斯基時空中的 Inkscape」。我甚至已經開始為這個應用程式撰寫 Java 程式碼,但程式碼的複雜度對我來說過高,因此我放棄了這個計畫。不過,經過與 AI 代理人幾小時的「氛圍編碼」後,我終於成功產生了一個符合我 1999 年願景的小程式,現在可以在這裡找到。我與代理人產生此程式碼的對話摘要,可在這裡找到(已刪減大量繁瑣的技術實作報告)。雖然我已經對這個應用程式進行了一些測試,但我仍希望收到更多關於這個「alpha」版本小程式的回饋,因為我相信(特別是考量到程式碼是由 LLM 產生的特性),仍然有一些錯誤和粗糙之處需要修正。

在今天撰寫完 Gilbreath 猜想論文的部落格文章後,我意識到我同樣可以請代理人為 Gilbreath 猜想撰寫一個視覺化工具,作為論文與部落格文章的輔助。在經過又幾小時的對話後,這個工具已經完成;您可以在這裡試用這個視覺化工具。同樣地,這個過程相當順利(請參閱此過程的逐字稿),而且我認為我可能會為未來的論文加入此類互動式視覺化作為補充;由於此類補充對論文的核心並非至關重要,因此我再次認為,使用 LLM 代理人進行引導式互動來產生此類視覺化的風險是可以接受的。