前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯10183
  • 录制模型响应,隔离评测代码与模型变动
  • 审查 AI 生成 PR,先核对任务边界
  • 用有效吞吐压测确定模型接口并发上限
  • Agent 改一个字段,如何证明操作正确
  • 用多任务决策模型自动分流 CVE 漏洞
  • 逐步核算 Token,定位 Agent 的结构性浪费
  • Agent 生成 SQL,如何控制重跑漂移
  • 审核超时后的任务释放与计费隔离
  • DeepSeek 开源大规模推理框架 DeepInfer
  • DeepInfer 开源,公开大规模推理部署能力
  • Cloudflare预览低价结构化抽取模型
  • Headroom 在本地压缩智能体上下文
  • 智能体改记忆,如何验证没有误伤
  • llama-server 工具控制与停止条件现兼容问题
  • 模型快十倍,智能体为何只快一点
  • 用决策模型做评测,先调分类阈值
  • 编码 Agent 实测:成本之外看交付细节
  • Mercury 3 发布:主打高速生成与百万上下文
  • 用 Node 拆解向量池化与检索质量
  • 补齐 Oracle 方言约束,轻量模型首答率跃升
  • 拆解 Claude Code 的完整智能体循环
  • 邮件 Agent 重试前先校验退信
  • 用信号队列约束 Agent 等待邮件
  • 用 Cloudflare 搭建 Agent 收信中枢
  • 一次字符串替换如何让线上文章翻倍
  • AI 搭项目失败,先确认代码是否拉取成功
  • 检索匹配再高,也救不了过期知识库
  • 本地模型帮你给常用命令起快捷名
  • MCP 无状态改版涉及哪些迁移工作
  • 检查 Supabase 服务端鉴权的信任来源
  • 流式 AI 接口延迟该如何拆分测量
  • 模型故障切换如何追踪实际调用路径
  • 百灵开放五款语音模型供开发者组合
  • Drex Max 为电脑操作智能体输出决策概率
  • 无人值守的 Claude 循环如何耗尽额度
  • Bedrock为Claude提供严格结构化输出
  • 错误码搜不准?给向量检索补上 BM25
  • 让 Agent 崩溃后续跑,并处理重复副作用
  • 用 TypeScript 搭建带人工审批的客服智能体
  • Copilot 模型策略支持 REST API 管理
  • Copilot多种使用场景启动模型弃用
  • 把框架说明随包交付,让编程智能体可用
  • Nx 恶意包如何借编程智能体窃取秘密
  • 用分层防护限制 Agent 越权与误操作
  • 在表格中用自然语言分析完整BigQuery数据
  • 亚马逊推 TorchNeuron,拓宽 PyTorch 芯片选择
  • OpenCode平台遭入侵,密钥被盗刷
  • Cloudflare如何将AI审查成本降68%
  • 将Copilot任务无缝接续到VS Code
  • Gemini 4 Argon 主打多 Agent 三维制作
  • 用关联 ID 串起 Agent 日志与异常
  • 已加载 51 / 10183
8.0
热点
AI SCORE
技术实践2026-10-20 10:25

拆解 Claude Code 的完整智能体循环

dev.to · AI#Claude#Agent#状态机
Editor brief · 编辑速览

文章将权限、钩子、工具调度、流式处理和子智能体等机制串成完整执行循环。核心是通过显式状态决定下一轮调用、重试、上下文压缩或恢复路径,并支持权限暂停与用户中断。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

此前的十篇文章逐一拆解了权限、hooks、工具调度、状态机、流式处理、错误恢复、中断和 sub-agent。这篇收官文章不再引入新机制,而是要把这些部分重新组装成一个完整的 Agent loop。

值得记住的五个核心观点

如果你只打算记住这个系列中的五件事,那就记住下面这五件。

1. 循环会自主运行,通常不需要人工介入

用户只需按一次 Enter,循环就会自行推进。通常,用户不需要指挥每一个中间步骤。只有当工具需要权限时,循环才会暂停,而用户随时都可以中断它。

这正是 Agent 与普通聊天机器人的本质区别。聊天机器人生成一次回答后就会停止。Agent 则可以在用户输入一次之后,反复调用模型和工具,直到任务完成。

