
從單腦到自治團隊AI Agent 架構設計與落地完整指南【免費下載鏈接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1項目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-codelearn-claude-code 項目對 Claude Code 的開源實現做了逆向工程把工程級 Agent 外殼harness即模型之外的全部運行環(huán)境該如何設計拆成一套從零可復現的機制。本文寫給想把 AI Agent 架構落到業(yè)務里的開發(fā)者只講四個要害任務系統、上下文壓縮、多 Agent 協作、自治生命周期。為什么單腦扛不住復雜工程活先看一個高頻翻車現場讓 Agent把這個模塊重構掉它跑著跑著上下文被塞滿方案細節(jié)被沖掉后半夜開始自相矛盾。問題往往不在模型智商而在缺工程腳手架。learn-claude-code 的立場很明確模型的行動力來自訓練本身工程師要造的是車——提供工具、知識、觀察與動作接口、權限邊界但絕不替模型做決定。單個 Agent 長時間獨自干活普遍卡在三個地方上下文無界增長工具輸出和中間對話只進不出撐到閾值只能硬砍狀態(tài)只活在內存里會話重啟或壓縮后我剛才在干什么就沒了沒法并行一條慢命令卡住全流程任務也沒法分給別人項目用三樣東西逐個接住這三個問題一副骨架任務系統、一塊記憶壓縮與保留、一個團隊多 Agent 自治。下文按這三條線展開。給 Agent 一副骨架任務模型、狀態(tài)機與依賴管理任務狀態(tài)機怎么設計任務系統的核心思路把要做什么寫進磁盤而不是留在上下文里。每個任務就是.tasks/目錄下的一個 JSON 文件上下文被壓縮、進程被重啟進度都不丟。最小任務數據模型完整實現見 任務系統源碼dataclass class Task: id: str # task_ 8 位隨機串全局唯一 title: str # 一句話標題 detail: str # 執(zhí)行說明 state: str # pending / in_progress / done assignee: str # 認領人空表示無人認領 blocked_by: list # 前置任務 id全部完成后才能開工狀態(tài)機只有三態(tài)兩條邊pending被認領后變in_progress交付后變done。刻意不做做了一半這種中間態(tài)——要么沒做要么做完回滾簡單別的 Agent 接手也簡單。blocked_by記錄的是誰做完我才能開始。每個任務完成后系統把前置條件全部滿足的下游任務自動視為可開工。這樣整張任務 DAG有向無環(huán)圖即帶先后順序的任務網絡不需要中央調度器每個執(zhí)行者只回答一個問題我現在有哪些活能領。并發(fā)安全同樣關鍵多個 Agent 可能同時想認領同一個任務。實現上用文件級獨占鎖 flock 把讀—認領—寫三步串行化保證同一條任務最多一個贏家。這是后面一切多 Agent 協作的前提——看板不安全團隊就散了。給 Agent 一塊記憶上下文壓縮與身份保持上下文壓縮閾值如何定壓縮不是等到爆掉才動手而是一條四段流水線每次模型調用前都會過一遍機制拆解見 上下文壓縮章節(jié)結果預算超大的工具輸出先落盤上下文里只留引用中段歸檔較早的中間對話歸檔到 transcript 文件微壓縮把舊的工具結果替換成摘要整體壓縮仍超閾值時用模型把歷史壓成一段總結若 API 返回 prompt_too_long觸發(fā)一次兜底重試后重發(fā)閾值一般取模型上下文窗口的 70%~80%。原則是先壓縮、后溢出永遠留緩沖而不是貼著天花板賭運氣。壓縮之后為什么必須補身份壓縮有個副作用Agent 會忘了自己是誰。單 Agent 場景頂多算失憶團隊場景里是事故——隊友可能開始以老板口吻給別人下指令。項目的做法直白但可靠壓縮完成后在消息列表頭部重新插一段身份聲明重申我是誰、屬于哪個團隊、扮演什么角色if should_compact(history): history compact(history) history.insert(0, { role: user, content: fidentity我是 {name}角色{role}團隊{team}/identity, })不到五行代碼卻是多 Agent 系統長跑不犯渾的保命條款。從一個到一個團隊多 Agent 協作與自治生命周期多 Agent 通信怎么實現隊友之間不走內存通信走文件每個成員在.mailboxes/下有獨立收件箱消息以 JSONL 追加寫入發(fā)件人不等讀回執(zhí)。隊長通過spawn工具創(chuàng)建隊友并派活隊友則自己掃看板認領未分配的任務——不需要中央調度器輪詢分派。還有一個容易忽略的細節(jié)隊友認領任務時系統會按任務綁定一個獨立工作目錄worktree該任務的文件操作全部限定在這個目錄里。多個任務并行跑互不踩踏對方的代碼。自治生命周期怎么管一個隊友從出生到退場的完整軌跡可以壓成一張表階段觸發(fā)條件行為spawn隊長創(chuàng)建隊友初始化獨立消息列表與身份塊WORK上一輪 stop_reason模型返回的停止原因信號仍是 tool_use持續(xù)調用工具推進任務IDLE不再請求工具調用進入等待每 5 秒輪詢收件箱與任務板喚醒收到新消息或看板出現新認領任務回到 WORK 繼續(xù)干活退出連續(xù) 60 秒無任何活動優(yōu)雅關停釋放資源這條干完活就等、來了活就醒的閉環(huán)配上第二章的磁盤任務板意味著團隊搭好之后人不需要守在旁邊按按鈕——把新任務掛上看板空閑的隊友自己會撈起來可運行的完整樣本見 自治團隊源碼。跑進生產環(huán)境并行執(zhí)行、部署與持續(xù)優(yōu)化慢任務一律轉后臺規(guī)則只有一條命令預期耗時超過容忍線項目默認 120 秒就丟進后臺線程執(zhí)行Agent 繼續(xù)思考不空轉等結果后臺任務跑完后把產物作為一條通知消息注回 Agent。等待和思考從此互不阻塞并行能力也由此而來。部署三步走git clone https://gitcode.com/GitHub_Trending/an/learn-claude-code cd learn-claude-code pip install -r requirements.txt再在.env里配好 API 密鑰與模型名每一章的機制代碼都能獨立跑起來。持續(xù)優(yōu)化看什么監(jiān)控盯三個數——壓縮觸發(fā)次數、后臺任務排隊時長、任務板積壓量任何一個持續(xù)上漲都是第一信號調優(yōu)先調壓縮閾值與后臺化閾值這兩項對吞吐和成本的收益最直接安全所有工具調用先過權限層見 權限系統破壞性操作必須人工審批沙箱隔離是最后一道防線收束從一個循環(huán)加一個工具走到會認領任務、會通信、會并行的自治團隊工程化 AI Agent 的演進只有一條主線把模型裝不下、干不了、記不住的東西不斷外化成磁盤上的文件和線程里的并發(fā)。【免費下載鏈接】learn-claude-codeBash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1項目地址: https://gitcode.com/GitHub_Trending/an/learn-claude-code創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考