Claude Code 与 OpenClaw 对比:工具之外的世界
OpenClaw 被叫作"拙劣仿制品",这个说法流传很广。但很少有人追问:这个判断究竟在说什么。
它背后其实藏着两种截然不同的误解。
第一种:工具高下论。觉得 OpenClaw 是 Claude Code 的民间复刻版,做的是同一件事,只是做得更差。潜台词是,两者本质上是同一个赛道上的选手,高下全凭原生血统。
第二种:赛道重叠论。承认两者有差异,但认为这种差异只是功能定位和覆盖范围的不同,不影响它们本质上在做同一类事情。
两种误解的共同盲区在于:如果 OpenClaw 真是 Claude Code 的仿制品,首先得确认两者瞄准的是同一个目标。现实恰恰相反——Claude Code 在编程世界里如鱼得水,OpenClaw 在办公自动化场景中各有擅长。两者压根不在同一场比赛里。
工具可以跨界,但工具进去的那个世界的规则不会因为工具改变。编程世界里有编译器、测试、Lint,边界清晰,反馈即时;办公世界里没有"编译器"来检验邮件的语气妥不妥当,没有"测试用例"来验证会议纪要有没有抓住重点。AI 的每一步输出都依赖人的主观判断。这种差异解释了为什么同一个 AI 模型,在编程世界里可以自主迭代,在办公世界里却寸步难行。
这才是真正的问题所在。
二、出身与技术路线
Claude Code 出身名门。Anthropic 把它设计为 Claude 模型的"原装外设",两者是捆绑关系——模型在预训练阶段就被灌入了工具调用的能力,见到工具定义就知道怎么响应,不需要额外解释。这和教一个实习生用工具是两码事:不是递给他一本操作手册,而是在学走路的时候就自然学会了伸手拿东西。Claude Code 因此在多步骤任务里表现稳定,不容易在工具调用的环节出岔子。
OpenClaw 走的是另一条路。它是开源社区的作品,核心思路是 Prompt + 解析器:给大模型一份说明书,让模型自己理解该调用什么工具、传什么参数。好处是灵活——你今天想换成 GPT,明天换成 DeepSeek,后天换成本地跑的 Llama,改个配置就行,不用等官方更新。代价是:这份说明书到底能起多大作用,全看模型自己的"悟性"。简单任务够用,碰到需要精确控制执行顺序和错误处理的复杂场景,有时候会出幺蛾子。
两种路线在 Skills 的实现上分化最明显。Claude Code 把每项技能做成一个可调用的 Tool,执行路径是固定的、可预测的——你说"运行测试",它就运行测试,路径清晰,出了问题容易排查。OpenClaw 的技能以 SKILL.md 说明书的形式存在,模型拿到说明书之后自行理解、自行执行。一个拿着精确图纸施工,一个拿着设计概要自己发挥——前者慢但准,后者快但结果飘。
OpenClaw 还有一个值得注意的工程设计:四层架构。
最外层是前台,负责对接各种渠道——Telegram、飞书、Slack、邮件,它都可以接进来,扮演"数字接线员"的角色。第二层是大脑,也就是推理层,接入什么模型都可以,Claude、GPT、DeepSeek 任选。第三层是双手,真正动手干活的那一层——跑 Shell 脚本、调用 API、控制浏览器、操作文件系统。第四层是档案柜,一个本地持久化的记忆系统,聊天记录、用户偏好、项目上下文都存在这里,关掉会话再打开,上下文还在。
这四层分开设计的好处是解耦——你可以单独升级大脑(换个模型),不影响双手和档案柜的功能。对于需要长期运行、跨会话保持状态的后台任务来说,这种架构比 Claude Code 的会话级上下文更抗遗忘。
说到遗忘,这是大语言模型的通病:上下文窗口有限,记忆只能靠往里塞,塞满了就得压缩。Claude Code 的办法是会话级压缩,用 /compact 命令手动触发,把之前的内容总结一遍再继续聊,细节会丢失。OpenClaw 最新的 Lossless-Claw 模式走的是另一条路:用压缩加按需展开的方式,让 AI 在需要的时候能把之前"忘掉"的细节重新提取出来,不是一股脑扔掉。这个差异对长程任务影响明显——你要 AI 帮你跟完一个三个月的项目,Claude Code 可能中期就忘了开头;OpenClaw 只要配置得当,上下文可以撑得更久。
根本的取舍在这里:Claude Code 的路线追求深度,工具链为编程工作流定制——编译器、测试框架不是"原生集成",而是通过精心设计的工具定义和系统提示词,让模型在每次修改代码后主动运行测试、依据错误信息迭代修正。这些机制共同构成了编程闭环的整体工程化配置。OpenClaw 的路线追求灵活,接入自由、数据隐私可控,但这种灵活是用"让模型自己理解任务"换来的,稳定性和深度都不如前者。它们根本就不是在做同一种权衡。
三、Claude Code 运行逻辑——边界如何驱动自主迭代
Claude Code 的真正厉害之处,不在于它能直接改文件,而在于它的工作被嵌入了一个由编译器、测试、Lint 构成的"边界"系统。AI 的每一步行动都在这个边界内接受检验,失败了就重来,直到所有检查通过才罢休。这种"在约束中迭代"的能力,才是 Claude Code 和普通 AI 聊天最根本的区别所在。
Agent Loop 是驱动这套系统运转的"永动机"。它本质上是一个 while 循环,串联起"感知 → 推理 → 行动 → 观察"四个环节,周而复始,直到任务完成。普通 AI 对话是你问一句它答一句,答完就结束,没有下一步。Agent Loop 把这种一问一答拉伸成了一条流水线——模型不只输出文字,还要决定下一步做什么、调用什么工具、观察什么结果,然后把结果再喂给自己,形成持续运转的闭环。正是这个循环,让 AI 从"会说话"进化成"会干活"。
ReAct Agent 为这个循环提供了思考模板。它把每一步推理显式化为"Thought → Action → Observation"三段式——先想清楚要做什么,再动手执行,然后观察结果。打个比方,它像一个侦探:案情不明时,先根据现有线索提出假设(Thought),再顺着假设去搜集证据(Action),从证据中发现新线索(Observation),再提出新的假设,如此循环,直到破案。ReAct 的关键在于"观察"这个环节——测试失败了、Lint 报错了,这些不是程序的错误,而是环境给侦探送来的新情报,是下一步推理的起点。
Agent Harness 把 Loop 和 ReAct 这套思想包裹进完整的工程化外壳。模型本身是一匹野马,能力再强,直接放到真实任务里也会四处碰壁:上下文太长塞不进去、循环跑起来停不下来、Token 烧起来没个底。Harness 就是给这匹马打造的整套马具:上下文管理器负责在记忆快溢出来时做摘要压缩;循环检测负责识别重复动作、及时止损;成本预算负责在 Token 超支前优雅退出。这不是某一项技术创新,而是一整套"矛盾管理装置"的集成——每设计一个机制,就解决了一类在真实环境中必然会出现的问题。
Claude Code 在编程领域的落地,是这套思想的顶级产品化实现。它的核心循环叫 TAOR(Think-Act-Observe-Repeat),比 ReAct 多了个"Repeat"——不是做完一轮就停下,而是直到所有边界检查通过才收手。主子 Agent 架构把规划职责和执行职责分开:主 Agent 统筹方向、拆解任务;子 Agent 在隔离的上下文里各自深挖,完成后只回报结论,不把中间过程的噪音带回来。待办清单机制强制 AI 在动手之前先"想清楚要做什么",把规划这一步从隐性的思维活动变成显性的清单条目,防止一拿到需求就上手蛮干。
边界是这套系统的核心支点。Claude Code 的边界是实实在在的工具链:编译器负责告诉你语法哪里不对,测试套件负责告诉你逻辑是否按预期运行,Lint 负责告诉你代码风格有没有跑偏,Git 负责在你想大改之前先检查分支干不干净。这些工具几十年工程实践积累下来,每一项都提供了客观的、可量化的检验标准——对就是对了,错就是错了,不需要人来做主观判断。
边界在系统里起三重作用。首先是检验真理:测试通过,代码的行为就符合预期;测试失败,说明认识与现实不符,AI 必须修正。其次是暴露矛盾:AI 写的代码可能在它自己的推理链条里是"对"的,但一跑测试就露馅——边界的作用就是把藏在推理过程中的自相矛盾显性化,逼 AI 面对而不是绕着走。第三是提供方向:错误信息不只是说"你错了",它同时说了"错在哪里、预期是什么",AI 顺着这条线索去改,比漫无目的地重写要高效得多。
有意思的是,AI 最初并没有自发想到"边界-实践"这一层。它擅长的是在语言空间里做推理和类比,对"把测试当作反馈信号"这件事本身并不敏感。这本质上是一个元认知层面的盲区:模型在被训练时接触的主要是文本数据,文本的正确与否依赖人的主观判断,它没有机会在足够多的、高频的、带有客观反馈的"边界检验"场景里浸泡。边界不是它自己想出来的,必须由外部设计嵌入进来——Claude Code 的工程团队把编译器、测试、Lint 这些边界工具接入了 Agent Loop,才让它真正获得了在约束中迭代的能力。没有这层设计,同样的模型扔进办公场景,面对没有客观检验标准的邮件和文档,表现又回到了普通聊天的水平。
四、实践论视角——边界是检验真理的唯一标准
《实践论》的核心主张简洁而有力:认识从实践中来,又必须回到实践中去,接受检验。真理不是自洽的逻辑游戏,而是必须在客观现实中站得住脚的东西。编程世界把这一认识论逻辑工程化了:测试失败,AI 的方案被客观现实打回来,它被迫修正;测试通过,认识暂时得到确认,但还要继续跑下一轮测试,直到所有边界检查全部通过。这个"实践—认识—再实践—再认识"的循环,在 Claude Code 里不是哲学概念,而是真实的工程流程——每一次循环都让 AI 的输出更接近真实需求,每一次失败都是现实对主观推理的纠正。
办公场景是另一番景象。邮件发出去了,没有任何人回复;报告交上去了,对接人只说"方向不太对",但不告诉你哪里不对。AI 的产出消失在真空中——没有信号,没有反馈,没有修正的机会。它不知道自己哪里对了,更不知道自己哪里错了。
关键在于:实践的形式决定了认识的可能。不是实践多不多的问题,而是实践是否提供了客观的检验标准。编程世界的实践提供了——测试失败就是失败,通过就是通过,不以任何人的意志为转移。办公场景的实践没有提供这个。AI 在办公场景中的"理解",是悬在半空中的。它的判断是语言模型的统计关联,对职场政治、对人际关系、对情绪语气的"把握",只是相关性,不是经过验证的因果链条。
边界不只是镜子,更准确地说,边界的存在本身决定了 AI 能看见什么。编译器、测试、Lint,这些不是辅助程序,而是 AI 认识编程世界的窗口。没有这扇窗,AI 就不知道这个世界的运行规则是什么,哪些地方是禁区,哪些行为会触发报错。边界决定了认识的范围,也决定了认识如何修正。
OpenClaw 所在的办公世界,恰恰没有这面镜子。AI 的输出落在真空中,没有客观反馈机制,只能等人说一句"不对"。但人不是编译器,人的反馈是模糊的、延迟的、有时干脆不来的。更要命的是,不同的人有不同的主观标准,同一份报告,张三说语气太生硬,李四说措辞太圆滑,AI 该听谁的?没有人能给出一个像测试用例那样清晰、客观、可重复的判决。
这就是根本的认识论困境:没有客观的实践,就没有可靠的认识。AI 在办公场景里的"知",是漂浮在空中的知——看似言之有物,实际上没有落在任何可以检验的地面上。编译器不只是用来挑错的,测试不只是用来验收的,它们是 AI 认识编程世界的"社会实践"。办公场景缺少的,恰恰是这种社会实践。
这也解释了为什么在编程世界里 AI 可以高度自主,在办公场景里却寸步难行。不是 AI 不够聪明,是它根本没有实践的机会。世界没有给它检验认识的机会,它只能凭统计相关性做猜测,猜对了不知道对,猜错了不知道错。这种认识论上的无根状态,靠改进 Prompt 是补不回来的。
五、矛盾论视角——边界是矛盾的暴露与解决场所
《矛盾论》的核心洞见有两层。第一层:矛盾无处不在。第二层更关键——不同质的矛盾,必须用不同质的方法来解决。一把钥匙开一把锁。
Agent 系统的发展史把这个原理演绎得很具体。从 Agent Loop 到 ReAct 到 Harness 再到 Claude Code,每一代概念的出现都有来头,是前一代没能解决的问题逼出来的。
Agent Loop 处理的是"连续行动与单步中断"的矛盾。LLM 是一个一次一答的静态推理机器,你问一句,它答一句,答完就结束。现实任务偏偏需要多步操作,需要 AI 根据上一步的结果调整下一步。Loop 用 while 循环把这个断裂接上了——"感知→推理→行动→观察"串成一个闭环,周而复始。矛盾没有消失,但被容纳在循环结构里,系统在否定与修正中向目标逼近。
ReAct 处理的是"盲目行动与空想"的矛盾。单纯推理只思考不行动,容易循环论证;单纯工具调用只行动不思考,容易在错误方向上一条路走到黑。ReAct 把"想"和"做"交替组织:先想清楚,再动手,做完再观察结果,驱动下一轮思考。这个套路,《实践论》里早就说了:认识从实践中来,到实践中去,在实践中检验,再回到实践中去。ReAct 把这套逻辑在算法层面实现了——Thought 是认识,Action 是实践,Observation 是实践返回的信号,驱动下一轮修正。这不是说说而已,是真的做出来了。
Agent Harness 处理的是"理想模型与真实世界"的矛盾。Loop 和 ReAct 在 toy 场景里是优雅的,真实环境却有一堆约束等着:上下文有上限,Token 要钱,循环可能死掉,状态没法跨会话保留。Harness 是矛盾管理机制的集成——上下文管理器处理"记忆不够用"和"任务要长上下文"的矛盾,循环检测处理"追求目标"和"防止死循环"的矛盾,预算模块处理"能力最大化"和"资源有限"的矛盾。每个模块的出现,都是正面应对了一类真实矛盾。
Claude Code 处理的是"通用智能与具体实践"的矛盾。通用大模型知道编程是怎么回事,但它不知道你代码库的目录结构、不知道构建命令怎么跑、不知道测试框架是什么。Claude Code 用工具集、文件系统感知、权限控制、子 Agent 协作把这些细节补进去,让通用推理落地到一个真实的工作场景里。没有抽象的通用 Agent,只有在具体实践中解决了具体矛盾的 Agent。
边界的核心功能在这里浮现出来:它不只是检验标准,更是一个矛盾显性化的场所。AI 在编程世界里遇到的每一个编译错误、每一条测试失败,都是一个具体的矛盾——"预期"和"实际"之间的落差,被边界精确地标记出来了。边界把抽象的推理错误翻译成具体的、可下手的问题。AI 看不到模糊的"我好像不太对",只看到一个明确的"类型不匹配,预期字符串,实际返回整数"。矛盾从隐含变成显性,从抽象变成具体。OpenClaw 所在的办公场景,在这一点上几乎完全相反。职场中的矛盾是真实存在的——部门之间的利益冲突,汇报线上的权力博弈,文化规范里的潜规则——但这些矛盾几乎不可能被显性化。它们藏在中国式饭局的酒杯背后,藏在领导那句"原则上可以"的弦外之音里,藏在一封邮件的措辞顺序里。AI 找不到下手处:没有错误信息,没有失败信号,没有"预期"与"实际"之间清晰的落差。边界缺位,矛盾隐没,AI 只能靠统计相关性猜,猜对了是偶然,猜错了是常态。
矛盾论还有一个重要区分:主要矛盾与次要矛盾。编程世界里,这个区分是被动完成的——编译器报错会阻止测试运行,测试失败会阻止部署,边界之间有清晰的依赖链,AI 顺着这条链往上走,自然知道先解决什么。办公场景没有这套依赖链,所有问题看起来同等重要,AI 没有客观依据来判断优先级,只能凭感觉,感觉经常是错的。编程世界里 AI 能自主决策,因为它有足够的信息判断主次;办公世界里 AI 无法自主决策,因为没有矛盾排序的客观依据。
把四个概念放在一起看,规律就出来了:每一代技术都是对一类新矛盾的系统性回应。Loop 把"单步"和"多步"封装进循环;ReAct 把"思"和"行"封装进交替序列;Harness 把理想模型与真实约束的矛盾拆解成多个专项模块;Claude Code 把通用能力与具体场景的矛盾用工程手段弥合。矛盾没有被消除,但被逐层分级、分类处理了。这不是完美方案,但这是矛盾论意义上的正确方法——承认矛盾普遍存在,然后用与矛盾特殊性相匹配的方式去应对。
Agent Loop、ReAct、Harness、Claude Code 的演进,构成了一条完整的认识发展路径:感性具体(直接问答)→ 理性抽象(Agent Loop)→ 理性具体(Agent Harness) → 实践再具体(Claude Code)。每一步都有来头,每一步都是前一步在实践中暴露矛盾之后的回应。
两次认识飞跃合在一起,看得更清楚。大语言模型的能力是内因——没有这个底子,什么 Loop、ReAct、Harness 都是空谈。但内因要发挥作用,必须通过外因。Harness 就是那个外因:同样的 GPT-4,裸奔着跑长任务,上下文爆掉、循环失控、成本失控;套上 Harness,系统就能稳定完成数小时级别的复杂任务。两种 Harness 路线——Anthropic 主张"做厚",靠复杂系统掌控长时任务;OpenAI 倾向"做薄",赌模型自身能力足够——反映的是同一个矛盾在两极上的拉扯:控制与灵活的矛盾。这个矛盾不会消失,只会在不同条件下以不同面貌反复出现。
Agent 的发展不是朝向某个"终极形态"的收敛过程。每一代方案都只解决了它那个时代的核心矛盾,新矛盾随之产生。模型更强大了,Harness 的形态跟着变;场景更复杂了,Loop 的控制策略跟着调。停止演化的地方,就是被新的实践淘汰的地方。这四个概念的演化史,是对辩证唯物主义的一次具体印证:认识从实践中来,回到实践中去;矛盾是发展的动力;真理不是一次完成的,是在反复检验中不断逼近的。
六、核心差异——边界清晰度与反馈机制
把边界问题说到底,最后都会落到反馈两个字上。边界只是表象,反馈机制才是关键。
编程世界的边界是实打实的硬件。编译器说语法错了,没有人能反驳;测试套件跑出来 fail,AI 就得认;Lint 报警,代码就必须改。这些边界的反馈是自动的、即时的、不以任何人的意志为转移的。测试一跑,错误信息直接告诉你第几行、什么类型、预期什么、实际什么,AI 拿到这个信号,定位问题,修改代码,再跑测试,直到所有检查变绿。这个过程完全不需要人介入——AI 自己就能把循环跑完。Git diff 还能把每次变更逐行展示出来,人只需要在最后扫一眼确认,没有人会要求你逐字逐句去对比两个版本的差异。
办公世界完全是另一套逻辑。边界是模糊的,反馈是主观的,每一步都需要人来看、来判断、来决定下一步怎么走。邮件语气妥不妥,没有编译器会报错,只能等收件人回复或者不回复;报告方向对不对,没有测试套件能跑,只能等对接人说一句"方向不太对";PPT 配色和版式是否符合公司调性,没有 Lint 工具能检验,只能等领导皱眉头。反馈来自人,而人的反馈是模糊的、延迟的、有时干脆不来的。不同的人给不同的反馈,张三说语气太生硬,李四说太圆滑,AI 到底该听谁的?没有客观标准,没有量化指标,AI 只能靠统计相关性猜。
这个差异在 Agent Loop 的自动化程度上体现得最明显。
Claude Code 的循环是高度自动化的。任务拆解、工具调用、执行验证、错误恢复,这几个环节全部在系统内部完成,不需要人一步一步去推——人只在头尾出现,开头说清楚要什么,结尾验收结果,中间全靠边界反馈驱动循环推进。一个典型的场景:让它修复一个 bug,它跑测试,测试失败,根据错误堆栈定位问题,修改代码,再跑测试,失败,再改,再跑,直到通过,或者陷入僵局主动向你汇报。这整条链路不需要你盯着看,你甚至可以去做别的事,最后回来验收就行。子 Agent 还能并行处理多个任务,进一步压缩时间。
OpenClaw 的循环在办公场景里基本转不起来。每一步都要人来看:AI 写了一个邮件草稿,你要读一遍,告诉它"这里措辞再正式一点",它才能继续;AI 整理了一份会议纪要,你要打开看看,告诉它"第三段的顺序不对",它才能修改。缺少的不是 AI 的推理能力,而是一个能把 AI 的输出变成客观信号的环境。没有这个信号,Agent Loop 就找不到驱动力,只能等人推一步它走一步。出错的时候也一样:代码写错了,编译器直接报出来;邮件语气写歪了,只有你看到了才会知道。
这种差异直接决定了人在协作中的角色。
用 Claude Code,你做的是定义问题和验收结果。中间的执行过程由 AI 主导,边界负责兜底,确保它不会在错误的方向上走太远。这是"AI 主导执行,人负责把关"的模式——人的介入是有选择性的、高层次的,只在最必要的节点出现。
用 OpenClaw,你做的几乎是从头盯到尾。每一次 AI 输出,你都要审阅;每一步调整,你都要给出方向;每一处修改,你都要判断是否到位。这是"AI 辅助生成,人负责判断"的模式——AI 是你的助手,但掌舵的始终是人,人不能缺席。
两种模式带来的效率提升差异是根本性的。编程世界里,AI 能承接大部分执行工作,程序员从"自己写代码"变成"审阅 AI 写的代码",工作重心从操作层挪到了判断层——后者比前者高出几个量级。一个原本需要三天完成的模块,有 Claude Code 加持,可能半天就能拿到一个可运行的版本,剩下的时间人来做架构优化和边界情况处理。办公世界里,AI 能节省的是"从零开始写初稿"的时间,但判断和调整的工作量并没有减少——一份报告,AI 写完了你还是要改,一封邮件,AI 拟好了你还是要校。效率提升是有限的,它减少了最低价值的重复劳动,但没有改变高价值判断环节的成本结构。
说到底,这两个工具代表的是两种不同自动化程度的协作状态。Claude Code 的世界因为边界的存在,实现了近乎完整的循环自动化;OpenClaw 的世界因为边界的缺失,循环的推进只能依赖人站在每一个节点上持续输入。前者把 AI 变成了可以自主工作的主体,后者把 AI 变成了一个需要被持续引导的学徒。它们各自面对的那个世界的自动化可能性本来就不同。
七、从工作目的看差异,而非从工具标签看
回过头来看一个容易被忽视的事实:Claude Code 能写文档,OpenClaw 能写代码。两个工具都具备跨领域的能力,都能把手伸到对方的领地里去。
但跨界之后呢?
Claude Code 写出的文档,通常还是技术文档——接口说明、README、开发指南。它写出来的东西,编译器没法直接跑,但至少可以对照代码验证一致性,检验文档是否与实际实现脱节。OpenClaw 写出的代码,能写,但缺少为编程工作流深度定制的强反馈闭环:编译器、测试框架它同样可以调用,但模型不会主动把自己推进"修改代码→运行测试→报错修正→再运行"这个循环,需要人每一步都推着走。它接不进那个闭环里。
这说明了一个关键问题:工具可以跨界,但工具进去的那个世界的规则不会因为工具改变。
把同一个 AI 模型分别放进两个世界里,它的表现会截然不同。编程世界里,它接到"修复这个 bug"的任务,跑测试,得到错误堆栈,定位问题,修改代码,再跑测试,直到通过——整个循环不需要人推着走。办公世界里,它接到"写一封邮件给客户"的任务,写完草稿,等人来看,人说"语气太生硬了",它不知道"生硬"要怎么量化,只能猜,猜完再等反馈,循环推进的速度完全取决于人什么时候有空来看。
不是 AI 变了,是世界变了。
编程世界给了 AI 自主进化的条件:边界清晰,反馈即时,错误信息直接告诉你哪里不对、预期是什么,AI 顺着这条线索往下走就行。办公世界不提供这些条件:边界模糊,反馈主观,每一步都需要人来判断对不对,AI 没有客观依据,只能凭统计相关性猜,猜对了不知道对,猜错了不知道错。
这里存在一个容易陷进去的思维陷阱:看到 Claude Code 在编程上强,就以为它本身比其他工具更"厉害";看到 OpenClaw 在办公场景更顺手,就以为它更适合做"智能"的事情。其实两者都不是在展示某种跨越场景的通用能力,而是在各自的世界里刚好适配了那个世界给出的规则。换个世界,规则一变,表现就跟着变。
所以真正的问题不是"哪个工具更好",而是"你的工作更靠近哪个世界"。如果你的核心任务是写代码、做重构、跑自动化测试,选深度嵌入编程边界的工具;如果你要做资料整理、邮件处理、日常行政流量的自动化,选擅长连接应用但需要持续引导的工具。
知道什么时候该让 AI 自己跑,什么时候该自己盯着,是比选工具更重要的能力。
八、两种演化路径与未来方向
Claude Code 和 OpenClaw 各自都在演化,但演化方向的差异从它们的设计哲学里就已经写定了。
Claude Code 的路径是不断提升自动化程度,让人的角色从执行者变成验收者。编程世界有边界,AI 在边界内跑循环不需要人盯着,人只需要在头尾出现,说清楚要什么、验收最终结果。这条路径的终点是什么?是一个几乎不需要人介入就能完成整个功能模块的 AI 程序员。人从"自己写代码"变成"审阅 AI 写的代码",工作重心从操作层移到架构层。写代码的成本趋近于零,软件行业长期受困的"人力瓶颈"会因此松动,一批原本因为人力成本太高而做不出来的软件,会变得在经济上可行。
OpenClaw 的路径不同。它的困境是:办公场景的循环在每一个节点上都需要人。突破方向是构建人工反馈系统,让每一步的判断成本降下来。思路是先把 AI 的输出变得可以量化——邮件语气分析、文档可读性评分、报告结构完整性检测——然后用这些量化指标替代人的主观判断,让 AI 可以沿着信号自主迭代。但这条路更难。邮件语气分析做到及格容易,做到让人觉得"这个工具真的理解我的意图"就很难。
两个方向本质上是同一个问题在不同条件下的不同解法:如何减少人在循环中的参与?Claude Code 的答案是"边界已经存在,只需要让人退到边界之外";OpenClaw 的答案是"边界不存在,需要先造出来"。
这个分野在 Harness 的设计哲学上也有一层对应的体现。行业对于 Harness 的探索,正分成两条路子。Anthropic 的思路是"做厚"——用更复杂的系统去管理 AI 的行为,让它能承接更长时、更复杂的任务。Claude Code 就是这种思路的产物:主子 Agent 架构、待办清单、权限分层、文件系统感知,这些机制叠加在一起,把 AI 包裹成一个可以放心交给它干活的完整系统。OpenAI 的 Codex 系列则是另一个方向——"做薄"。他们赌的是:只要模型本身的能力足够强,外围的 Harness 就不需要那么复杂,一层薄薄的包装就够了。两边的思路各有各的道理,也各有各的隐患。"做厚"能掌控长任务,但系统会越来越重,调试和维护的复杂度随之上升;"做薄"轻巧灵活,但模型一旦超出能力边界,整个系统就会失控,没有任何安全网接住它。
这两种思路的分歧,不只是技术选择上的差异,它反映的是 Agent 设计中一对永恒的矛盾:控制与灵活之间的张力。"做厚"是往控制那侧倾斜,用结构换取稳定性;"做薄"是往灵活那侧倾斜,用模型能力换取适应性。编程世界因为有客观边界在,对控制的需求更迫切,所以"做厚"的方案在那个世界里更吃香;办公世界任务五花八门、边界模糊,反而更需要一个轻巧灵活、能随机应变的系统,但这种场景恰恰又是模型能力最难兜底的。两边都没有完美答案,只有一个那个条件下更合适的答案。
还有一个值得想的问题:办公场景的"编译器"什么时候会出现。
这个问题触及了这场对比的核心。如果有一天,办公任务也能像编程任务那样被自动化检验,OpenClaw 这类工具的效率会跃升一个台阶。但"编译器"的出现不在于技术能不能做到——Markdown、Git、Pandoc 这些工具早就有了,完全可以组合出"文本源文件加版本管理加格式渲染"的流水线——而在于办公工作本身能不能被标准化。邮件语气有没有对错?报告深度够不够?会议纪要是否抓住了重点?这些判断在多大程度上可以被客观化?
如果"办公编译器"真的出现,它可能不是某一个工具,而是一组工具的组合:语气分析引擎给邮件打分,合规校验工具扫描文档格式,自动化审核流程检查报告结构。它们不会让 AI 的产出完美无缺,但能给产出贴上可量化的标签——就像代码的测试覆盖率、Lint 警告数——让 AI 迭代的方向从"猜人的喜好"变成"追逐可量化的分数"。这会从根本上改变 AI 在办公场景里的行为模式。
眼下已经有一些端倪。邮件语气分析工具在判断正式与非正式方面已经能做到七、八成的准确率;写作辅助工具开始引入可读性评分;语法检查工具不只挑拼写错误,开始理解上下文语境。但这些工具散落在各处,没有形成一个像编译器加测试套件那样紧密咬合的反馈系统。改变这个状况,不能只靠某一个工具的诞生,而要靠整个工作流的设计者愿意去做那件事:定义边界,把版本管理、diff 审阅这些在编程领域已经习以为常的实践,迁移到办公领域来。
这不是技术做不到,是工程实践还没有走到那一步。编程世界的边界是几十年工程实践积累出来的,不是一夜之间冒出来的。办公场景的边界也需要类似的积累过程——先有人愿意定义标准,愿意接受这些标准的约束,愿意把 AI 的产出放进一个可以被追踪、被对比、被反复检验的系统里。这个过程会很慢,但它指向的方向是确定的。
两条演化路径,两种突破方向,最后会在某个地方汇合。当汇合发生的时候,也许"选哪个工具"这个问题本身就没那么重要了——真正重要的是:你做的那类工作,更接近哪个世界,以及你是否愿意为那个世界构建它需要的边界。
九、工具决定论的驳斥——人的组合运用能力与人工边界的构建
工具只是提供一种能力,如何运用这种能力,才是真正分出高下的地方。
市面上关于 AI 工具的讨论,叙事框架大多是"有了某某工具,工作效率提升 X 倍"。隐含的假设是:工具是主角,人是配角;工具决定产出质量,人的作用只是按下按钮。这个假设推到最后,就是工具决定论——好的工具等于好的结果。
但稍微审视一下现实,这个等式就不成立了。同一款工具,在不同人手里,效果天差地别。有人用 Claude Code 三天跑出一个可用的模块,有人折腾一周还在原地打转。不是工具偏心,是人不同。用 OpenClaw,有人能把它接进飞书、搭出一套自动化的周报流水线,有人装完就放在那,不知道该拿它干什么。工具摆在货架上是一样的,买回去之后怎么组装、怎么嵌入自己的工作流,才真正决定了它能产生什么价值。
这里有一个更根本的问题:边界到底是从哪来的?
前文一直在说编程世界有边界、办公世界没有边界,好像边界是天然存在的,像矿藏一样等着被发掘。不是这样。编程世界的边界——编译器、测试套件、Lint、Git——不是从天上掉下来的,是几十年的工程实践一点一点积累出来的。TDD 最初只是一小群开发者在探索更好的编码方式;CI/CD 是团队在反复踩坑之后逐步固化下来的工作规范;甚至连"代码要写注释"这种看似天经地义的要求,背后都是无数个项目因为文档缺失而烂尾的惨痛教训。边界是实践的产物,是人塑造出来的,不是有待发现的客观真理。
认知一旦转变,一个推论就跟着出来了:办公场景的边界缺失,不是因为这件事不可能做到,而是因为还没有人去做。
如何给办公场景构建人工边界?先从一个小场景说起。编程世界里,git diff 是每天都在用的东西。AI 改了一段代码,人只需要扫一眼 diff,就能判断改得对不对——哪行删了,哪行加了,一清二楚,不满意的地方直接 revert。办公场景没有这个。Word 是二进制文件,Excel 是二进制文件,PPT 也是二进制文件。你让 AI 帮你写了一份报告,它改了三版,你打开两个文件来回对比,靠肉眼和记忆去找差异。
人肉 diff 的效率极低。长文档还好说,几十页的报告,两个人打开对照着看,虽然费时,至少还能比出个大概。复杂表格呢?修订模式开着,每一格的变化都标记出来,但最后审阅的时候,那些密密麻麻的标记本身就成了阅读障碍。PPT 更麻烦——母版、动画、版式、配色,改一个元素可能牵动十几页的联动,肉眼根本无法穷尽所有差异。
更根本的问题在于,人肉 diff 无法做到精确追踪。编程世界的 diff 不只告诉你"改了",还告诉你"改了什么、删了什么、加了什么",甚至能通过 --word-diff 把同一行里的具体字词变化提取出来。办公场景没有这个粒度。你只知道"第二版比第一版好"或者"感觉不太对",但说不出好在哪里、不对在哪里。这种模糊的反馈,对 AI 来说基本等于没有反馈——它不知道该往哪个方向调整。代码被修改了,AI 能看到 diff,能分析哪类改动被接受了、哪类被拒绝了,逐步校准自己的输出策略。但邮件草稿被改掉了、会议纪要被人调整过了,这些修改没有留下任何可供学习的痕迹——AI 下次遇到同类任务,依然是从零起步。
要解决这个问题,有两条路。
第一条路是研发 Office 文件专用的 diff 工具。docx 文件本质上是一个 ZIP 包,解压后里面是一组 XML 文件,文字内容、格式信息、修订记录都可以提取出来。Excel 同理,Sheet 数据、公式、样式都藏在 XML 里。如果有一套工具能把这些 XML 里的变化以可读的方式呈现出来,diff 就成为可能。这条路技术上可行,工程量不小,但做出来之后,每一次修改都能精确展示,审阅者可以逐项接受或拒绝,AI 能拿到明确的反馈信号。
第二条路更轻量:改变中间产物的格式,用文本承载内容,把文本纳入版本管理,最后再渲染成二进制交付物。具体来说,就是用 Markdown 写文档、用 CSV 管理表格数据、用 HTML 或 LaTeX 排版——这些全是纯文本,git diff 对它们天然友好。AI 在文本上工作,每一次修改都留下清晰的变更记录;人审阅 diff,就像审阅代码一样高效;确认无误之后,用 Pandoc 把 Markdown 转成 Word 或 PDF,用 Python 脚本把 CSV 生成图表,用 reveal.js 把 Markdown 转成幻灯片,最终交付的还是你需要的二进制格式。
这套工作流的关键不在于某个单一工具,而在于工具链的组合。Pandoc 负责格式转换,Git 负责版本追踪,diff 负责变更审阅,AI 负责内容生成——四个工具拼在一起,形成了一个完整的"生成—追踪—审阅—交付"闭环。
落到具体场景,邮件场景下,用 Markdown 写正文内容,AI 在文本上修改措辞和语气,Git 记录每一版的 diff。审阅者看到的是"第三段从'请查收'改成了'烦请过目'",比打开两封邮件来回对比要高效太多。幻灯片场景下,用 Markdown 或者 YAML 定义内容和结构层级,reveal.js 或者 pptxgenjs 把它们渲染成 PPT。AI 调整内容顺序、修改措辞,diff 一目了然;模板统一,格式问题从源头就消解掉了。数据分析报告场景下,用 Jupyter Notebook 或者 R Markdown 编写,数据清洗、可视化、分析结论全部是文本格式,Git 追踪每一段代码和每一段叙述的变化。报告生成的时候渲染成 PDF 或者 HTML,数据和叙事在同一个文档里,不存在"报告写完了数据又变了"这种尴尬。
这套做法没有任何技术障碍,缺的只是工作方式上的一个小小的转变:用 Markdown 作为源文件,就是主动选择了一种 AI 可以精确工作的介质;把 Markdown 纳入 Git,就是给 AI 设置了一个可以被追踪、被回滚、被审阅的工作环境;用 Pandoc 渲染最终产物,就是在保持协作效率的同时不放弃交付格式的要求。Pandoc 加 Git 加 AI,单独看哪一样都不稀奇,但串在一起,就形成了一个比各部分之和更大的系统——AI 负责生成,Git 负责记忆,Pandoc 负责翻译。
边界不是天然存在的,是人构建的。实践论说,认识从实践中来,但认识本身不会自动转化为实践,需要人去推动。边界不会自己从天上掉下来,需要人去定义标准、去接受约束、去把散落的能力组合成一个可以运转的系统。这个转变的本质是为 AI 创造一面镜子——让 AI 的输出变得可检验。在编程世界里,镜子是现成的;办公场景没有这面镜子,AI 的输出落在真空中。把文本化的中间产物纳入版本管理,就是在办公场景里也装上一面镜子:每一次 diff 展示的都是 AI 的思考轨迹,每一次审阅都是对 AI 认识的实践检验,每一次修改都是给 AI 的反馈信号。"AI 生成—人反馈—AI 学习—AI 改进"这个闭环,在办公场景里终于有了可以运转的结构。
工具决定论的本质是:把结果归因于工具本身,仿佛工具是决定性变量,人只是被动使用者。这个逻辑推到尽头,就是不断追逐最新工具,追完 Claude Code 追 OpenClaw,追完 OpenClaw 追下一个爆款,永远在追赶。工具是流水线上的机器,不是流水线本身。你需要的不是更新更贵的机器,而是知道这条流水线该生产什么、每个环节该负什么责任、上下游之间该怎么衔接的人。
最终的问题不是"哪个工具更好",而是"人在整个系统里扮演什么角色"。在 AI 能够高度自主迭代的编程世界里,人的角色从操作执行层上移到了判断层:不再是自己动手写代码,而是定义要解决什么问题、设计代码应该长什么样、判断产出是否达到了标准。在 AI 无法自主迭代的办公世界里,人的角色更进一步前移:不仅要定义问题、设计流程,还要在每一个关键节点给出判断,甚至还要负责构建让 AI 能够迭代的边界系统本身。
这要求的不只是技术知识,而是更底层的能力:定义问题,不是描述表面症状,而是找到真正要解决的核心矛盾;设计流程,不是把步骤串起来,而是知道在哪些节点上设置检验点、设置什么样的检验点;判断价值,不是对产出做主观打分,而是理解这个产出在更大系统里承担什么功能、它的边界在哪里;承担责任,是最后兜底的——AI 的判断会出错,系统的设计会有漏洞,最终签字的那个人承担后果。
工具决定论的终点是永远在追逐更好的工具。认识到组合运用才是关键的人,终点是把工具组合成属于自己的系统。前者永远在准备,后者一直在生产。
十、结论与选择框架
Claude Code 和 OpenClaw 的定位完全不同。Claude Code 是"半自主执行者"——你给它一个问题,它自己跑完整条链路,直到所有边界检查通过才停下,你只在头尾出现。OpenClaw 更像一个随时待命的助手——帮你接应用、整理信息、生成初稿,每一步都得有人盯着才能继续。主驾驶和副驾驶,大概就是这么个关系。
所以选择标准很简单:看你的工作更靠近哪个世界。
编程任务,选 Claude Code。写代码、做重构、跑自动化测试、持续集成,它能自主跑完全程,你只需要在验收节点出现。办公任务,选 OpenClaw。整理资料、自动化行政流程、多渠道消息管理,它灵活接入各种应用的能力在办公场景里是稀缺的。
两者组合是更常见的做法。OpenClaw 做资料整理和初稿——把 PDF 扔进文件夹自动摘要、整理文献格式、生成报告框架,覆盖广、成本低,本地部署还能保护隐私。核心内容写出来之后,交给 Claude Code 做逻辑推演、结构优化、论证一致性检查,它的长项正好在这些需要高精度判断的地方。省钱的活让 OpenClaw 干,高价值的活让 Claude Code 干。
工具背后是工作世界的规则,规则背后是人的设计。选择之前,先看清楚自己要进入的那个世界长什么样。
夜雨聆风