以筆記與文件管理聞名的 Notion,已將 OpenAI 的 AI 程式設計工具 Codex 置於開發工作的核心,並藉此大幅改變了工程師的工作方式[1]。在該公司,原本需要約兩週才能實作的功能,有的已縮短到大約三小時完成[1]。這些具體的經歷,呈現出一個由 AI 代理所撰寫的程式碼正逐漸成為前提的開發現場。
兩週的功能由一人數小時完成:在網頁端實作語音輸入
負責 Notion AI 產品工程的 Ryan Nystrom 表示,在一年多的任職期間,他的團隊幾乎參與了產品中所有的 AI 功能[1]。他介紹了僅使用 Codex,就把語音輸入功能導入網頁版 Notion 的案例[1]。
接到這項需求時,行動版應用程式已有可用的版本,但桌面端與網頁端的用戶端尚未實作[1]。Nystrom 本人也並未完全掌握行動端的實作方式,但他讓 Codex 參照行動端的程式碼,明確告訴它在網頁端應呈現的樣貌,並提供了驗證結果的方法[1]。於是 Codex 一次就回傳了完成度很高的網頁實作初版,由於其內容符合 Notion 的程式碼規範,隔天便達到了可以上線的水準[1]。
他回顧道:「兩年前若要做同樣的語音輸入功能,需要我和另一名工程師花約兩週時間」,並補充說:「用 Codex 的話,大約三到四小時,而且完全由我一個人就能完成」[1]。他對 Codex 先仔細研究行動端程式碼、再幾乎一次就寫出整個功能這一點給予肯定:「我欣賞 Codex 的地方在於,它會在真正動手建構之前花時間把事情弄清楚。結果通常是它一開始寫出來的東西就符合我們程式碼庫的標準,不需要我事後再去返工整理」[1]。
「我幾乎不再手寫程式碼了」:工作方式的轉變
Notion 的工程師可以把一組任務連同檢查結果的方法交給 Codex,然後轉去處理其他工作[1]。Nystrom 說:「我反而花了更多時間去寫那些可以交給 Codex 處理的規格文件。老實說,我已經幾乎不再手寫程式碼了」[1]。
工作流程的變化很具體。在使用 Codex 之前,每名工程師在會議空檔與支援同事的同時,往往只能一次專注於一項任務[1]。如今他們可以平行推進多項任務,同時保留了過去成為瓶頸的團隊內部支援[1]。
Codex 也不分時段。Nystrom 描述說,他會在睡前拋出一個研究問題,讓 Codex 徹夜處理,隔天早上便能拿到完成的報告[1]。他形容:「無論是研究任務、修復錯誤,還是做一點小調整,Codex 都隨時待命、樂於配合。可以說,Notion 有了一名 24 小時在崗的實習生」[1]。
管理者重回程式碼,小團隊的產出基準被改寫
這項轉變並不限於工程師。Nystrom 表示:「我帶著一支團隊,而傳統上管理者沒有時間寫程式碼」,並補充說:「能在支援團隊的同時獨自完成一項功能,這太不可思議了。我做了五年多的管理,從未能如此深入地鑽研程式設計問題」[1]。如今他可以先登錄一項任務,再去開一連串會議,回來時功能已經完成[1]。
OpenAI 認為,Codex「重新設定了一個小團隊,乃至一個人的團隊能夠交付什麼的基準」[1]。在 Notion,公司正在重新思考所建構的軟體基元與抽象方式,使代理更易於使用它們[1]。在招募新工程師時,考量到這一領域本應要求的多年經驗尚不存在,公司更看重好奇心與開放的心態[1]。
總結
Notion 對 Codex 的運用,具體地展現了 AI 程式設計代理正在改變軟體開發的前提。兩週規模的功能由一人在數小時內完成,管理者重新面對程式碼,先寫規格文件再交給代理的工作方式正在擴散。手寫程式碼的時間減少的同時,設計「要做什麼」並驗證結果的分量正在加重,這正是此次所述變化的核心。
