反向拆解Claude Code解密: 智能体就是个带工具的for 循环!

智能体失败主因不是模型弱,而是人为限制了它的行动空间;极简循环+完整工具权限,才是释放大模型潜力的关键。

本文核心指出大多数智能体失败不是因为模型推理力不足,而是因为动作空间被人类人为限制;真正价值在于让强化学习模型拥有尽可能完全的行动空间,然后再施加必要限制,简化代理框架才能真正扩展。

智能体系统中真正创造价值的,是已经被强化学习训练过的模型本身,而不是围绕它堆叠的复杂框架、调度器与抽象层。一个智能体,本质上只是一个消息驱动的 for 循环,只要模型持续调用工具,就持续执行;唯一的状态,就是“是否继续”。除此之外,不需要额外的智能假设。

当前市面上绝大多数 LLM 智能体框架,本质上是在重复人工智能史上最经典的错误:用人类的先验知识去约束一个本可通过海量数据和计算自我演化的系统。

这篇文章一针见血地指出,真正有价值的不是你精心设计的那上万行“智能调度”“规划验证”“状态管理”代码,而是那个经过强化学习(RL)训练、早已内化了大量操作范式的模型本身。

当你把模型塞进一个由“点击”“输入”“滚动”等有限动作组成的牢笼里,它当然会表现得像个笨蛋——不是它不会,而是你不让它做。

真正的突破点在于:把浏览器底层控制权,比如 Chrome DevTools Protocol(CDP)和浏览器扩展 API,直接交还给模型,让它像人类一样自由操作。这样一来,即使某个路径失效,模型也能自主绕道、重试、甚至写 AppleScript 调用 Spotify——因为它被训练过,它知道怎么做。

作者团队最初也犯过同样的错:构建了一个包含消息管理器、状态机、工具路由等复杂抽象的智能体框架。表面看很“专业”,实则每加一个新功能都像在泥潭里走路——框架本身的假设成了实验的枷锁。

直到他们反向拆解 Claude Code 和 Gemini CLI 的实现逻辑,才恍然大悟:这些顶尖产品之所以高效,正是因为它们几乎不做预设。

它们不告诉模型“你应该先规划再执行”,而是直接问:“你想做什么?”然后把操作系统或浏览器的原始接口敞开。这种“最大能力先行,安全限制后置”的设计哲学,让系统能随模型进化而自然扩展,而不是每次模型升级都要重构整个框架。

这正是“苦涩教训”(The Bitter Lesson)在智能体领域的最新体现:通用方法 + 大量计算,永远胜过人类手写的规则。

抽象为何会破坏学习,而不是帮助智能

抽象的本质,是冻结对“智能应该如何工作”的假设。规划模块、验证层、输出解析器,看起来是在增强智能体能力,实际上是在把工程师的认知强行写进系统逻辑中。但强化学习的核心恰恰相反:模型已经在数百万真实示例中学习过如何行动,它见过的模式远超过任何个人工程师能预判的范围。

每一次人为添加“聪明”的包装层,本质上都是在告诉模型:只能按我理解的方式思考与行动。这些抽象一旦形成,就会成为约束,阻止模型调用自己已经学会的行为路径。这正是机器学习领域反复验证过的“苦涩一课”:依赖通用方法和计算规模,最终总是击败手工编码的人类知识。

智能体失败的真正原因:行动空间不完整

文章给出了一个关键洞察:绝大多数智能体系统之所以失败,并不是因为模型能力不足,而是因为它们的行动空间被人为阉割了。传统框架习惯先定义一小组“安全”的动作,例如点击、输入、滚动,再要求模型在这些狭窄指令中组合行为。但现实任务远比这些原子操作复杂。

真正有效的设计思路应该反过来:先假设模型几乎什么都能做,然后再基于评估结果逐步收紧限制。不是提前规定所有可能行为,而是给模型最大的自由度,让它自行选择路径,只在必要时进行约束。这种“先放开,再限制”的逆向设计,才与强化学习模型的能力结构相匹配。

技术细节上,BU Agent 的核心创新在于行动空间的完整性。传统方案只暴露几个高层动作(如 click(selector)),但 BU Agent 允许模型直接发出 CDP 指令——这意味着它可以操纵网络请求、注入脚本、读取 cookies、甚至模拟设备旋转。再加上浏览器扩展 API 补足 CDP 无法触及的权限区域(如获取当前标签页 URL 或处理通知),两者结合几乎覆盖了人类在浏览器中能做的所有事。

模型一旦拥有这种自由,其自愈能力惊人:若某个元素因动态加载未出现,它不会卡住,而是自动切换到 XPath、或改用键盘导航、或直接执行 eval 注入逻辑。这种灵活性不是靠“错误处理模块”实现的,而是模型自身在海量训练中习得的策略泛化能力。

限制越少,涌现越强。

极简智能体的核心结构

最终得到的智能体结构非常简单:一个循环,不断向模型发送消息,只要模型继续调用工具,系统就继续执行。没有复杂状态机,没有隐式规划层,没有人为定义的“智能阶段”。

在应用层,BU 智能体并不向模型暴露脆弱的高层操作接口,而是直接给予原始浏览器控制能力。模型可以直接输出 Chrome DevTools Protocol 指令,这意味着在理论上,浏览器中任何人类能完成的操作,模型都可以完成;同时,引入浏览器扩展 API,补足 CDP 难以覆盖的权限与状态访问问题。
两者组合后,形成了一个接近完整的行动空间。

