Harness工程實戰:從零開始駕馭AI軟件工程

張建飛

  • 出版商: 人民郵電
  • 出版日期: 2026-09-01
  • 定價: $479
  • 售價: $478
  • 語言: 簡體中文
  • 頁數: 242
  • ISBN: 7115701806
  • ISBN-13: 9787115701800
  • 相關分類: AI Coding
  • 尚未上市,歡迎預購

  • Harness工程實戰:從零開始駕馭AI軟件工程-preview-1
Harness工程實戰:從零開始駕馭AI軟件工程-preview-1

相關主題

商品描述

  本書基於 AI 技術對軟件開發範式的顛覆性影響,系統構建了 Harness 工程理論體系與實踐框架。全書共分為4部分:第一部分梳理 Agent基礎認知,包括Function Calling(函數調用)、MCP標準及Coding Agent等核心概念;第二部分闡述 Harness 工程理論,包括 Harness 工程的緣起、演進(從 Prompt 工程到 Context 工程再到 Harness 工程),以及 Harness 工程方法論;第三部分提供Harness 工程實踐,包括通過經典微服務、全新“綠地項目”、遺留“棕地項目”等場景,提供涵蓋測試、環境管理、持續交付的Harness工程實戰指南;第四部分展望未來人類工程師的新定位與軟件工程的新形態。   本書適合正在使用或計劃使用AI進行輔助開發的軟件工程師、技術領導者/架構師、技術管理者/CTO,以及對AI時代軟件工程變革感興趣的研究者與教育者閱讀。

作者簡介

張建飛,計算機工程碩士,華為軟件教練,阿裏巴巴前高級技術專家,開源COLA(Clean Object-oriented and Layered Architecture)架構創始人。擁有近20年一線研發、應用架構與領域建模經驗。曾獲阿裏巴巴新零售技術部2019年“極致匠心獎”。著有《代碼精進之路:從碼農到工匠》和《程序員的底層思維》。

目錄大綱

