來自 Codex 官方團隊的分享:如何把 Codex 用到極致

寶玉AI2026年5月21日

作者:jason (@jxnlco)
原文:Getting the most out of Codex [1]

大多數開發者剛接觸代碼編輯類的 AI 智能體 (AI Agent) 時,通常只讓它們幹一件事:寫代碼。比如讓它檢查一下代碼庫,生成個差異對比 (diff),跑跑測試,然後再提個合併請求 (pull request)。

寫代碼確實依然是 Codex 的核心強項。但仔細想想,我們在電腦上做的大部分工作,本質上其實都和代碼息息相關:執行終端命令、瀏覽網頁、調用應用程序接口、導出文檔、響應各種事件,或者是觸發自動化流程。當 Codex 開始延伸到這些領域時,它給人的感覺就不再只是一個狹義上的“編程助手”了,而是進化成了一個能幫你搞定各種電腦工作的“全能打工人”。

Codex 的新特性 [2] 讓這種轉變變得觸手可及。現在的對話流 (thread) 可以記住你們的上下文、調用各種工具、展示生成的文件 (artifacts),還能在不同的提示詞之間無縫銜接,再也不用每次聊完都“重新認識”一遍了。

想要徹底榨乾 Codex 的潛能,你需要把下面這些絕招組合起來用:

  • • 能夠長期保存記憶的“持久對話流 (durable threads)”
  • • 在你掌控全局時,靈活使用語音輸入、任務干預 (steering) 和任務排隊 (queuing)
  • • 藉助瀏覽器、電腦操控 (computer-use)、模型上下文協議服務器 (MCP servers, 一種讓 AI 安全連接本地數據和工具的通用標準 ) 以及各類連接器,讓 Codex 的手伸向代碼庫之外的地方
  • • 當你離開電腦時,利用對話流自動化 (thread automations) 和目標驅動 (Goals) 讓它繼續搬磚
  • • 熟練使用側邊欄 (side panel),隨時審查它生成的代碼、文檔、幻燈片和其他文件

持久對話流 (Durable threads)

持久對話流:可以長時間運行的 Codex 對話流,能在你多次使用的過程中,始終爲你保留工作上下文。

把對話流“置頂 (Pinned threads)”是讓這些持久對話隨叫隨到的好辦法。這對於那些需要反覆推進的工作流來說簡直是神器,比如:

  • • 一個專屬的“幕僚長”對話流(幫你處理日常雜務)
  • • 一個專門負責產品發佈的對話流
  • • 一個負責審查文檔的對話流
  • • 一個專門盯着外部數據的監控對話流

它們不是那種聊完即焚的閒聊框,而是持久的工作空間。隨着時間的推移,Codex 可以隨時回到這些對話中,它會記得你之前做過的決定、你的個人偏好以及當前的進度。如果沒有這個功能,你每次都得從零開始把這些背景信息重新餵給它。

置頂快捷鍵讓這個操作變得極爲實用。只要按下 Command-1 Command-9 ,你就能瞬間穿越回這些保存好的專屬對話流裏繼續工作。

語音輸入 (Voice input)

語音輸入之所以好用,是因爲它能在你把想法字斟句酌地敲成文字之前,先把你腦子裏最原始、最粗糙的念頭捕捉下來。

Codex 內置了語音輸入功能。這對於那些“嘴上說得清,打字嫌麻煩”的模糊想法特別管用。比如:

“我記得有個叫 Ben 的人在 Slack 上提過這事兒。
細節我忘了。
你去幫我找找看。”

對於一個會自己搜索、收集上下文並向你彙報的 AI 智能體來說,這幾句話就足夠它幹活了。

當你腦子裏有一個大概的想法,但還沒完全成型時,花兩三分鐘對着它“碎碎念”,把思緒一股腦倒出來,效果也出奇的好。

錄音轉寫也是同樣的道理。一份未經修飾的會議記錄,或者一段口述的計劃草案,往往比一份簡短的總結更有價值。因爲那些粗糙的記錄裏,保留了你猶豫的語氣、強調的重點,以及那些還沒講完的靈光一現。

任務干預與排隊 (Steering and queuing)

當你把語音輸入和對運行中任務的直接控制結合起來時,它的威力才真正顯現出來。

當一個任務正在執行時,如果你想

