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

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

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