第 一部分 Agent基礎認知 第 1章 Agent的行動之源 2 1.1 Agent:交互範式的質變 2 1.2 Function Calling:AI連接現實世界的接口 3 1.2.1 Function Calling是Agent的靈魂 3 1.2.2 選擇並配置你的“中央處理器” 4 1.2.3 實戰演練:賦予AI實時天氣查詢能力 5 1.3 Agent Loop:Agent的核心 8 1.3.1 手搓計算器Agent:理解Agent Loop 9 1.3.2 深度剖析Agent與LLM的交互模式 10 1.4 ReAct:通用的任務處理框架 14 1.4.1 ReAct起源 14 1.4.2 基於ReAct的結構化閉環 15 1.4.3 案例解析:從“靜態幻覺”到“動態求真” 16 1.5 Agent實戰:從零開始構建一個簡易版編程助手 17 1.5.1 編寫“憲法”:ReAct System Prompt 17 1.5.2 實現“核心調度器”:ReActAgent類 18 1.5.3 運行體驗:讓Agent寫“貪吃蛇”遊戲 20 1.6 本章小結 23 第 2章 Agent的武裝力量 24 2.1 MCP 24 2.1.1 什麼是MCP 25 2.1.2 MCP實戰:構建天氣查詢服務 25 2.1.3 MCP的通信機制:父子進程模型 28 2.1.4 通過日誌解析MCP 29 2.2 Skills:讓Agent擁有“專業本能” 31 2.2.1 什麼是Skills 32 2.2.2 漸進式披露 34 2.2.3 實現帶有Skills功能的Agent 35 2.2.4 編寫高質量Skills的實戰心法 36 2.3 SubAgent與多智能體協同:分治法的AI實踐 37 2.3.1 單智能體難以應對復雜任務 38 2.3.2 SubAgent架構:首席架構師+領域專家 39 2.3.3 SubAgent架構的核心優勢 41 2.4 本章小結 42 第3章 Coding Agent:OpenCode與自主編程實踐 44 3.1 Coding Agent的進化歷程 44 3.1.1 第 一代(補全):GitHub Copilot 44 3.1.2 第二代(交互):Cursor/Claude Dev 45 3.1.3 第三代(自主):Agent 46 3.1.4 範式躍遷的本質:從“代碼補全”到“工程交付” 47 3.2 Coding Agent的核心能力 47 3.3 選型與環境準備 49 3.3.1 為什麼選擇OpenCode 49 3.3.2 環境準備:安裝與配置OpenCode 50 3.3.3 配置後端模型提供商 51 3.4 OpenCode實戰配置:使用Chrome MCP 52 3.4.1 配置Chrome MCP服務 52 3.4.2 深度解構:Agent啟動瀏覽器背後的故事 53 3.5 OpenCode實戰配置:封裝與使用Skills 55 3.5.1 開發一個自定義Skill:pr-code-review 55 3.5.2 實戰演練:讓Agent自主執行代碼審查 57 3.6 OpenCode實戰配置:構建專屬SubAgent 58 3.6.1 定義專家角色:開發code-reviewer 58 3.6.2 實戰調用:使用@符號喚醒“專家” 59 3.6.3 SubAgent是治理上下文腐化的關鍵 60 3.7 OpenCode實戰配置:通過Plugin進行能力擴展 61 3.7.1 核心認知:Plugin的工程定位 61 3.7.2 事件驅動架構:核心Hooks體系 62 3.7.3 開發插件:實現任務完成通知 64 3.8 本章小結 65 第二部分 Harness工程理論 第4章 Harness工程的緣起 68 4.1 命名中的隱喻:從“放任生成”到“受控演進” 68 4.1.1 工業界的首次定名 69 4.1.2 為什麼是2026年 69 4.2 OpenAI的Harness工程實踐:零手工實現百萬行代碼 70 4.3 Anthropic的Harness工程實踐:從生產線到決策閉環 71 4.4 Thoughtworks與體系化:從實踐到理論 73 4.4.1 從實踐導出理論 73 4.4.2 控制矩陣:約束與靈活性的平衡 74 4.4.3 體系化成型:控制熵增的工程分水嶺 75 4.5 本章小結 76 第5章 Harness工程的演進 77 5.1 Prompt工程—意圖的精準對齊 77 5.1.1 意圖對齊:從描述到規約的跨越 77 5.1.2 隱形的工程天花板 79 5.1.3 Prompt工程無法獨自走向生產 80 5.2 Context工程—信息的全局治理 81 5.2.1 信息的“貧血”與過載:Agent的認知悖論 81 5.2.2 上下文治理的核心策略:從“堆砌”到“蒸餾” 82 5.2.3 Context工程的局限:仍需Harness控制 83 5.3 Harness工程:約束、環境與反饋的控制閉環 84 5.3.1 從“軟性引導”到“硬性控制” 84 5.3.2 控制閉環的核心三要素 85 5.3.3 工程實現:從理論到生產流水線 86 5.3.4 確定性的飛躍 87 5.4 深入理解範式躍遷:能力邊界對比與Harness啟動條件 88 5.4.1 從線性輸出到閉環治理的演進 88 5.4.2 Harness的啟動條件 90 5.5 本章小結 91 第6章 Harness工程的方法論 92 6.1 Harness的控制論根基 92 6.2 Harness飛輪 94 6.3 如何選擇Harness套件 96 6.3.1 Harness套件決策框架 96 6.3.2 從通用到特有:兩類套件的沈澱與打磨 98 6.3.3 套件不是越多越好 100 6.4 Harness軟約束的主要陣地:AGENTS.md 102 6.4.1 AGENTS.md的前世今生 103 6.4.2 AGENTS.md的設計原則與內容指南 104 6.5 倉庫是Agent的操作系統 105 6.6 重塑軟件PDLC 106 6.6.1 傳統軟件PDLC的困境 107 6.6.2 Harness工程下的軟件PDLC 107 6.6.3 工程師與組織角色演進 108 6.7 本章小結 110 第三部分 Harness工程實踐 第7章 Harness實踐:經典微服務 112 7.1 AI友好型代碼 112 7.2 AI友好型架構 113 7.2.1 AI友好型架構概述 114 7.2.2 COLA是AI友好型架構首選 115 7.3 高效的Plan-Build模式 117 7.4 客戶主數據中心(customer-center)工程實踐 119 7.4.1 項目初始化 119 7.4.2 領域建模:金融屬性的類型化表達 122 7.4.3 復雜業務:賬戶凍結/解凍的分層實現 124 7.5 本章小結 128 第8章 Harness實踐:全新“綠地項目” 130 8.1 項目任務拆分 131 8.2 SDD與OpenSpec 133 8.3 疊代零之任務一:搭建項目框架 135 8.3.1 探索階段:消除歧義 136 8.3.2 提案階段:方案設計與任務拆解 137 8.3.3 實施階段:“按圖施工” 138 8.4 疊代零之任務二:初步構建挽具 139 8.4.1 生成AGENTS.md 139 8.4.2 構建測試防護網 140 8.4.3 沈澱為Harness約束 142 8.5 疊代一:CRM核心業務+ Harness修復 143 8.5.1 關鍵決策與長程任務挑戰 143 8.5.2 代碼審視:糾正AI的“平庸傾向” 144 8.5.3 疊代Harness:將經驗轉化為“挽具” 146 8.6 疊代二:客戶小記功能+飛輪驗證 149 8.6.1 需求澄清 149 8.6.2 關鍵輸出物:tasks.md中的重要任務 150 8.6.3 交付即成品:享受飛輪紅利 151 8.6.4 疊代Harness:增強架構防護 152 8.7 疊代三:客戶標簽+代碼質量閘門 156 8.7.1 通過SDD實現業務功能 156 8.7.2 疊代Harness:構建“前饋+反饋”雙重保障 157 8.7.3 上下文治理:從“手冊”到“地圖” 159 8.8 疊代四:客戶360°視圖+外部系統集成 160 8.8.1 基於SDD的跨系統集成 161 8.8.2 審視代碼“草稿”:手動優化不可避免 161 8.8.3 疊代Harness:提供外部信息 163 8.9 本章小結 164 第9章 Harness實踐:遺留“棕地項目” 166 9.1 傳統遺留系統 167 9.1.1 走進“大泥潭” 167 9.1.2 新需求的降臨 170 9.2 局部重構:完成新需求的同時償還技術債 171 9.2.1 第 一步:AI輔助領域知識抽取 171 9.2.2 第二步:構建單元測試防護網 172 9.2.3 第三步:引入PricingPolicy封裝定價邏輯 173 9.2.4 第四步:實現新需求(VIP客戶專屬折扣) 175 9.3 絞殺者重構:飛著飛機換引擎 176 9.3.1 絞殺者模式概述 176 9.3.2 第 一步:搭建絞殺者框架(特性開關) 177 9.3.3 第二步:構建集成測試防護網 179 9.3.4 第三步:防腐隔離—新舊系統劃清邊界 181 9.3.5 第四步:重構核心業務邏輯(合規校驗與折扣計算) 182 9.3.6 第五步:最後的絞殺 184 9.4 本章小結 186 第 10章 Harness實踐:測試、環境與交付 189 10.1 測試模型的演進 190 10.1.1 測試金字塔模型 190 10.1.2 菱形測試模型 192 10.2 三個測試反饋環路的測試策略 193 10.2.1 內環(Inner Loop) 194 10.2.2 中環(Middle Loop) 195 10.2.3 外環(Outer Loop) 196 10.2.4 三環協同與Harness工程原則 198 10.3 環路落地:在Harness中實現內環與中環 199 10.3.1 Mock的局限性 199 10.3.2 用Embedded方案替代Mock 201 10.3.3 CRM系統中的Harness實踐 202 10.4 外環實戰(一):本地腳本自動化 204 10.4.1 MCP工具鏈準備 205 10.4.2 防禦性環境啟動 205 10.4.3 OpenCode命令封裝 208 10.5 外環實戰(二):容器化沙箱與聲明式端到端基座 210 10.5.1 裸機腳本方案的局限性 210 10.5.2 用Docker Compose構建全棧自動化測試環境 211 10.5.3 OpenCode命令封裝 213 10.6 用GitHub Actions完善CI/CD體系 214 10.6.1 事件驅動的工程哲學 214 10.6.2 為CRM系統設計CI/CD流水線 215 10.7 本章小結 220 第四部分 未來展望與挑戰 第 11章 未來軟件工程的展望與挑戰 224 11.1 從編碼者到構建者 224 11.1.1 被終結的“碼農”時代 224 11.1.2 構建者的3種核心能力 225 11.2 架構能力的價值重估 225 11.2.1 AI的能力邊界局限 226 11.2.2 無法被訓練的架構決策 227 11.2.3 AI時代的“架構債” 227 11.2.4 未來架構師的新定位 228 11.3 未來的人才培養和組織文化 229 11.3.1 培養審視能力 229 11.3.2 培養工程能力 230 11.3.3 未來考核指標的演進 232 11.4 多智能體協作與可觀測性挑戰 233 11.4.1 從單智能體到多智能體系統 234 11.4.2 Agent行為的可觀測性挑戰 236 11.5 認知債風險 237 11.5.1 什麼是認知債 237 11.5.2 認知債的危機與應對 238 11.6 軟件的未來 240 11.7 本章小結 242