Harness才是關鍵

AI速讀
開發者 Scott Fryxell 提出 AI 編碼的核心不在於追求最強模型,而是在於建構「駕馭框架 (Harness)」。他透過將開發流程拆解為規劃、執行、批評與推廣四個獨立角色,並採取「前沿模型規劃、低成本模型執行」的策略(如使用 Deepseek-v4-flash),成功在維持高產出的同時降低 75% 的 API 成本。他建議開發者應將 LLM 視為商品,透過整合 nvim、TUI 等工具建立自定義工作台,以實現對 AI 協作的絕對掌控,而非被特定工具綁架。

過去一年半,AI 程式設計工具的變化快得讓人眩暈。從程式碼補全到智能體自動編寫,再到如今需要你親自“駕馭”一群 AI 模型協同工作——技術浪潮一波接一波,彷彿稍不留神就會被拋下。許多開發者興奮之餘也感到焦慮:模型這麼多,到底該用那一個?訂閱成本越來越高,產出卻未必成正比;依賴單一服務商,又擔心那天政策一變就斷了糧;更別提在不同工具之間來回切換,思路被切得七零八落。

這些困擾背後,其實是一個更根本的問題:當 AI 模型變得像商品一樣觸手可及,個人開發者究竟該如何把它們組織起來,形成一個穩定、高效、成本可控的工作系統?換句話說,在這場 AI 編碼的混亂革命中,真正的支點在那裡?

這篇文章給出的答案是:駕馭框架(harness)。作者沒有追逐最炫的模型,也沒有被工具綁架,而是搭建了一套屬於自己的“工作台”,讓多個大語言模型各司其職,把成本砍掉四分之三,同時把個人項目的質量和節奏推到了新的高度。如果你也曾在琳瑯滿目的 AI 工具前感到無從下手,或者想知道如何讓手頭的模型真正為你所用,那麼這篇文章或許就是你要找的那塊拼圖。


Harness才是關鍵

作者:Scott Fryxell

發表時間:2026年8月25日

我剛入行做開發時,有位老前輩對我說過,摩爾定律同樣適用於軟體。當時我不明白,我們圍繞如何解決問題的那些沒完沒了的討論,其實就是進步的軌跡;抱怨 J2EE 有多難用、Netbeans 有多慢,吐槽基於表格的佈局和整頁刷新,這些日常的最佳化折騰,本身也是推動進步的動力。

過去十八個月尤其是一段不斷加速改進的時期。從程式碼補全,到智能體式編碼(agentic coding),再到用一套駕馭框架(harness)來管理你的智能體。我也從最初驚嘆於效率提升,到現在沉下心來玩這場遊戲,像榨檸檬一樣看看還能擠出多少汁水。

現在出現了一些新的事實。單人項目可以達到大型開發團隊的水準和一致性。你可以也應該去建構定製應用,而且不必為讓有經驗的工程師上手而頭疼;只要他們對技術堆疊瞭如指掌,就能很快知道怎麼為你的項目做貢獻。但最重要的是,我認識到駕馭框架才是關鍵——它是我期望與大語言模型(LLM)能力交匯的支點。

目前,我的工作台由兩個訂閱服務支撐:Cursor 和 Claude,需要時再用 Pi 來增強。這三者共享我的技能和 AGENTS.md 檔案。雖然我使用三個終端介面(TUI),但體驗是統一的。這讓我覺得模型已經商品化了;Claude 或 Cursor 裡並沒有什麼能讓我高效工作的獨家秘方或特殊體驗。對於本月底從 Cursor 切換到 Codex,我一點都不焦慮。

成本優勢

在模型商品化的時代,我能從一堆可用模型裡拿到很好的結果,但自從 deepseek-v4-flash-0731 發佈以來,我一直主要用它。只有在極少數情況下,我才會動用我的 Anthropic API 預算去用 Fable。

大部分維護和簡單任務,我用 Deepseek 就能搞定。只有當我在探索一個正經功能或涉及很多變動部分的大型重構時,我才會去用最前沿的模型。最近我學到了 prewalk,這是 Can Bölük 提出的一種技巧:用前沿模型做規劃階段和第一個任務,等模式固定下來後就交給其他模型。我把它和《建構高級智能體駕馭框架》(Building an Advanced Agentic Harness)裡的規劃者/執行者/批評者分離方法結合起來——一個提示詞如果同時負責規劃、執行和自我批評,會混淆自身目標,所以每個角色要分開隔離。我把這兩者都做成了一個技能,並搭配一個 Pi 擴展,可以在任何工作階段接手。

探索之後會形成一個計畫,並固化成一份明確的有向無環圖(DAG)任務列表。然後執行者接手,專注於一次實現 DAG 中的一個節點。完成後,我再請批評者來簡化和質疑已經實現的東西。這個階段常常會提出足夠多的反對意見,讓執行者階段被重新審視。但只要滿意了,批評者就讓位給推廣者,這提醒我:一項工作只有在恰當地傳達給別人之後才算完成。

