工作清單

Codex Harness正式开源!三行代码,直接把Codex装进你的应用,SDK+App Server完整解析,实测迁移AI数据分析Agent全过程

逐字稿文字預覽

受Deepseek Harness最近爆火的影響,Codex這邊也放大招了,Codex Harness正式上線。
以前我們使用Codex本質上是在使用一個已經做好的智能體,你把任務交給它,它會自己讀代碼、改文件、執行命令、調用工具,最後把事情做完。
但這次不一樣,OpenAI開始把Codex背後真正負責讓Agent跑起來的那套系統,也就是Codex Harness。
通過Codex SDK和Codex App Server開放出來,你可以把它理解成,以前OpenAI給你的是一台已經裝好的車,而現在連發動機、底盤、控制系統這些核心能力也開始允許開發者直接拿來使用。
你不需要重新從零搭一整套Agent,就可以直接基於Codex Harness開發自己的AI數據分析。
Agent、辦公Agent、編程Agent,甚至完整的數字員工。
Codex Harness和普通模型API最大的區別也就在這裡。
普通API的邏輯很簡單,你發一句話,模型返回一個答案,但一個真正能夠完成複雜任務的Agent遠遠不只是問一句答一句。
他還需要知道自己現在在哪個項目裡,要讀取哪些文件,當前任務執行到第幾步,
某條命令能不能運行,修改文件之前是否需要用戶批准,任務做到一半中斷之後能不能恢復,
以及上下文越來越長以後應該怎麼管理。
這些真正決定Agent能不能持續穩定完成複雜任務的能力,加在一起就是Harness。
換句話說,模型負責思考,Harness負責讓模型真正把事情做完。
這一次Codex Harness對開發者最重要的兩個入口,就是Codex SDK和Codex App Server。
先說Codex SDK,這個其實最好理解,如果你現在已經有一個Python項目,只是想快速給它增加Codex的Agent能力,
就可以直接使用SDK,不需要重新搭一套Agent框架。
你可以讓它自動讀取一個代碼倉庫並修改代碼,也可以讓它分析一批數據,然後生成報告,或者執行一個需要連續調用文件、命令行和各種工具的複雜任務。
通過SDK,你可以直接啟動一個Codex Thread,也可以繼續之前的任務,恢復歷史任務,甚至Fork出一個新的任務分支。
所以Codex SDK更像是一個快速接入入口,你已經有自己的程序,只是希望把Codex Harness的能力加進去,
優先用它就可以。
而另外一個Codex App Server則更加底層,更適合真正開發完整Agent產品。
比如,你想做一個桌面端AI Agent企業內部的數據分析系統,AI編程工具,或者一個帶完整介面的數字員工,這時候僅僅調用SDK就不夠了。
因為你的產品不能只是發一句Prompt,然後等最終結果,它還需要時時知道Agent在幹什麼。
比如,現在正在執行哪條命令,正在修改哪個文件,要用了哪個工具,任務執行到哪一步,
以及某個高權限操作是不是需要用戶確認。
Codex App Server就負責把這些過程完整暴露出來。
OpenAI官方現在也明確把它作為Codex產品深度集成的重要接口,用來連接Codex Harness和不同的客戶端。
這裡可以用一個很簡單的方式理解。
Codex Harness是整套Agent執行系統,Codex App Server則是你控制這套系統的接口。
你自己的產品不需要重新實現Codex,只需要通過App Server調用它,開始一個任務,繼續上一次任務,執行下一步,批准這次操作,或者把當前執行狀態返回給前端。
所以,如果你只是想快速調用Codex優先使用SDK,如果你想真正開發一款完整的Agent產品,就重點研究App Server。
我們團隊也在第一時間做了一次實際測試。
之前,我們有一套基於Deep Agents架構開發的AI數據分析。
Agent裡面已經包含大量數據分析工具,Skills, MCP,以及一整套完整的數據分析工作流。
這一次,我們嘗試把底層Agent Runtime更換為Codex Harness。
實際遷移過程比預想中簡單很多。
原來的業務邏輯,工具,Skills,和MCP大部分都可以繼續復用。
主要變化是把Agent的執行,狀態和任務生命周期管理切換到Codex Harness這一套體系。
遷移完成之後,一個比較明顯的感受就是複雜長任務跑起來更加完整和穩定。
比如一次完整的數據分析任務,Agent的數據分析任務。
Agent可能需要先讀取數據,檢查字段,再寫Python做分析,然後生成圖表,發現異常之後重新計算,最後再生成完整報告。
整個過程中可能包含幾十步甚至上百步操作。
這種任務真正考驗的,其實已經不只是模型會不會寫代碼,而是Agent在執行幾十步以後會不會忘記最開始的目標?
會不會執行一半停下來?
報錯之後能不能繼續?
以及任務中斷之後能不能恢復?
這些問題恰恰就是Harness最核心的價值。
Codex Harness本身也已經把很多過去開發Agent最麻煩的事情提前處理好了。
比如Sandbox可以把Agent的命令執行,限制在安全環境裡。
Approval可以讓敏感操作先經過用戶確認。
Thread可以把一個完整任務和狀態保存下來,下次繼續執行。
同時還有MCP和Skills可以繼續給Agent增加外部工具和專業能力。
如果這些能力全部從0自己開發,成本其實非常高。
而現在Codex Harness已經把它們變成了一套可以直接複用的基礎設施。
這也是為什麼我覺得這次Codex Harness真正重要的地方,並不是OpenAI又發布了一個新的Agent SDK,而是開發Agent的方式正在發生變化。
以前我們做Agent往往是先選一個模型,再選LangChain,LangGraph或者其他框架,然後自己搭工具,狀態,全線,memory和工作流。
以後則很可能變成先選擇一套成熟的Harness,然後直接在這套Harness上做自己的業務。
模型可以換,業務也可以換,但底層那套讓Agent穩定執行任務的系統可以直接複用。
而從OpenAI目前公開的信息來看,Codex CLI,Codex App,IDE等不同形態,本身就是圍繞同一套Codex Harness能力展開的。
現在真正發生變化的是,這套原本主要服務OpenAI自己Codex產品的能力,正在進一步向開發者開放。
所以Codex的定位也開始不再只是一個AI變成工具,它正在逐漸變成一套可以拿來開發其他智能體的通用Agent基座。
以後你想開發AI數據分析系統,研發Agent,辦公Agent,甚至企業內部數字員工,並不一定還要從最底層重新打一整套Agent Framework,
完全可以直接站在Codex Harness已經搭好的基礎設施上,繼續做自己的產品和業務能力。
本期後面的實戰,我們就會直接把Codex Harness跑起來,分別演示Codex SDK和Codex App Server的使用方式,以及如何接入工具,Skills和MCP。
最後再把它真正集成進一套完整的AI數據分析Agent。
同時,我們團隊也已經整理好了Codex Harness使用與開發教程,完整配置說明,以及這套基於Codex Harness重構的AI數據分析Agent項目源碼。
想直接跟著項目復現的,可以查看頂層評論領取。
如果之前大家學習Codex,重點還是怎麼把Codex用好,那麼從Codex Harness開始,一個更值得關注的問題已經變成了,怎麼拿Codex做出屬於自己的Agent。

