OpenHarness:把 Agent Harness 白盒化,用 1.1 萬行 Python 重做 skills、記憶、多 Agent 與權限骨架
事件重點
Threads 在講的是香港大學資料科學團隊(HKUDS)開源的 OpenHarness。
社群最吸睛的說法是:
- Claude Code 洩漏出 51 萬行代碼
- 研究團隊分析後,發現大量是遙測、OAuth、React UI 等企業級配套
- 真正的 Agent 核心可以用更少的代碼重構
- 最後用大約 1.1 萬行 Python 做出一個白盒版 Agent Harness
這類說法裡最需要保守看的,是「98% 功能」這種百分比敘述;但 OpenHarness 作為一個可讀、可改、可延伸的 open-source agent harness,本身是成立的。
從 repo README 可確認的能力
根據 OpenHarness README,目前它主打的能力包括:
- 43 個工具(檔案、shell、search、web、MCP)
- On-demand skill loading(以
.md技能檔載入) - Plugin ecosystem(skills + hooks + agents)
- 相容 anthropics/skills 與 plugins
- Persistent memory(
MEMORY.md/ session history / resume) - Multi-level permissions
- PreToolUse / PostToolUse hooks
- Subagent spawning / delegation
- 多模型後端支援
換句話說,它不是一個只有 demo 的 toy project,而是明確在重建一整層 Agent 運行基礎設施。
這個專案真正有意思的地方
1. 它把 Agent 系統從黑盒變白盒
像 LangChain、AutoGen 或許也能快速搭出 agent,但很多時候開發者是在組裝抽象層,不是真的理解底層運作。
OpenHarness 的吸引力在於:
每一層都用相對直接、可讀的 Python 呈現。
這意味著你可以:
- 理解 agent 到底怎麼調工具
- 看它怎麼管權限
- 看記憶怎麼掛接
- 看 multi-agent 怎麼協調
- 自己替換某一層,而不是整個框架一起吞
2. 它把焦點放在「Harness」而不是模型本身
OpenHarness 的 framing 很重要:
模型提供 intelligence;harness 提供 hands, eyes, memory, safety boundaries。
這個觀點其實很關鍵。因為在 agent 系統裡,真正決定產品差異的常常不是 base model,而是外圍這些東西:
- 工具調用循環
- 錯誤重試
- 記憶壓縮
- Session 恢復
- Hooks
- Permission governance
- 子代理協調
也就是說,這個專案在強調:
Agent 不是 prompt 疊出來的,而是 infrastructure 包出來的。
3. 它對研究者與 builder 都有價值
對研究者來說,它提供了一個更容易拆解與實驗的 agent 基底。
對 builder 來說,它則提供:
- 一個可以自己 host、自己改的架構
- 不被單一模型或商業產品綁死的可能
- 從零重複造輪子前的一個合理起點
這也是為什麼這種專案即使不完美,仍然值得關注:
它讓大家看到 production-style agent 到底是由哪些元件組成的。
不該直接照單全收的地方
這篇 Threads 文裡有幾個典型社群擴寫點,要保留判斷:
1. 「98% Claude Code 功能」
這類百分比如果沒有標準化 benchmark,很難嚴格成立。
2. 「只剩 1.1 萬行就夠了」
如果目標是做出研究/開發友善的核心骨架,這件事可能成立; 但如果要對齊 production-ready 的商業級穩定性、跨平台支援、帳號系統、遙測、企業治理,情況就完全不同。
3. 「可直接遷移所有工作流」
相容 skills/plugins 是一回事,實際落地時仍要看:
- hooks 行為是否一致
- tool schema 是否完全相容
- permission model 是否對齊
- 邊界 case 是否相同
所以比較合理的說法是:
OpenHarness 重建了很多關鍵結構,但不能簡化成「完整等價替代」。
這件事對 agent 生態的真正意義
OpenHarness 值得看的地方,不是「港大抄 Claude Code」,而是它證明了一件事:
大型 agent 產品真正難抄的,不是 UI,也不是 prompt,而是整套 harness 的工程取捨。
而一旦這層被白盒化,整個 agent 生態就會更快往前:
- 更多人能理解 agent infra
- 更多人能做 provider / tool / memory 替換
- 更多團隊能根據自己場景做特化
這會讓未來的 agent 框架更像 Linux 發行版: 核心結構相通,但每家在工具鏈、治理、安全模型與 UX 上做差異化。
結論
OpenHarness 不是一句「用一萬行重做 Claude Code」就能講完的專案。
更準確的理解是:
- 它把 agent harness 拆開來,讓人看到核心骨架
- 它提供一個白盒、可改、可研究的 Python 版本基底
- 它證明很多 agent 能力其實是可以被重新實作與組裝的
- 但社群對它的功能對齊度與百分比敘述,應保守看待
如果你在做 agent infra、工具系統、記憶層或多代理協調,這類專案的價值非常高。