任務干預 (Steering):在當前任務還沒完成時,中途打斷 Codex 並給它指引新的方向。

當你發現 AI 跑偏了,需要在它撞南牆之前糾正它時,這個功能就派上用場了。比如,在讓它審查網站時,你可以一邊在側邊欄上指指點點,一邊直接開口打斷它的工作:

  • • “把這個調小一點”
  • • “這兩個元素之間的間距看着不太對勁”
  • • “這句文案寫錯了”

任務排隊 (Queuing):在 Codex 完成當前步驟後,給它安排接下來的活兒。

任務排隊就不太一樣了。它不會打斷正在進行的任務,而是把新任務排在隊伍後面。你可以這麼跟它說:

“等這活兒幹完之後,把預覽鏈接發到 Slack 給審覈人看看。”

簡單來說,“干預”是改變 Codex 眼下正在做的事,而“排隊”是安排它接下來要做的事。這兩個功能都能讓你在任務執行的過程中,始終保持一種“人機合一”的掌控感。

工具與觸達範圍 (Tools and reach)

當一個對話流有了連續的記憶後,下一個問題就是:它能觸碰到什麼?Codex 的觸角可以向外一層層延伸:

  • • $browser [3] 在側邊欄中運行的應用內瀏覽器,Codex 可以在這裏審查網頁並在上面做標記。
  • • @chrome [4] 可以獲取你瀏覽器的登錄狀態,用來處理那些基於 Chrome 的工作流。
  • • @computer [5] 專治那些只能通過桌面圖形界面 (GUI) 來完成的任務。

$browser 適合在側邊欄做網頁審查; @chrome 適合那些需要你賬號登錄狀態的瀏覽器內工作;而 @computer 則用來搞定那些只能在電腦桌面上點來點去的任務。

MCP 服務器和各類連接器把這種能力進一步延伸到了你的整個工作流中。Slack 集成 [6] 、以及各種 MCP 工具連接器 [7] 和 MCP 指南 [7] 之所以重要,是因爲很多關鍵任務在變成代碼之前,最初往往只是一條聊天消息、一封收件箱裏的郵件,或者一個日程安排問題。

技能 (Skills) 讓那些重複的工作流可以被反覆利用。一旦某個工作流被證明好用,你可以將它固化爲技能 [8] ,這樣 Codex 下次就能直接跑通,而不需要從頭開始重新學習這個流程。

隨時隨地工作 (Work from anywhere)

隨時隨地與 Codex 協同工作 [9] 的理念,徹底打破了我們“必須坐在電腦前才能幹活”的傳統限制。一個任務可以在你裝滿文件、權限和本地環境的 Mac 電腦上啓動,然後當你離開工位用手機查看時,它依然在默默推進。

這在很多碎片時間裏非常有用。你可以讓 Codex 在電腦上跑一個耗時很長的任務,然後自己離開工位去喝杯咖啡。如果在外面時它有問題問你,你可以直接用手機回覆、批准它的下一步行動,或者在回座位前就給它指派新的方向。你的本地環境安安靜靜地待在那裏幹活,而你的人卻可以自由移動。

自動化 (Automations)

自動化功能 [10] 能讓 Codex 按照你設定的時間表自動幹活。如果是需要每天從零開始的任務,比如生成日報或者例行檢查代碼庫,那就用“定時自動化 (scheduled automation)”。但如果需要在一個帶有歷史記憶的對話中繼續推進工作,那就用“對話流自動化 (thread automation)”。

對話流自動化:就像一種定時喚醒的“心跳”機制,它會按照設定的時間表,定期回到同一個 Codex 對話流中繼續工作。

把對話流置頂固然好用,但它畢竟還得等你主動回去找它。而“對話流自動化”則可以每隔幾分鐘或幾小時自己去查崗,一直跑到滿足某個條件爲止,甚至還能根據情況自己調整查崗的頻率。

比如,你的“幕僚長”對話流可以每 30 分鐘跑一次:

每 30 分鐘,去查一下我的 Slack 和 Gmail 裏有沒有需要處理但還沒回的消息。
幫我排個優先級。
如果有人向我提問,儘可能深入地去查資料,然後幫我起草一份回覆,但不要直接發送。

當你回到電腦前時,那些最耗時耗力的“收集背景資料”的工作往往已經做完了。作爲人類,你只需要做最後拍板發出去的決定。

