当Agent框架成为新包袱:从手写循环到OpenClaw,我们真的需要那么多中间件吗?
从Reddit开发者抱怨LangChain调试噩梦,到OpenClaw试图用自治Agent变革物流,再到Karpathy暗示“非技术竞争”时代的技术栈选择——当Agent框架越来越像旧时代的臃肿ORM,真正的创新者正在回归手写循环。
核心观点:AI Agent框架正在从一个加速器异化为开发者无法回避的认知税——它承诺降低复杂性,却往往在简单任务上制造了比手写循环更多的摩擦,这不仅仅是一个技术选择问题,更折射出整个AI工程领域对“抽象层级”的盲目崇拜。
在过去的十八个月里,AI Agent框架从一个新兴概念迅速膨胀为整个行业的技术标配。从LangChain、AutoGPT到最新的OpenClaw,几乎每一个声称要构建下一代AI应用的开发者,都会下意识地选择一个框架作为起点。这种选择如此自然,以至于很少有人停下来问一句:这个框架真的让我的工作变得更简单了吗?
Reddit上一位手写Agent循环开发者的话像一面镜子,照出了整个行业的集体焦虑。他说,在LangChain吞噬了他一周的调试时间之后,他回到了纯Python的手写循环。结果呢?他写了更多的胶水代码,但追踪变得清晰,发布周期反而更快了。这个反直觉的案例揭示了一个被严重忽视的事实:框架本身正在成为新的认知税。
我们需要认真审视Agent框架的本质。它们本来是为了解决“智能体编排”这个复杂问题而生的——管理多步推理、记忆检索、工具调用、状态维护。但问题是,当你的任务复杂度远低于框架设计者的预设时,框架就从一个加速器变成了一个减速器。那位Reddit用户给出了一个粗略的边界:对于“带记忆的多步检索”以下的任务,手写循环比任何框架都轻快。这个观察与编程界的经典经验完全一致——抽象层级的收益取决于你正在解决的问题是否匹配该抽象的粒度。
然而,真正让人不安的是,这种框架依赖正在从“可选的工程决策”演变为“默认的技术教条”。OpenClaw在物流领域的案例提供了一个很能说明问题的例子。它试图用AI Agent自治协调多式联运,跨系统调整、谈判现货市场运费、处理意外中转差异。这听起来确实很诱人——一个能像人类操作员一样在多个平台间游走、做出实时决策的AI代理。但仔细看它的架构,你会发现它几乎重复了传统集成中间件的所有复杂性,只不过把规则引擎换成了LLM调用。我并不是说OpenClaw没有价值——对于超大型供应链网络,这种自动化确实可能带来质的飞跃。但问题在于,我们倾向于把这种极端场景下的解决方案,不加区分地推广到所有Agent应用中。
Karpathy在Sequoia Ascent的一场对话中谈到了一个更根本的问题:LLM的能力存在一种“锯齿形”模式。同一个模型可以重构10万行代码库,同时告诉你“走到洗车店去洗车”。他把这种不一致归因于领域可验证性以及经济激励——收入和市场决定了前沿实验室选择在RL训练分布中打包哪些数据。这个洞见对Agent框架的选择有直接启示:如果你在一个数据分布密集的“铺轨”领域(比如代码生成、结构化推理),框架可能确实有用;但如果你在做一件边缘的、非标准化的任务(比如为一个小众行业定制自动化),你就是在“用砍刀在丛林中开路”,框架反而会成为绊脚石。
这就引出了一个更深的矛盾。Agent框架的倡导者总是强调“降低门槛”,让非技术用户也能构建Agent。但现实是,框架本身带有极强的技术预设——它们假设你的工作流是标准化的、工具是预定义的、LLM的调用模式是可预期的。当你的场景偏离这些预设,你付出的调试成本可能远超你“手写循环”的成本。这就像那些声称“无需编程”的低代码平台,最终用户发现,只要稍微复杂一点的需求,就不得不去看平台生成的丑陋代码。
那位手写循环的开发者还提到了一个关键点:团队规模和个人的“痛苦容忍度”。这不是一个技术问题,而是一个社会学问题。在大厂,引入框架是安全的决策——出了问题可以怪框架不够成熟;但手写循环则需要个人承担更多责任。这种组织心理学推动了框架的泛滥。但有趣的是,在AI领域,最前沿的玩家——比如那些在OpenClaw上实验型项目,或者Karpathy提到的“安装.md技能”——恰恰都在绕过框架,直接操作底层能力。
我们不能忽视反方的声音。框架的支持者会指出,对于真正的多代理系统、复杂编排和长期记忆管理,一个成熟的框架可以节省数月开发时间。OpenClaw的物流案例就属于这一类——它需要处理实时运价谈判、多系统状态同步、异常处理等传统中间件同样头痛的问题。框架在这里提供的不是“简单”,而是“结构”——一种经过验证的组织方式。问题是,90%的Agent应用根本不需要这种结构。就像你用Vue.js写一个“Hello World”页面一样,框架带来的复杂度远超收益。
我现在越来越倾向于一个激进的观点:在AI Agent这个领域,最佳实践应该是“裸写优先”——先用最朴素的循环和函数调用实现功能,只有当你在同一个模式上重复了三次以上,才考虑引入框架。这个观点与“精实启动”哲学一脉相承,但在AI社区却异常稀缺。因为框架厂商、云服务商和咨询公司都在把“用框架”包装成“专业”的标志。
更关键的是,这种框架狂热正在扭曲我们对Agent能力的理解。当人们说“Agent框架让AI代理更强大”,他们往往忘记了一个事实:真正的智能体能力来自于底层的LLM、精心设计的提示词和干净的数据接口,而不是框架的编排层。Karpathy提到的三个“新地平线”——menugen(全LLM应用)、安装.md技能取代bash脚本、LLM知识库——无一不是直接利用LLM原生能力,而不是通过框架叠加。这些案例暗示,Agent的未来可能更接近于“直接调用”而非“中间件编排”。
回到开发者日常。如果你正在构建一个简单的问答Agent,或者一个只调用两个工具的自动化脚本,请不要被框架的营销迷惑。手写循环、清晰的追踪、快速的迭代周期——这些才是你真正需要的。等到你的Agent需要管理十个以上的工具、跨会话记忆、以及复杂的条件分支时,再考虑OpenClaw这样的框架也不迟。毕竟,框架不会消失,但你被框架消耗的调试时间永远不会回来。
这场关于Agent框架的争论,本质上是对“抽象层级”边界的一次重新谈判。在AI工程化初期,我们倾向于拥抱每一层抽象,以为这样可以加速进展。但经验告诉我们,每一层抽象都是一种“认知负债”——它在简化某些操作的同时,增加了理解和排错的难度。当你的场景恰好处在框架优化过的轨道上,你会飞;但当你需要偏离轨道,你就会发现自己被困在一个不透明的、难以调试的迷宫里。
最终,选择框架还是手写循环,不是技术优劣势的问题,而是你是否愿意为自己的特定问题承担认知成本。而当前市场的扭曲在于,框架的成本被严重低估,手写循环的收益被严重高估。这种扭曲不会持续太久——就像ORM热潮之后,原生SQL查询的价值被重新发现一样。Agent框架的黄金时代,或许正是其反思时代的开始。
参考来源
- AI Agents in the Logistics and Supply Chain Sector: Building an Autonomous Intermodal Coordinator using OpenClaw - https://www.reddit.com/r/OpenClawUseCases/comments/1tol0sh/ai_agents_in_the_logistics_and_supply_chain/
- where's the line between agent framework helping vs slowing you down? - https://www.reddit.com/r/AI_Agents/comments/1tps2wh/wheres_the_line_between_agent_framework_helping/
- Fireside chat at Sequoia Ascent 2026 from a ~week ago. Some highlights:
- The first theme I tried to push on is that LLMs are about a lot more than just speeding up what existed before (e.g. coding). Three examples of new horizons:
- 1. menugen: an app that can be fully engulfed by LLMs, with no classical code needed: input an image, output an image and an LLM can natively do the thing.
- 2. install .md skills instead of install .sh scripts. Why create a complex Software 1.0 bash script for e.g. installing a piece of software if you can write the installation out in words and say "just show this to your LLM". The LLM is an advanced interpreter of English and can intelligently target installation to your setup, debug everything inline, etc.
- 3. LLM knowledge bases as an example of something that was *impossible* with classical code because it's computation over unstructured data (knowledge) from arbitrary sources and in arbitrary formats, including simply text articles etc.
- I pushed on these because in every new paradigm change, the obvious things are always in the realm of speeding up or somehow improving what existed, but here we have examples of functionality that either suddenly perhaps shouldn't even exist (1,2), or was fundamentally not possible before (3).
- The second (ongoing) theme is trying to explain the pattern of jaggedness in LLMs. How it can be true that a single artifact will simultaneously 1) coherently refactor a 100,000-line code base *and* 2) tell you to walk to the car wash to wash your car. I previously wrote about the source of this as having to do with verifiability of a domain, here I expand on this as having to also do with economics because revenue/TAM dictates what the frontier labs choose to package into training data distributions during RL. You're either in the data distribution (on the rails of the RL circuits) and flying or you're off-roading in the jungle with a machete, in relative terms. Still not 100% satisfied with this, but it's an ongoing struggle to build an accurate model of LLM capabilities if you wish to practically take advantage of their power while avoiding their pitfalls, which brings me to...
- Last theme is the agent-native economy. The decomposition of products and services into sensors, actuators and logic (split up across all of 1.0/2.0/3.0 computing paradigms), how we can make information maximally legible to LLMs, some words on the quickly emerging agentic engineering and its skill set, related hiring practices, etc., possibly even hints/dreams of fully neural computing handling the vast majority of computation with some help from (classical) CPU coprocessors. - https://nitter.net/karpathy/status/2049903821095354523#m