一旦模型拥有这种自由度,就会表现出非常强的自我修复能力:某条路径失败,它会自动寻找另一条路。

另一个关键细节是任务终止机制。

朴素的 for 循环依赖“模型不再调用工具”来判断结束,但现实中模型常因上下文缺失或不确定性提前退出,导致任务半途而废。

BU Agent 引入显式完成信号:定义一个 done() 工具,只有当模型主动调用它时,智能体才停止。这强制模型进行意图确认,而非被动沉默。

系统支持两种模式:CLI 模式(快速交互,无工具调用即停)和自主模式(必须显式 done())。Claude Code 和 Gemini CLI 均采用此设计,证明其必要性。看似微小改动,实则大幅提升了任务完成率和可靠性。

当然,for 循环虽简单,要跑稳却需扎实的运维底座。作者强调:重试机制(指数退避)、速率限制处理、连接恢复、上下文压缩、Token 计数等,都是“已解决的问题”(solved problems),属于基础设施范畴,不应与智能体逻辑混为一谈。

真正的智能体核心,只是那个不断调用工具、直到触发 done() 的循环。其余皆为支撑。混淆二者,就会陷入“为框架而框架”的陷阱——用复杂的胶水代码掩盖对模型能力的不信任。

临时消息机制:解决上下文崩溃问题

浏览器智能体的一个现实问题是状态数据极其庞大。DOM 快照、截图、元素索引,单次请求就可能超过五万字节。如果全部堆进上下文,十几轮交互后模型就会失去连贯性,忘记原始目标,甚至开始幻觉不存在的元素。

为此引入了“临时消息”机制。工具调用可以标记为只保留最近几次输出,旧状态会被主动丢弃。例如只保留最近三次浏览器状态,其余全部删除。这确实会破坏部分缓存连续性,但换来的是模型认知稳定性的显著提升。

对于智能体而言,旧页面状态几乎没有价值,反而是噪音。

@tool("Get browser state", ephemeral=3)
async def get_state() -> str:
    return massive_dom_and_screenshot



最后的苦涩事实
最终结论毫不留情:每一个抽象都是负债,每一个“智能助手”都是潜在故障点。
每一层抽象,都是潜在的失败点。
每一个“帮助模型思考”的模块,都是在用人类的理解替换模型已经学会的能力。

模型已经通过强化学习掌握了使用计算机、浏览器和代码的能力,它们不需要额外的护栏,它们需要的是行动自由。
真正的结论非常简单:构建得越少,智能体反而工作得越好。

。如今的大模型,尤其是经过 RLHF 或在线强化学习训练的版本(如 Claude Opus、GPT-4o),已在编码、浏览、系统操作等任务上内化了海量行为策略。它们不需要你教它“如何思考”,只需要你给它“能做什么”的完整清单。越少干预,效果越好。

Browser Use 团队将这一理念凝练为开源项目 agent-sdk,但作者甚至建议:别直接用,而是把代码粘贴进 Claude Code,让它帮你重写成你项目的语言版本。因为真正的智能,从来不在框架里,而在模型与行动空间的直接耦合中。

别再迷信“智能体框架”了!你花三个月搭的调度引擎、记忆模块、反思层,在 Claude 面前可能不如一行 for 循环。大模型已经学会了像人一样用电脑——你缺的不是架构师,而是胆量,敢不敢把 root 权限交给它。那些还在用“规划-执行-验证”三段论的团队,本质上是在用 2010 年的思维驾驭 2026 年的智能。真正的 AGI 不会诞生于复杂的控制塔,而会从一个被充分授权的 for-loop 中悄然浮现。


作者背景  
本文作者为 Browser Use 团队核心开发者,深度参与构建基于 Claude、Gemini 等大模型的浏览器自动化智能体系统。其团队早期曾开发复杂抽象层的智能体框架,后因扩展性差、实验受阻而彻底重构,最终提出“最小化智能体”理念,并开源 agent-sdk 工具包。作者对强化学习(RL)、大模型在计算机使用场景中的行为模式有深入实践,推崇“计算优于人工设计”的机器学习根本原则,反对过度工程化的智能体架构。



极客辣评

尽管“智能体”“Agent Framework”已成为热门话题,极少有实践者敢于公开承认“框架即负债”并彻底拥抱极简主义。本文基于真实产品迭代经验(Browser Use),从失败中提炼出可复现的技术路径,直指行业通病——过度工程化,且提供了具体解决方案(CDP+扩展API、ephemeral messages、done tool 等),具备极强的实操参考价值。

英文社区虽有类似讨论(如 Andrej Karpathy 的“Software 2.0”、Rich Sutton 的“The Bitter Lesson”),但将其具体落地到浏览器智能体、并给出完整代码范式的,仍属罕见。本文融合了系统设计、认知科学、工程运维与模型行为观察,信息密度高,关键词如“强化学习模型”“行动空间”“Chrome DevTools Protocol”“瞬态消息”“智能体框架”等均为前沿术语。尤其在“LLM Agent 架构”“Browser Automation with LLM”“Minimal Agent Framework”等领域。

因其反共识立场(反对主流框架)与实证支撑,极易引发技术社区讨论与二次传播!