逐字稿文字預覽
受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。
本次執行流程與問題處理
下達指令
預期流程
- 自動字幕優先,Whisper 作為備援
- 來源選擇與品質檢查
- 文字校正與句子單元
- 筆記與發布
- 公開網頁發布
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 秒
關係:依序執行
結果:完成
2. 全文快速校讀
工具:videonote_rapid_transcript_review.py
處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目
產出:rapid_transcript_review_report.json(產出檔案)
耗時:21.5 秒
關係:依序執行
結果:完成
3. 建立句子單元
工具:videonote-build-sentence-units
處理:將逐字稿切成帶時間軸的句子單元
產出:sentence_units.json(句子單元)
耗時:0.5 秒
關係:依序執行
結果:完成
4. 句子密度平衡
工具:videonote_balance_sentence_units.py
處理:平衡句子長度與密度
產出:sentence_units.json(句子單元)
耗時:0.5 秒
關係:依序執行
結果:完成
5. 時間軸稽核
工具:videonote_timeline_audit.py
處理:檢查時間軸與音訊對齊
產出:timeline_audit_report.json(時間軸稽核)
耗時:0.6 秒
關係:依序執行
結果:完成
6. 品質檢查
工具:videonote_controlled_quality.py(檢查時間軸與品質)
處理:檢查語言、時間軸與可讀性品質
產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)
耗時:0.6 秒
關係:依序執行
結果:完成
7. 播放時間軸回填
工具:videonote_rebase_display_timeline.py
處理:將網頁播放時間軸回填為校正字幕時間
產出:display_timeline_rebase_report.json(時間軸回填報告)
耗時:0.6 秒
關係:依序執行
結果:完成
8. 逐字稿交叉檢查
工具:videonote_cross_check_transcript.py
處理:交叉檢查逐字稿與來源字幕
產出:transcript_crosscheck_report.json(交叉檢查)
耗時:0.7 秒
關係:依序執行
結果:完成
9. 來源句整理
工具:videonote_prepare_source_entries.py
處理:整理來源句子供時間軸與頁面使用
產出:sentence_units.json(句子單元)
耗時:0.7 秒
關係:依序執行
結果:完成
10. 生成筆記摘要
工具:videonote-generate-note(生成筆記摘要)
處理:生成筆記摘要與重點
產出:note.md(筆記 Markdown)、note.html(筆記 HTML)
耗時:113.2 秒
關係:依序執行
結果:完成
11. 建立筆記頁面
工具:videonote-render-html(產生筆記 HTML)
處理:產生可閱讀的筆記 HTML 頁面
產出:note.html(筆記 HTML)
耗時:0.3 秒
關係:依序執行
結果:完成
12. 發布公開頁面
工具:videonote-publish(發布公開頁面)
處理:發布到公開網站與每日列表
產出:公開筆記網址、result.json(管線結果)
耗時:0.3 秒
關係:依序執行
結果:完成
手動來源字幕
- 尚未產生
自動來源字幕
Whisper 字幕
Qwen 字幕
- 尚未產生
Parakeet 字幕
- 尚未產生
MOSS 字幕
- 尚未產生
聲學時間證據(PyAnnote / WhisperX)
- 尚未產生
校正前後逐字稿
目前待解決問題與初步改善方向
- ⚠️ 全文快速校讀:已套用暫定修正,請確認
segment=17 已先套用暫定修正:通過SDK,你可以直接啟動一個Codex Thread,也可以繼續之前的任務,恢復歷史任務,甚至Folk出一個新的任務分支。 → 通過SDK,你可以直接啟動一個Codex Thread,也可以繼續之前的任務,恢復歷史任務,甚至Fork出一個新的任務分支。;segment=26 已先套用暫定修正:你自己的產品不需要重新實現Codex,只需要通過App Server倒數它,開始一個任務,繼續上一次任務,執行下一步,批准這次操作,或者把當前執行狀態返回給前端。 → 你自己的產品不需要重新實現Codex,只需要通過App Server調用它,開始一個任務,繼續上一次任務,執行下一步,批准這次操作,或者把當前執行狀態返回給前端。;segment=49 已先套用暫定修正:而現在Codex Harness已經把它們變成了一套可以直接附用的基礎設施。 → 而現在Codex Harness已經把它們變成了一套可以直接複用的基礎設施。;segment=53 已先套用暫定修正:模型可以換,業務也可以換,但底層那套讓Agent穩定執行任務的系統可以直接附用。 → 模型可以換,業務也可以換,但底層那套讓Agent穩定執行任務的系統可以直接複用。;segment=36 待確認:語意重複,聽感突兀,可能是口誤或斷句錯誤。;暫定:比如一次完整的數據分析任務,Agent的數據分析任務。;segment=51 待確認:術語'全線'不明確,可能是口誤。;暫定:以前我們做Agent往往是先選一個模型,再選LangChain,LangGraph或者其他框架,然後自己搭工具,狀態,全線,memory和工作流。
- 逐字稿可先使用,但有待校正清單
segment=5 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=6 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=7 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=16 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=17 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=47 unnatural_sentence_boundary: 標點出現在句首或停在逗號位置,斷句可能不符合文法/口語;segment=36 rapid_semantic_review: 上下文為'比如一次完整的數據分析任務,Agent的數據分析任務。Agent可能需要先讀取數據...',後半句'Agent的數據分析任務'與前半句意思高度重疊,且未構成完整語意。;segment=51 rapid_semantic_review: 在Agent開發語境中,常見搭配為'全鏈路'(Full-stack/End-to-end)或'線程管理'(Thread management)。'全線'非標準術語。
- Qwen3-ASR 未完成,需確認 qwen_asr_lab 環境與音訊後重試精進模式。