Claude code執(zhí)行過程解析

分層任務(wù)拆解與計劃固化(/plan/task)
頂層拆分:將總目標(biāo)拆為串行依賴階段(如環(huán)境初始化→數(shù)據(jù)庫層→接口層→前端→單元測試→上線校驗);
細(xì)粒度任務(wù)切片:每個階段拆獨立/task條目,附帶驗收標(biāo)準(zhǔn)、依賴關(guān)系、所需工具;
- 風(fēng)險預(yù)留:標(biāo)記高風(fēng)險步驟(大規(guī)模文件刪除、數(shù)據(jù)庫變更),插入人工確認(rèn)節(jié)點;
- 資源分配:為每個子任務(wù)分配 token 上限、最大工具調(diào)用輪數(shù),避免單步驟耗盡上下文。
二、階段 2:核心底層 —— 單 Agent 迭代執(zhí)行循環(huán)(queryLoop 引擎)
所有長任務(wù)最小執(zhí)行單元,無限循環(huán)直到無工具調(diào)用、任務(wù)完成,是 Claude Code 基礎(chǔ)執(zhí)行內(nèi)核,異步生成器AsyncGenerator流式輸出狀態(tài),不會阻塞會話。
完整一輪循環(huán) 7 步標(biāo)準(zhǔn)流程
上下文組裝預(yù)處理 → 大模型推理決策 → 工具調(diào)用分發(fā) → 權(quán)限安全校驗 → 多工具并行執(zhí)行 → 工具結(jié)果回寫會話 → 判定終止/下一輪循環(huán)
上下文壓縮
保留:總?cè)蝿?wù)目標(biāo)、項目核心架構(gòu)、關(guān)鍵代碼變更、驗收標(biāo)準(zhǔn);
多層驗收校驗(防止半成品交付)
- 自動化工具校驗:自動運行測試套件、Lint、構(gòu)建腳本、數(shù)據(jù)庫遷移腳本,驗證功能可用性;
- 邏輯對抗校驗 Agent:針對產(chǎn)出代碼、方案做反向漏洞推演;
- 目標(biāo)對齊校驗:對比原始需求,核查是否遺漏子目標(biāo)、偏離約束。校驗失敗則自動回退對應(yīng)任務(wù)節(jié)點,調(diào)整方案重新迭代。
中斷恢復(fù)機制(超長跨天任務(wù)核心能力)
- 會話意外關(guān)閉 / 終端斷開:自動保存當(dāng)前 State(任務(wù)計劃、壓縮快照、已完成子任務(wù));
- 重啟會話執(zhí)行
/state讀取完整進度,從最近 Compact 斷點續(xù)跑,無需從頭掃描項目; - Workflow 編排任務(wù)支持?jǐn)帱c續(xù)跑:已完成并行子 Agent 結(jié)果緩存,不會重復(fù)執(zhí)行。
一、queryLoop 核心定位與設(shè)計目標(biāo)
1. 定位
queryLoop 是 Claude Code 所有代碼自主執(zhí)行的最小內(nèi)核、同步 / 異步狀態(tài)機循環(huán)引擎,無論是簡單單文件修改,還是超大工程任務(wù)里的子智能體,底層全部復(fù)用這套循環(huán)邏輯;Dynamic Workflow 的 Subagent、普通對話代碼模式、終端 Claude Code 插件共享同一套 queryLoop 實現(xiàn)。
2. 核心設(shè)計目標(biāo)(針對復(fù)雜長任務(wù)痛點)
- 標(biāo)準(zhǔn)化工具調(diào)用生命周期,統(tǒng)一處理文件讀寫、Shell、Git、搜索、MCP 插件;
- 內(nèi)置多層上下文治理,持續(xù)抑制長會話 Token 膨脹與上下文腐爛;
- 強容錯:工具超時、報錯、幻覺調(diào)用、上下文超限均內(nèi)置重試 / 降級邏輯;
- 可觀測、可斷點存儲:每一輪狀態(tài)固化,支持回滾、暫停、續(xù)跑;
- 分層安全攔截,所有外部操作統(tǒng)一過權(quán)限網(wǎng)關(guān)。
3. 底層實現(xiàn)形態(tài)
工程層面是異步生成器 AsyncGenerator,流式吐出執(zhí)行狀態(tài)(思考日志、工具執(zhí)行進度、壓縮提示、報錯),不會阻塞上層會話服務(wù);全局持有唯一 SessionState 狀態(tài)對象,所有輪次共享這份可變上下文。
二、queryLoop 全局依賴組件(循環(huán)前置底座)
循環(huán)啟動前必須初始化全套依賴,缺一不可:
- System Prompt 固定基座內(nèi)置代碼 Agent 行為約束、全部工具 Schema、輸出格式規(guī)范、終止條件、安全紅線;長任務(wù)模式會追加「分步規(guī)劃、定期校驗、主動壓縮上下文」強制指令。
- SessionState 全局狀態(tài)存儲循環(huán)唯一數(shù)據(jù)源,字段包含:
- messages:歷史對話 + 工具輸入輸出消息列表
- compactSnapshots:歷史上下文壓縮快照(斷點)
- taskPlan:頂層拆解的任務(wù)分階段計劃
- toolCallBudget:本輪會話剩余工具調(diào)用輪數(shù)上限
- fileCache:高頻讀取文件緩存(cache_control 驅(qū)動,減少重復(fù)讀文件消耗 Token)
- permissionAudit:文件 / Shell 操作授權(quán)記錄
- errorLog:工具執(zhí)行失敗棧,用于重試策略
- ContextCompressor 分層壓縮管線獨立模塊,循環(huán)每輪推理前自動執(zhí)行 7 層裁剪,是長任務(wù)穩(wěn)定核心;
- ToolOrchestrator 工具調(diào)度器負(fù)責(zé)并行 / 串行工具分發(fā)、沙箱隔離、超時控制、結(jié)果序列化;
- SecurityGateway 安全權(quán)限網(wǎng)關(guān)deny-first 攔截模型高危操作,區(qū)分自動放行、彈窗確認(rèn)、直接阻斷三類操作;
- TerminationJudge 終止判定器輸入模型輸出內(nèi)容,判斷是否需要繼續(xù)循環(huán)。
步驟 6:工具結(jié)果回寫 SessionState 持久化
- 將所有
tool_result消息追加到全局 messages 列表,永久留存; - 更新 fileCache:本次讀取的文件內(nèi)容寫入內(nèi)存緩存,下一輪無需重復(fù)讀取;
- 更新 errorLog:記錄失敗工具、報錯信息、重試次數(shù);
- 更新 toolCallBudget:扣除本輪消耗的工具調(diào)用配額,達到上限直接終止循環(huán)。
四、queryLoop 內(nèi)置關(guān)鍵容錯機制(長復(fù)雜任務(wù)專用)
- 工具幻覺修復(fù)模型調(diào)用不存在的工具、參數(shù)缺失、參數(shù)類型錯誤時,tool orchestrator 返回明確格式化錯誤,寫入 tool_result,下一輪模型會基于報錯修正調(diào)用參數(shù),無需人工介入。
- 循環(huán)死鎖熔斷檢測連續(xù) 5 輪完全相同的工具調(diào)用(無限重復(fù)讀同一個文件、重復(fù)執(zhí)行同一個失敗命令),觸發(fā)熔斷,自動執(zhí)行一次全局 compact 并提醒用戶任務(wù)陷入循環(huán)。
- 斷點快照自動保存每執(zhí)行 10 輪循環(huán)自動生成一份 compactSnapshots 存入 SessionState;用戶可通過
/rewind回退到任意快照,從歷史節(jié)點重新跑循環(huán),適配跨天超長任務(wù)中斷恢復(fù)。 - 預(yù)算分級限流單會話全局工具輪數(shù)上限 + 單輪并行工具數(shù)量上限雙重限制,防止無限制大規(guī)模掃描倉庫消耗資源。
taskPlan 數(shù)據(jù)結(jié)構(gòu)示例:
{
"stages": [
{
"stageId": "scan_project",
"title": "掃描項目目錄",
"completed": true,
"acceptance": ["讀取根目錄文件樹,梳理依賴"],
"subTasks": []
},
{
"stageId": "refactor_service",
"title": "重構(gòu)用戶服務(wù)代碼",
"completed": false,
"acceptance": ["修改User.java", "修復(fù)單元測試", "Lint無報錯"],
"subTasks": ["修改實體類", "重構(gòu)接口", "執(zhí)行測試"]
}
]
}到此這篇關(guān)于Claude code執(zhí)行過程解析的文章就介紹到這了,更多相關(guān)Claude code執(zhí)行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