2. 循环是状态机,不只是一条 while 语句

循环的核心并不是五行伪代码,而是一组显式定义的状态。每一轮结束时,系统都会记录接下来应该做什么。下一轮再根据这个状态,选择常规调用路径、重试路径、压缩路径或恢复路径。

因此,发生错误后,系统不会在同一轮的 try/catch 中层层重试。控制权会回到主循环,由后续轮次执行恢复工作。参见第 5 篇:《作为状态机的 QueryEngine 主循环》。

3. 错误会变成循环可以继续处理的状态

失败的工具调用会被转换成 tool_result,交给 LLM。当主循环自身需要恢复时,这一需求会转化为下一轮的状态转移。这两种情况遵循同一个原则:把错误转化为循环可以继续处理的状态或数据,而不是让异常直接打断循环。

因此,这个循环不只是一个等待问题发生的错误处理器,更是一个会主动尝试修复执行进程的恢复引擎。只有内部恢复也失败后,最终的错误才会呈现给用户。参见第 7 篇:《重试与八层错误恢复》。

4. 自主执行有三道保障

自动执行并不意味着 Agent 不受控制。以下三种机制,让用户或系统能够重新掌握控制权:

权限审批——在有风险的工具运行之前,循环会暂停,等待用户决定。

中断——用户随时可以停止正在运行的循环。

maxTurns——即使没有人工干预,循环也会在达到轮次上限时停止。

它们分别对应三个不同的时刻:执行前确认、执行中刹车,以及最终的硬性上限。三者共同约束着自主循环。

5. 主 Agent 与 sub-agent 复用同一个循环

sub-agent 并不是用另一套循环实现的。主 Agent 和每个 sub-agent 都调用同一份 queryLoop 代码,独立运行,并通过 agentId 区分各自的角色。

这说明,这个循环并不是专门为聊天窗口编写的代码。它是 Claude Code 用来让 AI 自主推进任务的通用执行引擎。参见第 9 篇:《Sidechain、sub-agent 与 agentId 路由》。

从五行骨架到完整系统

回顾整个系列:

第 0 篇:《从聊天窗口到循环》,从聊天窗口的直观认识出发,引出了一个五行的循环骨架。

第 1 篇:《从工具声明到执行前审批》,到第 4 篇:《从回答完成到 stop_reason 的七种含义》,拆解了单轮执行中的工具声明、权限、hooks、并行调度和停止决策。

第 5 篇:《作为状态机的 QueryEngine 主循环》,用状态机统一了这些局部机制。

第 6 篇:《从 SSE 事件到逐字渲染》,深入展开了一次模型调用内部的流式处理过程。

第 7 篇:《重试与八层错误恢复》,解释了循环如何在失败后恢复。

第 8 篇:《从 Ctrl-C 到合成的 tool_result》,解释了用户如何从循环外部中断自动执行。

第 9 篇:《Sidechain、sub-agent 与 agentId 路由》,将同一个循环推广到了 sub-agent。

最初那五行伪代码从来没有错。它只是省略了最重要的部分:执行如何在步骤之间分支,失败之后如何恢复,用户如何重新掌握控制权,以及一个循环如何服务于不同类型的 Agent。

循环负责执行,上下文承载信息

循环是骨架。它解释的是事情如何发生:何时调用模型、何时运行工具、何时重试,以及何时停止。

信息则在这副骨架中流动:消息如何组装、prompt cache 如何复用、压缩如何缩短历史记录,以及 CLAUDE.md 如何注入。这些问题属于配套的 Claude Code 上下文管理研究系列。

两个系列的分工,可以用两句话概括:

循环解释事情如何发生。

上下文解释信息如何组织。

两者结合,才能完整呈现一个 Claude Code Agent 的运行方式。

Claude Code 上下文管理研究系列——消息、缓存、压缩与上下文注入。

Claude Code 工具研究系列——各个工具的能力与设计。

如果还想采取进一步行动,你可以考虑屏蔽此人和/或举报滥用行为。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
补齐 Oracle 方言约束,轻量模型首答率跃升
下一篇
邮件 Agent 重试前先校验退信