對話流自動化也非常適合用來處理“反饋循環”。它可以默默盯着你在代碼合併請求、Google 文檔或是 Slack 裏的評論,趁你不在的時候自動推進後續的修改工作。

想象一個製作動畫的場景:審覈人在 Slack 裏發了一個視頻。對話流自動化可以定時檢查討論進度,一旦有修改意見進來,它就自動渲染一版新的,然後在原貼裏艾特審覈人並回復新視頻。如果某個軟件的集成接口沒法自動完成最終的上傳,它甚至能調動“電腦桌面自動化”通過圖形界面把最後一步走完。

這個完整的閉環跨越了接收反饋的 Slack、負責渲染的代碼庫,以及負責最終上傳的桌面自動化工具。

目標設定 (Goals)

當一個任務有一個清晰的終點線,並且 AI 智能體可以不斷朝着那個終點努力時,目標 (Goals) 的威力就徹底爆發了。

目標:運行時間更長的 Codex 任務,有一個明確的終點線,AI 會在一段時間內持續向它衝刺。

一個 糟糕的目標 是這樣定的:

把這個 Markdown 文件裏的計劃實現一下。

一個 優秀的目標 必須有一個可以被衡量的成功標準。

比如,一位工程師想把一個內部工具從 Python 語言遷移到 Rust 語言,他可以建好新目錄,設定好目標,並畫一條明確的終點線:

直到所有單元測試全部通過,這個新版本的開發纔算完成。

目標設定,其實就是把“持續執行”和“驗證器 (verifier)”結合在了一起。你作爲人類來定義想要的結果、何時停止的條件,以及用來判斷 Codex 有沒有離終點更近的信號。

好用的驗證器包括:

  • • 一套完整的測試用例
  • • 一項基準性能測試
  • • 一個能穩定復現的 Bug
  • • 一個驗證矩陣
  • • 一個必須始終跑通的端到端工作流

有野心固然重要,但沒有驗證機制的野心,就只是在許願而已。

側邊欄 (The side panel)

側邊欄功能 [11] 讓你生成的工作成果始終和你們的聊天窗口並排在一起。你再也不用把文件導出來,然後痛苦地在不同軟件之間切來切去了,直接在原位就能審查。生成的成果可能是代碼,但也可能是幻燈片、PDF 文件、網頁、表格,或者任何其他生成的東西。

它特別擅長處理四種工作:

  1. 1. 檢查生成文件 (artifacts)
  2. 2. 標註需要修改的地方
  3. 3. 操作網頁界面
  4. 4. 審查代碼或文件的變更

側邊欄允許用戶直接原地查看 Markdown 文檔、電子表格、數據表、普通文檔和幻燈片。你可以不打斷現有的工作流,直接檢查、做標記、修改文件。

你的幻燈片或 PDF 就乖乖敞開在對話框旁邊,隨時等你檢閱和修改。

應用內瀏覽器 [3] 讓 Codex 能夠直接檢查渲染好的網頁,控制它,甚至直接響應你在網頁上做的標註。對網頁或文件的評論全部留在這個工作閉環裏,再也不用像以前那樣把它拆分成一個個單獨的交接任務了。

網頁既變成了它的輸出結果,也變成了你可以操控的控制面板。Codex 可以建好一個頁面,在側邊欄打開它,自己檢查它,修 Bug,然後原地不斷迭代優化同一個東西。

下面這些場景配合側邊欄尤其好用:

  • • 用單個 index.html 來做輕量級的靜態展示
  • • 跑 Storybook 來審查用戶界面 (UI) 組件
  • • 用 Remotion Studio 搞代碼生成的動畫
  • • 在瀏覽器裏放映的幻燈片演示
  • • 用於數據分析流的數據應用 (data apps)

一個簡簡單單的 index.html 文件就能變成一個好玩的交互式小應用,連服務器都不用搭。而且,對話流自動化還能隨着時間推移悄悄更新這些靜態文件,這樣等你回來時,總能看到最新的進展等着你。

共享記憶 (Shared memory)

當那些長時間運行的對話流能夠打破單次聊天的界限,把記憶共享出去時,它們的作用將發生質的飛躍。

共享記憶 (Shared memory):存儲在單一對話之外的持久上下文,它可以讓未來的工作能夠基於一些明確的、可追溯的信息繼續推進。

