在軟體工程師生涯中,我大部分時間都在反覆做同樣的事:不是部署和維運軟體,就是開發軟體來代勞。

我在 OpenAI 的第一份工作是在雲端基礎架構團隊,為應用程式團隊建立新的 Kubernetes 叢集。我會花一週準備好一批叢集,逐一解決 Private Link、配額和 Terraform 的問題。這批叢集一準備好,我就開始處理下一批。
接著我到了 API 團隊,負責評估我們最新的模型。我得逐一解決評分器、配額、組態和 PyTorch 的問題。等到評估順利完成、模型推出後,我又會從頭開始處理下一個模型。
現在,我用 Codex 協助處理這些重複性工作。我仍然在開發軟體,更準確地說,是 Codex 協助我開發。不過,我不再為每項任務各自建立自動化,而是開發 Runme,用來:
- 收集、篩選並整理工作流程的相關上下文。
- 維持適當的審查與核准界線。
- 運用先前執行時累積的經驗,改善 Codex 後續的執行。
使用 Codex 執行評估
在 OpenAI,我們推出新模型和功能時都會執行評估,確認它們運作符合預期。要執行評估,我會先建立一份 Runme 筆記本,簡要寫下目標:
# Goal: Run the evaluation against the current model
- Review a previous run to understand the workflow.
- Write a detailed plan in this notebook.
- Wait for me to review and approve the plan before beginning.
- Document the commands you run, their output, and how you interpret the results.
接著,我請 Codex 以該筆記本儲存格的內容作為目標:
Read the goal cell in the Runme notebook open in the browser. Treat it as the
goal, write your plan in the notebook, and wait for my approval before starting.
Codex 會讀取筆記本,並隨著工作進度更新內容。計畫擬好後,我會加以審查,並在必要時修改。我的參與往往最有價值的地方,是協助 Codex 在不同選項之間做出取捨:要使用哪個評估系統、是否需要佈建新的基礎架構,或現有資源是否足以完成任務。
Codex 工作時,我會追蹤它的進度,有時是透過手機查看,偶爾在它卡住時給些提示。例如,如果配額用盡而無法佈建開發環境,我可能會建議重複使用現有環境,或尋找其他已核准的選項。
最後產出的筆記本會記錄完成任務所需的步驟,也會記下那些走不通的路。在收尾前,我會和 Codex 一起記錄那些原本可能埋沒在對話中的決策:為什麼選擇某個選項、目前較推薦哪種做法,以及下次應該如何調整。

與 Codex 協作編寫筆記本
Runme 專案是一個開源網頁應用程式,讓使用者與 Codex 一起建立筆記本。它和 Jupyter、Colab 一樣,支援 Markdown、程式碼儲存格和 HTML,因此可以建立結合指示、指令、結果、表格與圖表的文件。
筆記本可以直接儲存到 Google Drive。這讓與我共事的人能以熟悉的方式尋找和分享產出的成果,不必再引入另一個文件儲存庫。
Runme 也會為每份筆記本建立一份名為 *.index.md 的配套 Markdown 索引。Google Drive 可以為這個檔案建立索引,讓智慧體在需要範例、維運上下文或先前執行的結果時,更容易找到過去的筆記本。
智慧體透過 WebMCP 與 Runme 互動。應用程式載入時,會註冊瀏覽器端工具,讓智慧體可以:
- 閱讀 Runme 及其筆記本的使用指示。
- 執行範圍受限的 JavaScript 程式,讀取或更新筆記本內容。
- 閱讀應用程式的文件。
這樣的架構很重要,因為 Runme 是以靜態網站形式提供的用戶端應用程式。如果只是為了提供傳統 MCP 端點而新增伺服器,就會增加額外的基礎架構與維運複雜度,也會改變筆記本資料的處理位置。WebMCP 則讓應用程式可以直接從瀏覽器提供其功能。
收集、篩選並整理有用的上下文
每次執行評估,我都有機會記錄工作是如何完成的,讓下一次執行更輕鬆。隨著工作流程改善,它會產出更多有用的上下文。這些上下文又能幫助 Codex 更有效地處理下一次的任務。
許多能幫助智慧體的資訊,其實已經存在於日常工作中,只是散落在終端歷程、Slack、操作手冊、文件和儀表板各處。難的不是證明文件有用,而是讓撰寫文件所需的成本夠低,能在工作進行的同時完成記錄。
Runme 將意圖、動作、決策和結果集中在同一份成果文件中。持續目標讓 Codex 專注於任務,而自動核准審查則能在不改變既有權限界線的情況下,審查符合條件的動作。
計畫何時可以執行,以及影響重大的選擇何時需要人類判斷,仍由我決定。Codex 負責重複性的執行工作,並記錄過程,詳細程度比我自己動筆還高。由於產出的筆記本很容易分享,這些實務知識就不必只留在某一個人的對話紀錄裡。
找回耗在工作上的時光
我的職涯有很大一部分,都在摸索能讓挑剔的機器乖乖照做的「咒語」。雲端基礎架構和 Kubernetes 原本應該讓軟體部署與維運變得更容易,結果卻也帶來了龐雜的工具生態系,CNCF 生態全景圖就很能呈現這番景象。解決一個問題,往往又會帶來新問題:如何選擇、學習和操作解決它所需的工具。
對我而言,Codex 的吸引力在於,它能協助處理這些重複性的維運工作,同時讓我繼續參與重要的決策。
希望我能找回一些耗在這些事情上的時光,拿來陪我的狗玩。