理解Query Loop:智能体系统的运行中枢
Claude Code Query Loop的六大工程设计
1. 状态管理:系统运转的基石
-
messages:会话历史记录 -
toolUseContext:工具调用上下文 -
turnCount:执行轮次计数 -
pendingToolUseSummary:待处理工具摘要
2. 执行前治理:输入净化的必经流程
-
提前预取记忆数据与技能列表 -
截取有效消息边界,过滤冗余内容 -
应用工具结果预算控制上下文膨胀 -
分层压缩:history snip→microcompact→context collapse→autocompact
3. 模型调用:心跳中的有序收缩
4. 中断处理:清晰的执行账本
-
消费残余模型输出生成synthetic tool_result,补全工具调用链 -
调用yieldMissingToolResultBlocks()明确标注中断状态
5. 分层恢复:从故障到执行连续性
6. 多维停止机制:精准的状态判定
-
待处理工具调用:进入新轮次执行 -
无工具调用:触发停止钩子校验 -
流式中断:执行账本补全流程 -
Prompt过长/Token超限:启动对应恢复流程 -
API错误:返回结构化错误信息
QueryEngine:会话生命周期管家
可恢复执行循环:智能体工程化的核心
-
显式State管理取代局部变量 -
运行时治理优先于模型推理 -
流式输出消费机制 -
中断后的执行账本补全 -
分层式故障恢复逻辑 -
QueryEngine的生命周期管理
-
结构化跨轮状态管理 -
主动式输入治理能力 -
流式事件承接机制 -
清晰的执行账本维护 -
精准的执行状态判定

