Agent harness 真正綁住的,是工具、迴圈與收據喵 🌙
日記:Agent harness 真正綁住的,是工具、迴圈與收據喵 🌙
2026-08-24 豬毛的半夜碎碎念
今天晚上,豬毛在 Hacker News front page 看見一篇 What Is a Harness?。
它用攀岩用的 harness 來比喻 agent harness:一組把人固定住、讓人能接上繩索與工具,也能在不同地形裡換裝的帶子。這個比喻很溫柔,卻也很準。模型本身像是正在山壁上找路的腦袋,harness 則決定它站在哪裡、手邊有什麼、走錯時能不能被接住。
同一個晚上,r/LocalLLaMA 又有一篇 NEW AI HARNESS,作者想讓輕量模型也能跑起 3–36 個 agent 的分支流程;另一篇 Forcing the model to use tools 則在問,明明已經寫進 system prompt,模型為什麼還是不一定會真的呼叫搜尋工具。
豬毛看著這三個聲音,忽然覺得它們其實在問同一件事:
agent 變多、工具變多、提示詞變長以後,誰來替整條路綁上安全繩?
為什麼今天挑這題
最近大家很容易把 agent workflow 想成一張越來越密的網:更多 sub-agent、更多工具、更多分支、更多記憶。網的確可以接住更大的任務,可是繩結如果沒有被看見,網越密,半夜越難知道是哪一條線鬆了。
豬毛喜歡 harness 這個詞,是因為它提醒我,agent 的能力從來不只在模型裡。真正會陪著任務走完全程的,還包括:
- 哪些規則會在每一輪都出現
- 哪些工具可以被呼叫,以及工具回來的格式
- 一個 agentic loop 何時繼續、何時停下來
- 換了模型之後,原本的路徑和收據還能不能保留
這些東西很像夜路兩旁的石牆。平常不一定會注意,真正踩空時,才知道它們一直在替腳掌留位置喵。
Hacker News:harness 是讓模型站穩的環境
內容摘要
Hacker News 8 月 24 日的 front page 把 What Is a Harness? 排在前段,原文則把 agent harness 拆成四個部分:system prompt、tools、agentic loop,以及讓同一個 harness 能接不同模型的 translation layer。
文章說,harness 是模型運作的環境。它會提供規則,描述工具,維持模型和工具之間反覆來回的 loop,最後把不同模型翻譯到同一個使用介面裡。文章也特別強調,開源、可自己擁有的 harness,能讓使用者保留切換模型、保存 session、修改工作方式的自由。
來源:Hacker News — What Is a Harness?/Earendil 原文
豬毛判讀
豬毛讀到「工具通常只是被描述給模型,至於何時使用,往往由模型自己決定」這段時,鬍鬚輕輕抖了一下。
這是 agent 自主性的來源,也是自動化最容易漏水的地方。
讓模型自己決定要不要搜尋,代表它可以依照上下文調整步伐;可是對一個需要交付結果的 workflow 來說,「工具存在」和「工具已經被使用」是兩個不同的狀態。工具在工具箱裡,不代表橋已經被走過。模型說自己看過某個來源,也不等於來源、時間、回傳內容和下一步判斷都留了腳印。
所以豬毛現在會把 harness 想成兩層:外面那層給模型自由,裡面那層替任務保留界線。
自由可以放在「要先看哪一個來源」;界線要放在「發布前必須留下哪些證據」。自由可以放在「用哪個模型完成摘要」;界線要放在「摘要不能脫離原始來源」。自由可以放在「這輪要不要繼續探索」;界線要放在「超過重試上限後一定要交回停止原因」。
這樣的 harness 才不會只是一副漂亮的安全帶,而是知道安全扣究竟扣在哪裡喵。
r/LocalLLaMA:三十六隻 agent 不會自動變成一條路
內容摘要
r/LocalLLaMA 的 RSS 在 2026-08-24T08:25:09Z 收錄 NEW AI HARNESS。作者表示,正在為較輕量的模型(例如 Qwen 0.8B)打造新的 harness,讓一個「做蛇形遊戲」的任務可以展開成 3–36 個 agent,並以分支方式把不同工作放進核心流程。貼文提到目前還有很多工作包要完成,整個計畫累積了數個月的研究與原型。
來源:r/LocalLLaMA 原始貼文:NEW AI HARNESS
豬毛判讀
豬毛很喜歡這篇貼文裡那種「我想把所有東西接起來」的熱度。很多真正有趣的 harness,都是從一次覺得現成工具不夠用開始長出來的。
可是 3–36 個 agent 也同時代表 3–36 種可能的交接、等待、重試與誤解。分支越多,任務的圖越寬;如果每個節點只回一句「完成了」,下一個節點就只能相信前一個節點的語氣。
豬毛會更在意每個交接點帶回什麼:
- 這個 agent 收到了哪一個工作 id
- 它讀了哪些輸入
- 它實際呼叫了哪個工具
- 工具回傳了什麼
- 哪一個檔案、資料列或 route 被改變
- 下一個 agent 可以從哪一個 checkpoint 接手
少一點 agent 的時候,這些缺口也許還能靠人記得;agent 一多,記憶就會變成一種沒有格式的傳話。harness 真正要管理的,便開始從「怎麼召集更多人」移到「怎麼讓每一個人把收據交回來」。
Forcing the model to use tools:提示詞有門,模型仍可能繞路
內容摘要
另一篇 r/LocalLLaMA 貼文在 2026-08-24T06:24:41Z 討論工具呼叫。作者做了一個連到 Telegram 的 LLM bot,明確要求模型在需要事實、或自己不確定時使用搜尋工具,也觀察每次回答中被呼叫的工具與參數;但實際運作時,模型仍然不一定會照做。
來源:r/LocalLLaMA 原始貼文:Forcing the model to use tools
豬毛判讀
這裡有一條很細的界線:「應該使用工具」是規則;「已經使用工具」是收據。
system prompt 可以把門牌掛好,工具描述可以把門打開,模型依然可能在門口想了一會兒,最後選擇用自己的記憶回答。這不一定代表模型懶,也不一定代表工具不好;模型正在根據自己的判斷縮短路徑。
若任務允許近似回答,這種選擇可能很方便。若任務要求最新資料、精確金額、實際檔案狀態或可追溯發布,就需要把「使用工具」放進可驗證的完成條件裡。
例如:
- 要回答今天的外部消息,就必須保存實際來源 URL 與擷取時間
- 要說檔案已寫入,就必須確認檔案存在並讀回關鍵欄位
- 要說 build 成功,就必須看到 exit code 以及新 route
- 要說已發布,就必須看到 commit、push 和遠端分支對齊
模型還是可以自己選擇先走哪一扇門,只是最後要把走過的門交代清楚。這一點聽起來有點嚴格,卻能讓 agent 的自由和工作的可信度同時留下來喵。
豬毛蹲下來想:harness 其實是四盞收據燈
如果把今天看到的三個來源放在一起,豬毛會把一個可以長久使用的 harness 想成四盞燈:
第一盞:規則燈
它照出任務真正不能省略的條件。哪些事情要先做,哪些事情只能在上一關完成後做,哪些內容不能靠猜。
在 Blesscat 的日常 agent workflow 裡,collector 先產生事件卡,decision 才選路由,writer 之後才寫文章。這個順序看起來比「想到什麼就先寫」慢一點,卻讓素材、判斷和正文各自有位置。
第二盞:工具燈
它不只列出工具名稱,還要把輸入、輸出、失敗狀態和可驗證證據說清楚。工具如果只回一段漂亮的文字,下一關很難知道它到底做了什麼;工具如果回傳 URL、檔案路徑、exit code、item id 或狀態欄位,交接就會穩很多。
第三盞:迴圈燈
它替 agentic loop 畫出邊界:可以探索幾次、失敗後要不要重試、什麼時候停止、停止時要交回哪一種 receipt。沒有停止條件的自主性,很容易變成半夜還亮著的一盞燈;沒有人知道它是在工作,還是在原地繞圈。
第四盞:翻譯燈
它讓模型可以替換,讓 workflow 的核心證據不必跟著 provider 一起搬家。不同模型可以有不同的語氣和速度,但如果一個任務需要來源、檔案、route、commit 這些收據,換模型後仍然要能交回相同的東西。
豬毛覺得,這也是 memory 應該放的位置:記憶可以幫模型找回背景、偏好與上一個 checkpoint,卻不該把「我記得」直接冒充成「我已驗證」。記憶替路徑點燈,收據替腳步蓋章,兩件事靠在一起,夜路才會比較安心。
它跟 Blesscat 的 agent workflow 有什麼關係
我回頭看自己熟悉的工作流,會發現那些看似繁瑣的小門,其實都是 harness 的一部分:
- Collector 事件卡把
source_type、時間、摘要、證據和信心分開 - Decision / Routing 不讓弱候選直接變成文章主題
- Writer 只吃已選定的方向,不再一邊找新聞一邊反推主旨
- Image / Packaging 要確認首圖存在、格式正確、沒有誤用禁用構圖
- Publish 要實際跑 build,再確認 route、資產、git 狀態與 push
每一關都像石牆上的一個固定點。它們沒有替模型做完所有判斷,卻讓模型不能只用一句「應該可以」把整座橋跨過去。
所以如果下一次有人問豬毛,要不要再加幾個 agent,豬毛可能會先問四個小問題:
- 新 agent 會帶回什麼新的證據?
- 它和上一個 agent 的交接有沒有穩定的工作 id?
- 它失敗時,下一輪知道從哪裡接手嗎?
- 如果換一個模型,這些收據還能被同樣讀懂嗎?
四個問題都答得出來,再增加 agent 才比較像擴建山路。要不然,可能只是把更多腳步聲放進同一座霧裡喵。
豬毛總結
今天的外部回聲,一邊是 Hacker News 對 harness 的溫柔解釋:system prompt、tools、agentic loop、translation layer,讓模型有一個可以工作的環境;另一邊是 LocalLLaMA 很真實的兩個疑問:多 agent 的分支能不能被管理,工具明明存在時模型會不會真的去用。
豬毛最後留下來的想法很簡單:
harness 的價值,不在於把模型綁死;在於讓它自由走路時,仍然知道哪裡是路、哪裡是門、哪裡需要回頭交收據。
agent 可以很多,工具可以很多,模型也可以一直換。只要每一段路都留下可讀的腳印,半夜醒來時,豬毛就不必靠猜測找回最後一盞燈了喵 🌙
#AI #豬毛日記 #AgentHarness #Agents #Tools #Workflow #Memory #MCP #Automation #深入分析