
【小白指南針】AI Coding自動化編程從01的蛻變二讓 Coding Agent 從偶爾好用變成穩(wěn)定可靠本章是新手容易遇到的坑不解決很容易就會跟AI“吵起來”你的 agent 的好壞70% 取決于你給它的環(huán)境30% 取決于模型本身。把環(huán)境搭好而不是不斷換模型期待奇跡發(fā)生。文章目錄【小白指南針】AI Coding自動化編程從01的蛻變二讓 Coding Agent 從偶爾好用變成穩(wěn)定可靠前言1. 為什么需要優(yōu)化 Agent1.1 一個實驗1.2 Agent 常見的失敗模式1.3 一百萬行代碼的實驗1.4 核心結論2. Harness Engineering 核心概念2.1 什么是 Harness2.2 Harness 五子系統(tǒng)2.3 AGENTS.md 是路由器不是百科全書2.4 初始化必須獨立2.5 倉庫是唯一事實來源2.6 初始化驗收清單3. 我們的實施方案3.1 架構總覽3.2 全局層一次配置所有項目生效3.3 項目層每次 /init 生成3.4 完整的開工流程3.5 為什么這個順序不能亂3.6 高級初始化/init --advanced4. 團隊接入指南4.1 如果你是 MiMoCode 用戶4.2 如果你使用其他 Coding Agent4.3 與其他工具集成5. 國產(chǎn) Coding Agent 對比5.1 概覽5.2 MiMoCode小米5.3 Trae字節(jié)跳動5.4 如何選擇5.5 關于 Harness 的特別說明6. 總結與后續(xù)行動6.1 核心要點回顧6.2 團隊行動清單下期介紹前言在上一篇中講了如何在自己電腦上搭建Agent的工作環(huán)境本期將下我們及我團隊的小伙伴遇到的坑近期Claude code 后門事件導致我們不得不被集團要求棄用Claude code因為是國企所以我想讓我團隊成員能一步到位用國產(chǎn)或開源方案的Coding Agent。在多方對比及其他方面考量下選擇了小米的MIMO code。所以我正好借著這個機會幫我團隊的小伙伴解決下這些問題。1:AI說做完了但是根本不能用或者理解錯誤2:讓它改一個功能它順手把我其他不合理但我不需要動的功能改了還可能導致原本好的功能有問題了眾所周知代碼能跑就不要動3:第二天開機后他不知道昨天干了啥好多問題重新說才行嚴重浪費時間。。。。。。提示以下是本篇文章正文內(nèi)容下面案例可供參考適用對象所有使用 AI Coding Agent 的研發(fā)團隊成員前置要求至少使用過任意一款 AI Coding AgentMiMoCode、Claude Code、Cursor 等操作系統(tǒng)Mac OS 15.7.8 、M4Pro芯片、128GAgent工具MIMO code模型GLM5.2、DeepSeek V4 flash/pro、Kimi K31. 為什么需要優(yōu)化 Agent1.1 一個實驗Anthropic 做過一個對照實驗。同一個 prompt——“做一個 2D 復古游戲編輯器”——同一個模型 Opus 4.5跑了兩次裸跑帶 Harness耗時20 分鐘6 小時花費$9$200結果核心功能跑不起來游戲可以正常游玩模型沒變變的是馬具Harness。1.2 Agent 常見的失敗模式失敗模式實際表現(xiàn)根因新會話摸黑新會話花大量時間重新摸索狀態(tài)和啟動方式缺少狀態(tài)持久化范圍蔓延一次啟動多個功能最后沒有一個完整收尾缺少范圍約束提前宣布完成代碼改了就說完成了但沒有可運行證據(jù)缺少驗證門禁啟動脆弱每輪會話都要重新學怎么啟動項目缺少標準啟動路徑交接薄弱下一輪看不出哪里可用、哪里壞了、接下來做什么缺少交接機制評審主觀質(zhì)量判斷依賴個人記憶和感覺缺少量化評分1.3 一百萬行代碼的實驗2025 年OpenAI 的三個工程師做了一個實驗他們不寫代碼只讓 Codex 寫。從一個空的 git 倉庫起步五個月下來倉庫里有了約 100 萬行代碼。三個工程師一共開了 1,500 個 PR平均每人每天 3.5 個。他們的核心發(fā)現(xiàn)每當某件事做砸了問題幾乎從來不是不夠努力而是 agent 還缺什么——缺的能力能不能用一種既可理解又可執(zhí)行的方式補上去。1.4 核心結論模型能力和執(zhí)行可靠性是兩回事。遇到失敗先看 harness再看模型。換模型是成本最高的選擇很多情況下根本不是模型的問題。2. Harness Engineering 核心概念2.1 什么是 HarnessHarness 模型權重之外的一切工程基礎設施。包括指令文件、可用工具、運行環(huán)境、狀態(tài)管理、驗證反饋。不是模型權重的部分全是 harness。項目規(guī)則AGENTS.mdAI Agent進度與狀態(tài)progress.md / git工具shell / 文件 / 測試運行環(huán)境依賴 / 服務 / 版本檢查結果test / lint / build2.2 Harness 五子系統(tǒng)子系統(tǒng)職責典型實現(xiàn)指令告訴 agent 項目規(guī)則和約束AGENTS.md、instructions.md工具確保 agent 有足夠的操作能力shell 訪問、文件讀寫、CLI環(huán)境讓環(huán)境可重現(xiàn)、自描述package.json、pyproject.toml、Docker狀態(tài)跨會話保持工作連續(xù)性progress.md、feature_list.json、git反饋驗證工作是否正確測試命令、lint、類型檢查五個子系統(tǒng)缺一個harness 就不完整。2.3 AGENTS.md 是路由器不是百科全書核心原則AGENTS.md 控制在 50-200 行只做三件事項目概覽和快速開始不可違反的硬約束不超過 15 條指向?qū)n}文檔的路由表# AGENTS.md — 路由器不是百科全書 ## 文件路由什么是路由表 | 文件 | 用途 | 何時讀取 | |------|------|---------| | AGENTS.md | 工作規(guī)則與路由 | 每輪開工時 | | init.sh | 啟動與驗證入口 | 每輪開工時運行 | | templates/feature_list.json | 功能狀態(tài) | 選擇功能時 | | templates/mimo-progress.md | 進度記錄 | 開工、收尾時 | | templates/session-handoff.md | 會話交接 | 結束時選寫 | | templates/evaluator-rubric.md | 評審評分 | 功能完成時 |為什么要這樣做一個 600 行的指令文件關鍵約束埋在中間會被忽略Lost in the Middle效應。拆分后信噪比提升agent 把更多上下文花在實際任務上。2.4 初始化必須獨立初始化階段的目標和功能實現(xiàn)完全不同初始化階段實現(xiàn)階段目標搭好基礎設施交付功能產(chǎn)出啟動腳本、進度文件、任務分解業(yè)務代碼驗收標準能啟動、能測試、能看進度、能接手測試通過混在一起的代價Agent 傾向于寫代碼直接可見犧牲基礎設施在測試框架配好之前寫的功能可能設計上就有問題上下文預算被初始化任務吃掉功能部分反而做不好正確做法第一個會話只做初始化不寫業(yè)務代碼。初始化投入的時間會在后續(xù) 3-4 個會話中完全收回。2.5 倉庫是唯一事實來源Agent 看不到的東西對它來說就不存在。所有必要的上下文都必須在倉庫里項目規(guī)則 →AGENTS.md功能狀態(tài) →feature_list.json進度記錄 →mimo-progress.md啟動腳本 →init.sh架構決策 → 架構文檔不要依賴聊天記錄或人的記憶。如果一個新 agent 會話只靠倉庫內(nèi)容無法回答這個項目做什么、怎么啟動、怎么驗證、還有什么沒做完、下一步做什么那 harness 就是不完整的。2.6 初始化驗收清單條件說明? 能啟動init.sh從零運行成功? 能測試基礎測試通過? 能看進度mimo-progress.md存在且最新? 能接手下一步feature_list.json列出下一個最優(yōu)先功能3. 我們的實施方案3.1 架構總覽項目層 (項目根)全局層 (~/.config/mimocode/)自動注入生成生成生成生成開工時讀取路由到instructions.md永久注入系統(tǒng)提示commands/init.md內(nèi)置模板 完整流程initializer-agent-playbook.md初始化操作手冊AGENTS.md路由器指向各文件init.sh動態(tài)生成的啟動腳本templates/功能狀態(tài)、進度、交接、檢查、評審、質(zhì)量.gitignore忽略.mimocode/和會話文件3.2 全局層一次配置所有項目生效文件位置作用instructions.md~/.config/mimocode/每輪會話自動注入 3 條規(guī)則檢查 AGENTS.md、運行 init.sh、固定開工流程commands/init.md~/.config/mimocode/覆蓋內(nèi)置/init命令內(nèi)嵌全套模板/init --advanced生成高級治理結構initializer-agent-playbook.md~/.config/mimocode/初始化操作手冊列出必需產(chǎn)出和成功標準3.3 項目層每次/init生成文件生成方式是否提交 gitAGENTS.md內(nèi)嵌模板? 提交init.sh動態(tài)生成檢測 package.json / pyproject.toml / Cargo.toml / go.mod 等? 提交templates/feature_list.json內(nèi)嵌模板? 提交templates/session-handoff.md內(nèi)嵌模板? 提交templates/clean-state-checklist.md內(nèi)嵌模板? 提交templates/evaluator-rubric.md內(nèi)嵌模板? 提交templates/quality-document.md內(nèi)嵌模板? 提交templates/codebase-analysis.md代碼庫掃描原始 init 邏輯? gitignoretemplates/mimo-progress.md內(nèi)嵌模板? gitignore項目實際執(zhí)行截圖3.4 完整的開工流程每輪新會話開始 ┌─────────────────────────────────────┐ │ 1. pwd 確認在正確的項目根 │ │ 2. 讀取 AGENTS.md → 獲取文件路由 │ │ 3. 讀取 templates/mimo-progress.md │ │ 4. 讀取 templates/feature_list.json │ │ 5. git log --oneline -5 │ │ 6. 運行 ./init.sh │ │ 7. 跑基礎驗證 │ │ │ │ 如果基礎驗證失敗先修基礎狀態(tài)。 │ │ 只選一個未完成功能圍繞它工作到完成。 │ └─────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ 結束前 │ │ 1. 更新 mimo-progress.md │ │ 2. 更新 feature_list.json │ │ 3. 記錄 blocker │ │ 4. 提交代碼 │ │ 5. 確保下一輪可直接運行 ./init.sh │ └─────────────────────────────────────┘3.5 為什么這個順序不能亂步驟為什么必須先做pwd防止在錯誤目錄里干活讀進度 功能清單先恢復持久狀態(tài)避免在錯誤假設上開工git log了解剛剛發(fā)生了什么運行init.sh讓啟動過程標準化不靠記憶基礎驗證先跑避免在壞狀態(tài)上繼續(xù)疊改動3.6 高級初始化/init --advanced當項目進入多模塊/多階段/多角色協(xié)作階段運行/init --advanced額外生成ARCHITECTURE.md docs/ ├── design-docs/index.md ├── design-docs/core-beliefs.md ├── exec-plans/active/ ├── exec-plans/completed/ ├── exec-plans/tech-debt-tracker.md ├── product-specs/index.md ├── references/*.txt (llms.txt 格式) ├── QUALITY_SCORE.md ├── RELIABILITY.md ├── SECURITY.md └── FRONTEND.md sops/ (標準操作流程)所有模板內(nèi)嵌在命令中無需額外查閱資料。4. 團隊接入指南4.1 如果你是 MiMoCode 用戶已經(jīng)自動生效。全局配置已在所有環(huán)境中部署在任何項目下輸入/init→ 自動走定制邏輯新會話開始 → 全局instructions.md自動注入 AGENTS.md 檢查規(guī)則項目級.mimocode/mimocode.json配置instructions: [../AGENTS.md]→ AGENTS.md 內(nèi)容注入系統(tǒng)提示4.2 如果你使用其他 Coding Agent雖然/init命令是 MiMoCode 特有的但生成的文件是純文本所有人都能讀。Claude Code 用戶查看項目根AGENTS.md→ 內(nèi)容與CLAUDE.md結構一致可直接參考運行init.sh→ 標準 bash 腳本所有 shell 環(huán)境通用讀取templates/下的文件 → 純 markdown / JSONCursor 用戶同樣可讀AGENTS.md和templates/下的文件可以將 AGENTS.md 內(nèi)容復制到.cursorrules中Codex CLI 用戶文件結構完全兼容Codex 原生支持AGENTS.md4.3 與其他工具集成工具與模板體系的兼容方式CI/CDinit.sh中的驗證命令可直接用于 CI 流水線項目管理feature_list.json可與 Jira / Linear / Notion 同步代碼評審evaluator-rubric.md可作為 PR 模板的評審標準文檔AGENTS.md可作為團隊 Wiki 的入口文檔5. 國產(chǎn) Coding Agent 對比5.1 概覽特性MiMoCodeTrae (字節(jié))Claude CodeCursorCodex CLI開發(fā)商小米字節(jié)跳動AnthropicAnysphereOpenAI基座模型DeepSeek / 自研自研 / GPTClaude多模型GPT / o 系列運行方式TUI CLIIDE 插件CLI TUIIDE (VS Code 分支)CLIHarness 支持??????????????????自定義指令AGENTS.md / instructions.md有限規(guī)則CLAUDE.md.cursorrulesAGENTS.md持久化記憶原生checkpoint memory無會話級有限有限子智能體原生支持explore/general有限有有限有自定義命令?markdown 文件熱加載????Hook/插件?hook TUI 插件???擴展?工作流編排?workflow.js????工程模式定時任務?cron/loop????跨會話連續(xù)???????????????開源?基于 OpenCode 的閉源分支????5.2 MiMoCode小米優(yōu)勢國產(chǎn)自主可控模型和服務均在國內(nèi)Harness 能力最完整instructions 注入、commands 熱加載、hook 機制、workflow 編排、cron/loop 定時任務——五子系統(tǒng)的反饋和狀態(tài)方面遠超同類持久化記憶checkpoint memory 系統(tǒng)跨會話自動重建上下文子智能體編排explore/general 子智能體 actor 工具可做并行搜索和多步驟編排自定義擴展性強tools/hooks/skills/workflows/TUI 插件每一層都可改寫對 DeepSeek 優(yōu)化作為小米產(chǎn)品對國產(chǎn)模型的適配和優(yōu)化最深入劣勢生態(tài)較小相比于 Cursor 和 Claude Code社區(qū)規(guī)模和第三方資源較少閉源核心代碼不公開依賴小米的更新節(jié)奏品牌認知度在開發(fā)者群體中的知名度不如 Claude Code 或 Cursor適合場景需要深度 Harness 定制和自動化的團隊注重數(shù)據(jù)安全、在國內(nèi)部署的團隊使用 DeepSeek 等國產(chǎn)模型的團隊需要跨會話長時間運行的復雜開發(fā)流程5.3 Trae字節(jié)跳動優(yōu)勢字節(jié)跳動出品背靠國內(nèi)最大的 AI 團隊之一IDE 插件形式直接在 VS Code 中工作學習成本低多模型支持可使用字節(jié)自研模型和 GPT劣勢Harness 能力弱缺乏指令文件支持、無持久化記憶、無子智能體機制橫主要面向即時編碼輔助不適合長時間運行的多會話任務定制能力有限不支持自定義命令、hook 或工作流編排適合場景簡單的代碼輔助和補全單次會話的編碼任務不涉及復雜跨會話協(xié)作的團隊5.4 如何選擇如果你的團隊…推薦選擇需要長時間運行的多會話開發(fā)MiMoCode / Claude Code需要深度定制 agent 行為MiMoCodecommands hooks workflows注重數(shù)據(jù)安全和國內(nèi)部署MiMoCode / Trae需要并行子智能體編排MiMoCodeactor 系統(tǒng)只需要即時編碼輔助Trae / Cursor需要開源可控Codex CLI5.5 關于 Harness 的特別說明無論選哪款 agentHarness 工程的核心方法都適用。即使你用的是 Cursor在項目根放一個AGENTS.md并固定開工流程效果也會有明顯提升即使你用的 Trae維護feature_list.json和mimo-progress.md也能改善跨會話連續(xù)性模板文件全是純文本工具無關誰都能用Harness 的價值在于方法論不在于工具。好的 harness 能讓一個中等模型完成高質(zhì)量工作差的 harness 能讓最強模型不斷犯錯。6. 總結與后續(xù)行動6.1 核心要點回顧模型能力和執(zhí)行可靠性是兩回事— 失敗時先查 harness而不是急著換模型Harness 指令 工具 環(huán)境 狀態(tài) 反饋— 五個子系統(tǒng)缺一不可AGENTS.md 是路由器不是百科全書— 保持短入口詳情指向單獨文件初始化必須獨立— 不要跟功能實現(xiàn)混在一起倉庫是唯一事實來源— 所有必要的上下文都放在倉庫里不依賴聊天記錄反饋子系統(tǒng)投入產(chǎn)出比最高— 先把驗證命令寫清楚6.2 團隊行動清單本周在主力項目根運行/init或手動創(chuàng)建等效文件建立 AGENTS.md init.sh本周在AGENTS.md中寫入驗證命令test / lint / typecheck兩周內(nèi)將現(xiàn)有功能拆解到feature_list.json中標記狀態(tài)兩周內(nèi)建立跨會話進度記錄習慣結束會話前更新mimo-progress.md一個月完成第一輪 Harness 審計按五子系統(tǒng)打分找出最弱的一環(huán)改進持續(xù)每次 agent 失敗時歸因到五子系統(tǒng)的某一層修補記錄下期介紹AI-Coding-Agent-Token成本優(yōu)化與CodeGraph落地培訓最后一句你的 agent 的好壞70% 取決于你給它的環(huán)境30% 取決于模型本身。把環(huán)境搭好而不是不斷換模型期待奇跡發(fā)生。— 基于 Learn Harness Engineering 課程walkinglabs與團隊實戰(zhàn)經(jīng)驗整理