Claude Code中的BashTool-Shell命令執(zhí)行方法
在使用 Claude Code 時,如果你想在 Bash 工具(Shell)中執(zhí)行命令,你可以通過以下幾種方式來實現(xiàn),這里我將介紹幾種常見的方法,感興趣的朋友跟隨小編一起看看吧2026-07-17
本文是面向開發(fā)者的 Claude Code CLI操作手冊 ,覆蓋命令、參數(shù)、快捷鍵、工作流和工程實踐,文中通過示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需2026-07-13
這篇文章給大家介紹VS Code 版本下Claude Code 使用說明,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2026-07-13
如何使用 Winget 下載 Claude Code 并實現(xiàn)綠色便攜安裝指南
Winget 無法直接通過 install 命令實現(xiàn)“綠色便攜”(因安裝器會忽略自定義路徑),需使用 winget download 僅獲取 claude.exe 可執(zhí)行文件至指定目錄,手動配置環(huán)境變量即2026-07-13
Claude Code運維實戰(zhàn):用AI Skill打造自動化運維新范式
當(dāng) AI 編程成為主流,運維工程師如何讓 Claude Code 從寫代碼的助手進化為7×24 值班的運維搭檔?本文從實戰(zhàn)角度出發(fā),系統(tǒng)梳理 DevOps/SRE 場景下的 Skills 生態(tài),讓你的2026-07-10
手機遠(yuǎn)程控制Claude Code的完全指南:隨時隨地讓 AI 幫你寫代碼
想知道如何用手機遠(yuǎn)程控制ClaudeCode寫代碼嗎,本指南教你四種方案,從SSH到遠(yuǎn)程桌面,隨時隨地讓AI為你高效干活,點擊立即掌握,告別只能對著電腦寫代碼的束縛,有需要的小伙2026-07-09
Claude Code圖片識別不準(zhǔn)確的一套完整解決方案
別再讓ClaudeCode猜你的設(shè)計稿和截圖了,本文揭秘識別不準(zhǔn)的根源,并提供3個立即可用的核心策略:圖片預(yù)處理、結(jié)構(gòu)化描述、分步拆解,掌握這些技巧,將模糊截圖轉(zhuǎn)化為AI能精準(zhǔn)2026-07-09
Claude Code自動迭代Loop模式的從零上手實戰(zhàn)指南
想要告別AI代碼反復(fù)報錯、無限返工的煩惱?本文揭露Loop循環(huán)如何讓Claude自動迭代修復(fù)bug,直到測試通過,學(xué)會設(shè)定可量化的完成標(biāo)準(zhǔn),用主動有力的提示詞驅(qū)動AI寫出高質(zhì)量代碼2026-07-07