一個相對穩妥的做法是,把這些持久的對話流“錨定”在一個 Obsidian 知識庫 (vault) 裏。說白了,就是建一個存放純文本文件的文件夾。它簡單直白,方便你隨時查看、修改、移動,而且能保存很久。團隊可以把這個文件夾放在任何你們喜歡的雲盤裏,比如 Git、Dropbox、Google Drive 或是其他的同步工具中。

你的知識庫可能長這樣:

vault/
├── TODO.md
├── people/
├── projects/
├── agent/
└── notes/

在最外層目錄下,你可以放一個 AGENTS.md 文件。在這裏,你可以給 Codex 定規矩:當它瞭解到關於人員、項目、決策以及待辦事項的新情況時,應該如何更新這個知識庫。

別死板地照抄某一種知識庫結構。你需要做的是“教”你的 AI 智能體:那些持久的上下文該放在哪,哪些上下文需要保留,以及什麼時候不要瞎折騰去改文件。

一份實用的 AGENTS.md 指南里可以這麼寫:

  • • 把 ~/vault 當作你長期的工作記憶區。
  • • 儘量把筆記整理得有條理,別搞得到處都是碎片記錄。
  • • 準確地把待辦事項、人員、項目、每日總結和草稿分類放好。
  • • 把做過的決定、遇到的卡點、負責人、日期和有用的鏈接好好保存下來。
  • • 如果沒有什麼實質性的新進展,不要隨意修改知識庫裏的文件。

代碼庫是用來存代碼的。而這個知識庫,是用來存不斷滾動的上下文的:牽涉到哪些人、改了什麼、卡在哪裏、接下來誰跟進,以及那些如果在兩次聊天中間斷掉就會徹底消失的細節。

重要的上下文絕不應該僅僅鎖死在某一次聊天的文字記錄裏。把它們寫下來,放在下一個對話流能夠立刻接手的地方。

Codex 自己也在 設置 > 個性化 > 記憶 中提供官方的 記憶功能 [12] 。它們就像是系統自帶的本地記事本,用來記住你的個人偏好、常用的工作流以及一些經常踩的坑。不過,這個功能是用來輔助你清晰寫下來的上下文的,而不是取代它。Chronicle 記憶組件 [13] 也是同樣的思路,它能幫 Codex 從你最近屏幕上發生的事情中提取並構建記憶。

從代碼向外延伸 (From code outward)

Codex 雖然還是以寫代碼爲本行起家,但現在,圍繞代碼的諸多周邊工作,都能在這個同一套系統裏搞定了:無論是 MCP 服務器、網頁界面、電腦桌面控制、對話流自動化,還是那些可以在側邊欄直接審查的文件。

這徹底改變了我們控制它的方式。“任務干預”可以在中途打斷它的動作;“任務排隊”可以幫它安排好下一步;“對話流自動化”能讓你人不在場時系統依然運轉;而“目標設定”則給它畫了一條清晰的終點線,讓 Codex 知道要一直往哪裏衝。

如今的 Codex 已經可以扛起一個完整的工作流:從聽取指令、執行任務,一直到最終文件的審查。哪怕這些工作早已經超出了代碼庫的範疇,它也依然遊刃有餘。

引用鏈接

[1] Getting the most out of Codex: https://x.com/jxnlco/status/2057153744630890620
[2] Codex 的新特性: https://developers.openai.com/codex/app/features/
[3] $browser: https://developers.openai.com/codex/app/browser
[4] @chrome: https://developers.openai.com/codex/app/chrome-extension
[5] @computer: https://developers.openai.com/codex/app/computer-use
[6] Slack 集成: https://developers.openai.com/codex/integrations/slack
[7] MCP 工具連接器: https://developers.openai.com/api/docs/guides/tools-connectors-mcp
[8] 固化爲技能: https://developers.openai.com/codex/skills
[9] 隨時隨地與 Codex 協同工作: https://openai.com/index/work-with-codex-from-anywhere/
[10] 自動化功能: https://developers.openai.com/codex/app/automations
[11] 側邊欄功能: https://developers.openai.com/codex/app/features
[12] 記憶功能: https://developers.openai.com/codex/memories
[13] Chronicle 記憶組件: https://developers.openai.com/codex/memories/chronicle