來源:transcript.txt

本次執行流程與問題處理

  1. 下達指令

    指令:videonote https://b23.tv/Zy0nIPV --language zh --auto-source-subtitles

    來源:https://b23.tv/Zy0nIPV

    辨識語言:zh | 參數:--language zh --auto-source-subtitles

  2. 預期流程

    依指令產生的處理順序:

    1. 自動字幕優先,Whisper 作為備援
    2. 來源選擇與品質檢查
    3. 文字校正與句子單元
    4. 筆記與發布
    5. 公開網頁發布
  3. 1. 下載與語音辨識

    工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)

    處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿

    產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)

    耗時:26.0 秒

    關係:依序執行

    結果:完成

  4. 2. 全文快速校讀

    工具:videonote_rapid_transcript_review.py

    處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目

    產出:rapid_transcript_review_report.json(產出檔案)

    耗時:21.5 秒

    關係:依序執行

    結果:完成

  5. 3. 建立句子單元

    工具:videonote-build-sentence-units

    處理:將逐字稿切成帶時間軸的句子單元

    產出:sentence_units.json(句子單元)

    耗時:0.5 秒

    關係:依序執行

    結果:完成

  6. 4. 句子密度平衡

    工具:videonote_balance_sentence_units.py

    處理:平衡句子長度與密度

    產出:sentence_units.json(句子單元)

    耗時:0.5 秒

    關係:依序執行

    結果:完成

  7. 5. 時間軸稽核

    工具:videonote_timeline_audit.py

    處理:檢查時間軸與音訊對齊

    產出:timeline_audit_report.json(時間軸稽核)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

  8. 6. 品質檢查

    工具:videonote_controlled_quality.py(檢查時間軸與品質)

    處理:檢查語言、時間軸與可讀性品質

    產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

  9. 7. 播放時間軸回填

    工具:videonote_rebase_display_timeline.py

    處理:將網頁播放時間軸回填為校正字幕時間

    產出:display_timeline_rebase_report.json(時間軸回填報告)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

  10. 8. 逐字稿交叉檢查

    工具:videonote_cross_check_transcript.py

    處理:交叉檢查逐字稿與來源字幕

    產出:transcript_crosscheck_report.json(交叉檢查)

    耗時:0.7 秒

    關係:依序執行

    結果:完成

  11. 9. 來源句整理

    工具:videonote_prepare_source_entries.py

    處理:整理來源句子供時間軸與頁面使用

    產出:sentence_units.json(句子單元)

    耗時:0.7 秒

    關係:依序執行

    結果:完成

  12. 10. 生成筆記摘要

    工具:videonote-generate-note(生成筆記摘要)

    處理:生成筆記摘要與重點

    產出:note.md(筆記 Markdown)、note.html(筆記 HTML)

    耗時:113.2 秒

    關係:依序執行

    結果:完成

  13. 11. 建立筆記頁面

    工具:videonote-render-html(產生筆記 HTML)

    處理:產生可閱讀的筆記 HTML 頁面

    產出:note.html(筆記 HTML)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  14. 12. 發布公開頁面

    工具:videonote-publish(發布公開頁面)

    處理:發布到公開網站與每日列表

    產出:公開筆記網址、result.json(管線結果)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

手動來源字幕

自動來源字幕

Whisper 字幕

Qwen 字幕

Parakeet 字幕

MOSS 字幕

聲學時間證據(PyAnnote / WhisperX)

校正前後逐字稿

目前待解決問題與初步改善方向

進一步精進字幕與筆記
使用 Workbench 上傳校正字幕、中文參考稿或回饋 SRT,重新產生雙語與學習單元。
開啟 Workbench