在 Notion,Codex 正在改變工程師的開發方式。該公司正在重新思考其建構的軟體基礎元件和抽象層,以便 AI 代理程式能夠使用它們。在招募新工程師時,他們更看重好奇心和開放的心態,因為這個領域所需的多年經驗尚未存在。而多年未撰寫正式程式碼的主管們,也重新回到了程式碼庫中,與團隊一同交付產品。

Ryan Nystrom 負責 Notion 的 AI 產品工程。在他一年多的任期內,他的團隊幾乎建構或接觸過產品中所有的 AI 功能。他們發現,轉向使用 Codex 為他們承擔的工作開啟了新的可能性。

「我欣賞 Codex 的地方在於,它在實際建構之前會花時間弄清楚事情。結果是,它建構的程式碼通常一開始就符合我們程式碼庫的標準,而不是我必須回去清理它的大量工作。」—Ryan Nystrom,Notion AI 產品工程

在網頁上建構 Notion 的 AI 語音輸入功能

Codex 自主執行的能力在最近的一個專案中清晰展現。Ryan 獨家使用 Codex 將 Notion 的 AI 語音輸入功能帶到網頁上。

他說:「當我們說話時,我們可以提供更多的上下文。如果我在打字,我會思考我的文筆,我正在使用的詞語。透過將這項功能提供給 Notion 的使用者,他們能夠提出更自然的問題並包含更多的上下文。我們希望將這種能力帶到 Notion AI 中。」

當這項功能需求提出時,Notion 的行動應用程式已經有一個可運作的版本,但桌面和網頁客戶端卻沒有。儘管 Ryan 不完全確定這項功能在行動裝置上是如何運作的,他仍能將這個問題交給 Codex。他將 Codex 指向行動程式碼庫,給予它關於在網頁上應如何呈現的清晰描述,並提供了一種驗證結果的方法。

Codex 一次性地回傳了網頁實作的完整初稿,其與 Notion 的程式碼庫慣例高度吻合,足以在隔天發布。

Ryan 表示:「如果我在兩年前建構 Notion 語音輸入功能,這個專案可能需要我和另一位工程師花費兩週時間。而有了 Codex,我能夠在三到四小時內,完全由我自己完成這項建構。」

「它花了很多時間探索我們的行動程式碼,然後最終一次性地寫出了整個功能。我隔天就發布了它,並立即開始讓使用者測試。」—Ryan Nystrom,Notion AI 產品工程

工作方式的轉變

Notion 的工程師現在可以定期將一系列任務和驗證方法交給 Codex,然後在它執行時離開。「我發現自己幾乎花更多時間撰寫這些規格文件,然後我可以將它們交給 Codex 讓它去執行,」Ryan 說。「老實說,我現在幾乎不再手動編寫程式碼了。」

在 Codex 之前,團隊中的每位工程師一次只能專注於一項任務,夾在會議和支援同事之間。現在他們可以同時執行多個任務,快速啟動工作,而不會失去過去作為瓶頸的團隊支援。

他說:「我管理著一個團隊,傳統上主管沒有時間編寫程式碼。我能夠在支援團隊的同時獨自建構一個功能,這真是太瘋狂了。我已經管理了五年多,從未能夠如此深入地處理程式碼問題。」

現在他可以簡單地排定一個任務,然後去開會,回來時就能看到一個完成的功能。或者,他和他的團隊得到了一位可以與他們一同交付產品的主管,而 Ryan 也找回了他以為已經放棄的那部分工作。這種可用性甚至延伸到工作日之外。他會在睡前提出一個研究問題,讓 Codex 整夜運行,醒來時就能看到一份完成的報告。

Codex 重新設定了小型團隊(甚至是一人團隊!)能夠交付的基準,並讓 Notion 的工程師有更多空間專注於他們最關心的工作。

「每當我需要研究一個任務、修復一個錯誤,或者做一些小調整時,Codex 就在那裡,隨時待命。基本上,我在 Notion 有一個 24/7 全天候可用的實習生。」—Ryan Nystrom,Notion AI 產品工程