AI Harness 企業級落地實踐(一)

一、前言

今年 AI 圈非常躁動,除了全民養龍蝦,Harness 也在技術圈掀起了不小的波瀾。

與 open claw 不同的是,Harness 不是一個服務大眾的產品。通俗來說,Harness 是把工程學的思維,落地成範式並約束在 Agent 上,讓 Agent 能夠更規範、更穩定地工作。

Harness 是什麼?

想像一下在廣袤的草原上,一群駿馬飛快地馳騁著,它們就是 AI,有時候難免會跑偏。此時一位猛男,拿著馬具跳到馬背上,三下五除二就讓駿馬一直沿著正確的道路飛奔!

這個馬具就是 Harness!👉 套馬的漢子,你威武雄壯~

關於 Harness 更具體的定義可以參考以下文獻:OpenAI Harness 深度長文Harness Engineering 即控制論

今天筆者的核心:詳細拆解 Harness 工程的設計和落地。

同時,也會把這套實踐開源,讓每個開發者都能快速用上 Harness,解決「萬事開頭難」的哲學難題

  • 快速、低成本地替自己的專案加上 Harness 範式
  • 享受 OpenSpec + oh my xcode 帶來的高品質方案設計和程式碼交付
  • 輕易自訂,建設更適合自己團隊的 Harness 專案工程

開源專案地址:github.com/WxqKb/cow-h…

你的 [Star] 將是我的核動力✨

二、基礎軟體工程理念

Software Process Improvement(SPI)

前面我們講到,Harness 簡單理解就是讓 AI 大模型能嚴格按照軟體工程的體系,執行方案分析設計、程式碼開發、測試驗證等流程,從而高效完整地完成工作。

這次 Harness 的搭建,使用軟體工程中一個比較標準的體系:《軟體過程改進閉環》

立項決策 → 需求規劃 → 評審規範 → 實施驗證 → 復盤改進

在整個工程中,我們把複雜的需求拆解為以下環節,從而契合 CMMI 與敏捷 Scrum 的迭代研發標準框架:

Decisions → Plans → Reviews → Specs → Verifications → Retros

軟體工程標準專業名詞
所屬體系
decisions
基線決策 / 變更決議 / 技術決策
CMMI、敏捷
plans
迭代規劃 / 專案計畫 / 里程碑計畫
敏捷 Scrum、軟體工程
specs
需求規格說明(SRS)/ 技術規範 / 基線規範
軟體工程、CMMI
reviews
同行評審 / 階段評審 / 品質門禁評審
CMMI、ISO 軟體工程
verifications
驗證,Verification(V)
CMMI
retros
流程復盤 / 迭代回顧 / 流程改進回顧
Scrum、SPI

三、框架選型和落地

1. 技術選型

Harness 的搭建,需要把這些軟體流程落成約束範式,把每一個環節都拆細,比如:

  • 需求理解階段:用腦力激盪(brainstorming)的模式,讓 AI 覆蓋更多邊界場景思考出來
  • 技術方案設計:我們會用 superpower(brainstormingwriting-plans),透過不斷追問,從頂層設計、全端鏈路、風險前置等維度,與研發人員進行確認,完整覆蓋邊界場景
  • 方案評審:嚴格的流程,指定對應 superpower 的技能,進行智慧評審,對方案進行評分。同時設置門禁,必須由研發人員同意才能繼續往下實施
  • 任務實施:拆分完的 Task,我們透過 omx、using-git-worktrees 進行編排。它會自動把具體任務分配給合適的 Agent,達到更高效的編排和更完美的實施
  • 等等……

2. 腳手架設計

csharp 体验AI代码助手 代码解读复制代码cow-harness/
├── README.md                  
├── project.profile.md         # AI 生成的專案基礎資訊画像
├── context-map.md             # AI 生成的專案模組/上下文邊界地圖
├── project.verification.md    # AI 生成的專案級驗證規則
│
├── core/                      # 通用 Harness 規則(核心約束)
│   ├── harness.md             # Harness 核心理念與總體約束
│   ├── routing.md             # 任務路由表與分發規則
│   ├── artifacts.md           # 流程產物格式與存放規範
│   ├── verification.md        # 驗證門禁與完成標準
│   └── runbooks.md            # 各類任務的標準操作手冊
│
├── init/                      # 新專案初始化
├── entrypoints/               # AI 入口檔案模板(CLAUDE.md 等)
├── adapters/                  # 各編程工具適配模板(.cursor/ 等)
├── scripts/                   # 內部腳本,初始化會呼叫
└── artifact-templates/        # 流程產物模板
  • core 層是核心的約束

    • routing 路由表會判定使用者的任務屬於 SPI 的哪個流程,進而決定使用什麼工具和流程
    • runBooks 執行手冊會說明哪些環節使用什麼技能
    • artifacts 會約束流程產物的規範,並且沉澱成專案級別的知識庫;
    • verification 會規定驗證和准入標準
  • init 層,支援一句話,讓 AI 在你的專案中部署 Harness,將工具適配層、入口檔案等投射到你的專案根目錄中。

    • 同時閱讀你的專案,生成屬於你專案的資訊画像
    • 這一步非常重要,完成初始化後,你在讓 AI Agent 工作的時候,自然就會按照 Harness 的約束去執行任務了
  • entrypoints,AI 執行指令時會先找到專案目錄下的入口檔案

    • 比如 GPT 會載入 AGENT.md,Claude 會載入 CLAUDE.md
    • init 的時候,會把入口檔案投射到專案中,重新啟動 AI Agent,查看預設上下文,你就會發現對應的入口檔案都被載入進去了

  • adapters:AI 編碼工具的適配層,需要指定主流工具嚴格進入入口檔案,進入 Harness 約束