我加入推廣者這一步,是為了補上我總想趕緊發佈、然後撒手不管的毛病。它提醒我,要讓別人知道我完成了什麼工作。這個階段我需要 Fable 稍微幫一下,因為推廣這件事很微妙,容易搞砸;而且沒人喜歡聽批評,所以用前沿模型來做能更有份量。

這樣一來,即使在我最需要高強度使用的場景裡,Fable 的用量也下降了 75%。這感覺很合理,有點像 AI 浸潤(AI soak)。我靠著兩個每月二十美元的套餐,就能照顧好客戶,並在自己的項目上取得實實在在的進展,同時根據需要在 Pi 裡切換 Deepseek 或注入 Fable。

產品與駕馭框架的連接

我的產品是一款相機應用,設計目標很簡單:拍一張照片,然後把它轉換成向量圖形,一次一張。它有趣的地方就在於簡單。解析度會下降,圖片被簡化成明度層次和形狀。它保留語境、去掉細節,這樣你就可以把細節重新畫回去。這就是它的全部設計目的。你可以列印出來,在上面畫畫;或者匯入 Procreate,在所有圖層裡繪製。

這個功能通過 poster-driver 開放給駕馭框架使用。在無頭 Chrome 中打開它,驅動線上網站,就能從任何你想要的圖形或解構視訊中生成海報。這讓指令碼化操作應用像載入網頁一樣簡單。

以前只有笨拙解決方案的高級用例,現在變得可用且有趣;這是一個還有大量探索空間的功能。

大語言模型幫我搞定了這個,並寫了一個我保存在駕馭框架裡的指令碼;這樣它可以運行無數次而不消耗 token。產品變得更強大,因為駕馭框架能夠觸達它。它還支援檔案系統 API。在 Brave 瀏覽器上啟用後,我可以把我的想法同步到工作目錄。收集我自己那些傷感男孩的歌詞,在房間裡獨自唱。痛並快樂著。我正在探索的另一個創意用途是,在 Blender 裡做一個我所在社區的三維環境,上面疊加海報。一個場景、一個故事板,比我從網上能提供的要多得多。

現在這個應用感覺完全可用了,這在一年前是不可能的。創意人士仍然可以以 AI 的方式使用非 AI 工具。我們可以把創意中最有趣的部分留給自己。

拆解駕馭框架

我的整個工作日都泡在這個駕馭框架裡。我把 nvim 配置對應到工作目錄,現在大語言模型知道我打開了那個檔案,並且可以編輯它;因為我用 vim 還不太熟練,它還能幫我用對操作命令。我試著把駕馭框架想成一種夾具(jig):大語言模型就在那裡和我一起編輯配置,讓我既能專注於工作,又能保持使用 vim 命令的紀律。

這個駕馭框架是自包含的,支援的不只是一個主目錄(沙箱、Web 介面、檔案系統訪問 API、Docker、Deno 可執行檔案等)。

這些概念在我腦子裡還在成形,所以我一直把 npm start、cursor-agent、claude 當作終端介面來參照,好讓駕馭框架的概念保持清晰。所有終端介面共享同一個駕馭框架。

保持可審計性很重要,所以我指示這些終端介面把東西都放在 artifacts/ 目錄裡。Cursor 用 .gitignore 來忽略檔案,我覺得這很聰明,所以需要一個不含 git 的根目錄。我有一個技能,能把駕馭框架與工作目錄裡的倉庫同步。技能、擴展和 AGENTS.md 在根目錄裡都是一等公民,等著被修改和建構。終端介面必須守規矩。

一開始,我對自己的技能設定太死板了;我正在學著降低具體程度,並且意識到有一條線,過了線就是在浪費 token 對機器人說教。等駕馭框架穩定下來後,我需要採取更實證的方法來確認改動的影響。

下面是一些對應到我的規劃流程的技能。

腳踏實地之後,我不再在 cursor-agent 或 Claude 裡感到迷失。我對工作流有了掌控權,可以精心設計自己建構解決方案的方式。我在 Pi 上學到的東西,常常會回流到我的 Claude 和 Cursor 體驗中。有了 Pi,我相信自己能硬啃下任何問題。讓駕馭框架運行指令碼,再用大語言模型協調指令碼。

最近三個月,我發現自己越來越多地離開編輯器,轉向終端。這背後是一堆和諧的原因。把程式碼託付給智能體、切換到 Ghostty、通過 nvim 對抗技能退化,這些本來會嚴重拖累我的產出,但我的個人項目和客戶工作卻達到了最高水平和節奏。小事比如用分屏為長時間運行的智能體任務建構上下文,幫我安頓進了 AI 體驗中。

當政府封禁 Fable,並開始對行業釋放出家長式特權的訊號時,這一切都變得緊迫起來。我,以及我猜大概有十萬名其他軟體開發者,突然覺得有必要把模型訪問管道多元化。於是,為了自由,我們集體決定試試這些中國模型。Pi 從一個我折騰好之後只是隨便玩玩的工具,變成了我整套裝備裡最重要的一環。(WhaleThink)