3. 一些粗淺的設計理念

  • Harness 其實也是軟約束,init 做好最基礎的工作,達到可用狀態
  • 檔案投射到專案本地,最大的好處是**你完全可以根據自己的實作,去修改 Harness 約束**
  • 沒有提供 SDK、npm 套件等接入方式,最直接把 cow-harness 複製到你的專案中,自由度完全開放給開發者。我們希望,每個人都能深度參與到對 AI 的管控,直到成為你團隊內完全可複用的 AI 規範
  • 長期來看,大模型的能力提升會弱化 Harness 的作用。但**約束的設計思維,必然與時俱進**

四、接入步驟

  1. 專案複製
    把 cow-harness 專案 fork/下載下來,透過 git submodule 引導到你的專案中(或者直接把 cow-harness 資料夾放在專案中)
  2. 閱讀 README,執行 init,這一步 AI 會:
  • 安裝相關的 skills
  • 生成專案画像
  • 投射必要的檔案到本地
  • 建立產物結構目錄

不要手工閱讀和執行每一步,請務必相信 AI 比我們做得好。直接把下面這段話發給 AI:

bash 体验AI代码助手 代码解读复制代码請先讀取 cow-harness/README.md 和 cow-harness/init/bootstrap.prompt.md。
這是一個新專案剛接入 Agent Harness,請按 Harness 初始化流程處理:
1. 從 cow-harness/entrypoints/ 投影根目錄 AI 入口檔案。
2. 從 cow-harness/adapters/ 投影工具適配目錄。
3. 建立 .ai-runtime-artifacts/ 及其子目錄。
4. 如需安裝或檢查 AI runtime,請先說明會修改哪些本機環境,然後由你執行 cow-harness/scripts/install-ai-skills.sh。
5. 讀取 cow-harness/init/project-profiler.prompt.md。
6. 掃描目前專案,生成或更新 cow-harness/project.profile.md、cow-harness/context-map.md、cow-harness/project.verification.md。
7. 由你執行 cow-harness/scripts/harness-check.sh。
8. 彙總推斷項、待確認項和驗證結果。
  1. 開始執行任務
    重新啟動 AI 終端,開啟你的 cow-harness 之旅

五、自我 QA 環節

  1. 接入之後,是不是所有任務都必然會走到 harness 約束中?
    答:理論上是的,但是我們會判斷這個任務的量級,小任務會直接放行
  2. harness 的約束能否達到 100%?
    答:否!harness 也是軟約束,你甚至可以理解成是 prompt 超集,在實踐中我們正常的提問都可以命中,同時我們在產物中明確說明了推理過程中使用了哪些技能
  3. 這個專案的目的是?
    答:核心只有一個:幫助部分同學解決 Harness「萬事開頭難」的問題。這是個非常簡單的基礎建設,你開始之後可以輕鬆隨意植入自己的想法,去約束 AI,加入新的技能包
  4. 如何加自己的技能包?
    答:能用開源的盡量用開源的,社群的 Star 和實踐踩坑,能讓你少走很多彎路。內部自訂的 Skills,請用 skills-create 這個官方技能包去建立
  5. 如果用了 Harness 還是不理想怎麼辦?
    答:如果有更好的,那就換 cow-harness。這終究是一個軟約束,模型能力的提升能讓我們當下的約束被取代。然而往下探究,當 prompt 約束不夠了,就需要干涉到更底層,比如 Agent 內部的編排邏輯,比如構建你公司專案的知識庫,等等

六、下一步計畫

在實踐過程中,筆者會不斷優化 cow-harness 的建設,核心目標是更向一人公司靠攏:

  • 方案輸出更精準,接入類似 OpenSpec 的優秀實踐,讓 specs 的設計更加完整
  • 建構更完整的軟體研發全流程:產品 PRD 解析、全端開發流程、AI 測試、監控鏈路建設等等

Harness 之後,也許我們會再往知識圖譜、RAG 向量化、垂直領域模型訓練、Agent 編排邏輯和執行拓撲等方向去學習、分享。


原文出處:https://juejin.cn/post/7641912628643528738


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝17   💬11   ❤️1
588
🥈
alicec
📝1   ❤️2
81
🥉
我愛JS
💬2  
7
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登