Claude Code:你早已拥有的“AI 雇员”,不必再等 OpenClaw
原文:https://every.to/source-code/claude-code-is-the-openclaw-alternative-you-already-have
OpenClaw 曾向世界展示了 AI 助手可以是何种模样。
这个开源项目仅用了 60 天 就成为史上获星数最多的软件项目,这并非出于炒作,而是因为人们切身体验到了一个不只会回答问题、更能“动手做事”的 AI。它能管理你的日历、发送邮件、控制你的浏览器——而这一切,仅需通过 WhatsApp 或 Slack 里的一条消息就能触发。
我曾眼睁睁看着 Sam Altman 招揽了 OpenClaw 的创造者,微软 CEO Satya Nadella 则在此框架上构建了“ClawPilot”。而整个过程里,有一个念头始终困扰着我:Claude Code 明明已经能做到这一切了,这些甲壳类动物究竟有何特别之处?
答案根植于公众认知。OpenClaw 被包装成一个 AI 智能体(AI agent),而 Claude Code 则被定位为一款编程工具。
我们在 Every 花了数月时间,同时在 Claude Code 和 OpenClaw 之上进行构建——其中包括 Claudie,一位负责我们咨询团队后台运营的 AI 员工。这段经历让我们看清了两件事:为何围绕 OpenClaw 的早期热情正在冷却(这与其不可靠性有关),以及为何 Claude Code 是当下构建 AI 助手最强大的平台。
如果你正试图打造一个能动手做事的 AI,那就不必苦等更好的 OpenClaw 替代品了,因为你已经拥有了一个。下面就是为此给出的论据,以及使用方法。
驾驭模型
Claude Code 能做到一切让 OpenClaw 病毒式传播的事情:使用工具、管理文件、独立运行数小时。这并非巧合,因为剥开外壳看,两者是同一类东西:一副驾驭 AI 模型的“马具”。
可以把 AI 模型——Claude、GPT、Gemini——想象成强壮而能干的马。而马具,就是那件让你能驾驭这股马力的东西。它是位于原始 AI 模型与你要实现的任务之间的一层软件。它决定了模型如何接收上下文信息、能使用哪些工具、如何在对话间保持记忆,以及如何与外部世界通信。
你其实早就在使用各种“马具”了:ChatGPT 将模型包装在一个能浏览网页和运行代码的聊天界面中;Cursor 则将模型嵌入代码编辑器。而 Claude Code 将模型置于一个更为开放的环境里:拥有调用工具、串联步骤并自主朝着目标推进的能力。这与 OpenClaw 的作为完全一致。

AI 模型就像强壮能干的马,而“马具”就是驾驭这股马力的工具。(图片由 Nityesh Agarwal 提供。)
OpenClaw 让人喜爱之处——以及 Claude Code 如何帮你实现
OpenClaw 之所以能病毒式传播,是因为它让某个概念变得清晰可见。许多人第一次亲眼看着一个 AI 独自出发并完成了一项任务。在无数评测和讨论帖中,一个非官方的口号浮现了出来:一个真正会做事的 AI。这些能力可以分为五大类——而 Claude Code 无一或缺。
1. 它感觉像一个人。
OpenClaw 如影随形——它记得你昨天在做什么,清楚你日历上有什么安排,并且掌握着你工作的上下文信息。
这种感觉的由来,与你通过哪个通讯应用——Telegram、Slack 还是 iMessage——联系它关系不大。这种感觉源于这个智能体能窥见你多少工作和生活。因为 OpenClaw 从你的主文件夹(home folder)运行,它能读取你机器里的每一条笔记、每一个文件和文件夹,从而拥有相当于一名员工的上下文广度。
大多数人没有意识到,Claude Code 也能做到同样的事。他们只在一个项目文件夹里运行它,于是它给人的感觉就只是个编程工具——但这仅仅是因为他们赋予它的上下文被局限了。
这是个很容易解决的问题。给 Claude Code 访问你整台电脑的权限,于是你就有了一位“AI 员工”。
默认情况下,Claude Code 会在每次行动前征求你的许可,而 OpenClaw 则不会。当你将它用于专业工作时,这很审慎。但如果你想让它拥有更多自主权,只需传入 --dangerously-skip-permissions 标志位。
2. 它在真实世界里做事。
使用 OpenClaw 的人,都能讲出一个他们亲眼见证其行动的、奇妙的“顿悟时刻”。他们给它发了条消息,一觉醒来,一个接好了支付处理器的网站已经搭建完成。他们让它通宵整理收件箱,早上就看到了拟好的回复草稿。
同样,Claude Code 也能直接操作你的电脑——创建和移动文件、运行程序、读取网页。而且,这两款工具都能通过模型上下文协议(Model Context Protocol,简称 MCP,一种由 Anthropic 引入的开放标准)接入外部服务——Google Workspace、你的客户关系管理软件、Asana、日历、数据库。
3. 它懂得(某种程度上的)记忆。
人们发现 OpenClaw 能长期记住事情。今天存一条笔记,一个月后问它——“我最近读过关于 X 的什么内容?”——它不仅会返回那条笔记,还会关联出你自己都忘了记下过的相关内容。
Claude Code 的记忆机制要更加精细。它分三个层面存在:
- 一个名为
CLAUDE.md的文件。 它位于你运行 Claude Code 的任何文件夹中,你可以往里面填入智能体应该知道的一切。每次启动时它都会读取这个文件。它是纯文本,所以你能用任何编辑器修改它。 - 一个内置的记忆系统。 随着智能体的工作,它会保存有用的观察结果,并在稍后重新提取出来。这是 Claude Code 的原生功能,无需额外设置。
- 一个本地搜索引擎。 在为 Claudie 构建时,我加入了
qmd,一个开源工具。它能索引机器上所有的对话日志、会议记录和工作文档,让她能跨所有这些资料进行搜索。
4. 你可以教它新技能。
OpenClaw 允许你教它新把戏:写一个简单的文本文件来描述你希望它处理的任务——即一项“技能”(skill)——然后智能体就会学习并遵循它。在 Every,我们拥有用于按正确品牌风格制作演示文稿、管理客户看板,以及在 Asana 中进行项目管理的各种技能。
技能是一项 Anthropic 推行的标准,这意味着 Claude Code 内置了相同的系统。为 OpenClaw 编写的技能,无需任何改动就能直接在 Claude Code 中运行。
5. 它自主运行,在你睡觉时工作。
OpenClaw 的杀手锏功能名为“心跳”(heartbeat)——一个每分钟运行一次、决定哪些事需要做并付诸实践的后台进程。早上 6 点,在你还没看手机的时候,它已经读完了你的夜间邮件,扫描了你的日历,草拟了你的每日简报,并把需要回复的消息的草稿排好了队。
在底层,“心跳”就是一个 cron 作业。Cron 是自 20 世纪 70 年代起就内置于 Mac 和 Linux 操作系统中的一款软件,它只做一件事:按计划执行一段代码。计划可以是每分钟、每小时,或者每周一早上 6 点。
Claude Code 可以接入这同一套系统。它拥有一种模式(称为“无头”模式),你可以交给它一项任务,它便自行运行,无需你坐在屏幕前。将此模式与 cron 结合起来,你就拥有了一位在你睡觉时工作的 AI。就连 OpenClaw 的创造者 Peter Steinberger 本人也 表示 ,这种“Claude Code 加 cron 作业”的配置,与 OpenClaw 别无二致。
OpenClaw 的不足之处
我们已经确认,OpenClaw 和 Claude Code 能做到许多相同的事。那为何我还要引导人们转向 Claude Code 呢?有几个原因。
该肯定的地方必须肯定:OpenClaw 向世界展示了一些重要的东西,它赢得的 380,000 个 GitHub 星标 实至名归。但当我深入代码库,我发现其中蕴含的复杂性制造了比解决的问题还多的问题。
会话问题
OpenClaw 会为每个用户维持一个单一会话,并尽可能让这个会话运行得越久越好。你在白天发送的每条消息,都会落入这同一个会话,随着时间推移,上下文会不断堆叠。如果你频繁使用 OpenClaw 处理多项任务,到了中午,这个会话可能会承载超过 50,000 个 token 的信息——大致相当于一份长篇文档的文本量。系统本应在每天凌晨 4 点重置会话,但这个机制并不可靠。因此,你可能在早上只打了个简单的“hi”,却被计费了 50,000 个 token——在 GPT 5.5 或 Opus 4.8 上大约花费 0.25 美元——因为系统恢复了昨天那个臃肿的会话,而非开启一个新会话。
我的同事 Mike Taylor 就踩过这个坑,他当时使用的是我们基于 OpenClaw 构建的 Plus One AI 助手。他检查日志后发现,有一个可以追溯到第一天的无限长线程。他发送的每条消息都在吞噬大量 token,因为所有内容都被塞进了一个巨大的会话中。
而在 Slack 上使用 Claude Code,工作方式则完全不同:一个线程就是一个会话。开启一个新线程,就得到一个干净的上下文窗口。每个会话开始时,只有其基线指令和你的 CLAUDE.md 文件——你为其编写的固定上下文——这通常只占 2,000 到 5,000 个 token,而不是 50,000。当一个线程确实长到需要压缩处理(即系统压缩较早的对话历史以为新信息腾出空间的过程)时,Claude 会自动完成剪裁。
记忆问题
OpenClaw 的记忆系统非常精细复杂。它被设计用来跨对话记住细节,这样智能体就不会在你每次发消息时都从零开始。为了实现这一点,它运行依赖以下几部分:
- 八个独立的引导文件(即首次启动时写入的文件),每个存储关于你的不同类型的信息,包括
AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md和MEMORY.md。 - 一个记忆巩固的“做梦”过程,其间它回顾当天发生的一切,并决定哪些片段值得保留、哪些可以遗忘。
- 多种搜索方式。
- 一个存储层,用于组织其掌握的知识,并为每条声明附上证据,如同一个个人维基百科。
作为一名工程师,我能理解他们为何选择这样的构建方式,但作为一名用户,这种复杂性是有代价的。
当 OpenClaw 犯错时——忘记重要事项,或依据过时信息行动——问题的根源可能出在六个地方中的任何一处:引导文件、每日笔记、“做梦”过程、更早笔记的压缩版本、系统清理短期记忆时保存的内容,或是那个百科全书式的存储层。通常,你根本无法判断是哪个环节出了错,这使得追查根本原因变得不可能。
相比之下,Claude Code 的记忆存储在纯 Markdown 文件中。当 AI 做出怪异行为时,你打开相关的 CLAUDE.md 或记忆文件,就能确切看到它接收到了什么指令——它所依据的指令和记住的事实。调试过程只是编辑一个文本文件而已。
我们不禁要问,为什么 OpenClaw 的系统会变得如此复杂?一个可能的答案是,每一层的存在都是为了修补下面更简单那层的弱点。从文件中的纯文本笔记开始,很快智能体就需要一种搜索它们的方式——于是搜索功能被外挂上去。每增加一项功能,也就增加了一层可能出错的地方。
在 Claude Code 上构建 Claudie
Every 的咨询团队需要一名 AI 员工来处理运营事务——跟踪项目进展、管理通信、更新看板,并与客户跟进任务。了解了我们在两款工具上——特别是 OpenClaw 的不可靠性——吸取的经验后,我们在 Claude Code 上构建了这名员工,Claudie。
我们的团队日常在 Slack 上工作,所以 Claudie 也需要在那里。这意味着需要编写一层代码来将 Claude Code 连接到 Slack——大约 1,100 行 Python 代码。它负责监听 Slack 中的消息,将它们交给 Claude Code,再将响应流式传回,并处理格式化和文件上传等杂务。其余的一切——会话、记忆、工具和技能——都由 Claude Code 自行处理。

将 Claude Code 转为 OpenClaw 式智能体所需工作的视觉化呈现。Claude Code 是坚固的马具;我只是在上面写了一点代码。
Claudie 在一台 Mac Mini 上 7×24 小时运行,因此她不依赖任何人的笔记本电脑保持在线。她会自行启动预定任务——为团队准备的晨间简报、工作管线更新、收件箱整理、客户看板——并且她接入了 Google Workspace、Asana、我们的 CRM 以及会议记录。一个三层记忆系统让她能在数百场对话中保持上下文,无论是内部(Slack)还是外部(邮件、Granola)的对话。
日常维护她的工作大致可分解为:5% 用于维持系统运行,30% 用于管理她的记忆,65% 用于构建新技能和决定哪些流程走向自动化。记忆相关的工作涉及审计她记住了什么,弄清她为什么有时会在错误的时间调出错误的内容,添加新记忆,以及更新她的 SKILL.md 文件。
Claude Code 教给我们的关于 AI 员工的事
我花在维护 Claudie 的“马具”——即那层将她连接到 Claude Code 的代码——上的时间非常少,因为,与 OpenClaw 不同,Claude Code 是一个稳定且精心设计的基础。这份稳定性,正是 Claude Code 发布时被大多数人忽略的东西。
OpenClaw 是被当作一名 AI 员工来营销的:“真正做事的 AI”。而 Claude Code 则被定位为一款编程工具。但在引擎盖下,Claude Code 早已拥有构建一个 AI 助手所需的一切——工具、记忆和自主性。
任何人都能让技术跑起来。真正困难的部分,在于弄清该把什么工作交出去,以及如何交接。我们意识到 Claudie 在 Google Sheets 中的任务清单已经变得难以管理,于是我们将她转移到了 Asana。当现成的 Asana 连接器频繁出故障时,我们就自己造了一个。我们必须弄清楚,她应该从过去的对话中记住多少东西——足够有用,但又不至于多到让她跑偏。而且,我们还得教会她我们是如何思考咨询业务的,而不仅仅是教她如何使用软件。Claude Code 给了你一个足够稳固的基础,让你能把时间花在这些工作上——而不是花整个周末去弄清为什么 Claudie 停止响应了。
OpenClaw 在激发人们对 AI 员工的渴望上值得称赞。但是,用来构建这名员工的工具,其实早就已经躺在开发者们的笔记本电脑里了。
核心启示:OpenClaw 以其“真正会做事的 AI”的体验点燃了市场,但其背后复杂的系统架构引入了难以调试的不可靠性;而看似仅定位于编码工具的 Claude Code,因其更稳定、更简洁的工程基础和对工具、记忆、自主性的原生支持,实际上已成为当下构建可靠 AI 助手更务实的选择。
Claude Code Is the OpenClaw Alternative You Already Have 的发芽报告
材料核心
OpenClaw 和 Claude Code 底层都是 AI 模型的“缰具”(harness),能做几乎同样的事:调用工具、操控文件、自主运作。人们误以为前者才是能做事的 AI 员工,后者只是编程工具,这种认知偏差源于市场营销和定位。实际上,Claude Code 在许多方面——特别是架构的简单性、记忆的可调试性、系统的稳定性——比 OpenClaw 更可靠,因此是当下构建 AI 助理的更优平台。
发芽 01:复杂的代价——当记忆系统成为迷宫
种子
OpenClaw 为了创造“懂你”的体验,构建了一个极其精巧的记忆层:八份核心引导文件、记忆巩固的“做梦”过程、多层搜索、带有证据链的百科式存储。这种设计在直觉上很迷人,甚至带有某种生物隐喻——就像人脑在睡眠中整理记忆。但当系统出错时,问题的根因可能分散在这半打以上的组件中,根本无法定位。复杂性本是用来解决脆弱性的,却创造了更难以捉摸的脆弱性。
这种困境在软件工程中有一个经典的名字:第二系统效应。Fred Brooks 在《人月神话》中描述过,设计师在构建第二个系统时,会倾向于把第一个系统里被克制住的所有想法和修饰都加进去,最终得到一个过度设计、臃肿且难以维护的产物。OpenClaw 的记忆系统正是如此:先有简单的笔记文件,不够用了就加搜索,搜索还不够就加做梦巩固,巩固后还要百科化存储。每一层都在修补前一层的不足,但没有一层被拿掉,最终形成了一个连创建者都可能迷失的迷宫。
回到 Claude Code,它的记忆方案原始得近乎“简陋”:纯文本的 CLAUDE.md,外加一个自动保存观测记录的内置记忆,再按需接一个本地搜索引擎。当 AI 做出怪异行为时,你只需要打开一个 Markdown 文件,就能看见它到底被灌输了什么指令和记忆。这里的“Aha”在于:可调试性不是来自你能看到多少东西,而是来自你能多快地找到那个唯一原因。 Claude Code 用一个反直觉的方式做到了高级系统没做到的事——把复杂度设在人的心智可以容纳的边界之内,而不是把每一寸智力都外包给代码。
Aha 瞬间
“OpenClaw 教会了我们 AI 可以像人一样记忆,Claude Code 则提醒我们:人类记忆出错时,至少我们知道该从哪个脑区找问题。”
发芽 02:命名即命运——为什么“编程工具”比“AI 员工”更接近真相
种子
当同样的底层能力——模型缰具——被贴上“AI 员工”的标签,就会激起人们脑中关于人类助手的全套期待:它会记得日程、会察言观色、会像人一样犯错并自我纠正。而“编程工具”标签则把期待牢牢限制在代码生成和终端操作上。OpenClaw 与 Claude Code 在能力边界上几乎重叠,却因为前者被包装成“做事的 AI”,后者被包装成“写码的 CLI”,走上了两条截然不同的被评价轨道。
这种现象,市场营销学者称之为 “品类定位锚定” 。Theodore Levitt 曾有名言:“人们不想买一个四分之一英寸的钻头,他们想要一个四分之一英寸的洞。”但反过来,你如何命名那个钻头,就决定了用户认为你卖的是钻头本身,还是那个洞的制造能力。当 OpenAI 把 ChatGPT 定位为“聊天机器人”时,用户用聊天的心态测试它;当 Anthropic 把 Claude Code 定位为“编程代理”时,用户在编辑器里衡量它的代码能力。OpenClaw 则聪明地占据了“AI 员工”这个空白品类,于是用户愿意在凌晨三点发条消息,期待早上醒来看到整理好的收件箱和上线了的网站——即便它内部的 cron job 和 Claude Code 的无头模式是同一个东西。
这在科技史上反复上演。Google Wave 当初被设想为“一切通信的替代品”,因为品类太模糊而失败;Slack 后来用“邮件杀手”的明确定位,在同一个概念方向上取得了成功。Slack 说到底也不过是一个加了搜索和机器人的 IRC 客户端,但定位让它成为团队协作的代名词。同样的,Claude Code 就是那个藏在“编程工具”壳子里的 Slack——它已经能做 AI 员工的事,只差一场认知上的重新定位。作者将 Claude Code 接入 Slack,写了 1,100 行 Python,就构建出了 Claudie——这恰恰证明了,需要“写代码”这个初始门槛,是用户将其视为编程工具的唯一理由,而不是它的能力局限。
Aha 瞬间
“不要问一个工具叫什么,要问它能不能跑 cron job——因为 AI 员工和代码代理的区别,常常只在于你是从终端还是从聊天窗口看它。”
你的思考空间
- 如果 Claude Code 从一开始就被命名为“Claude Agent”而不是“Code”,它的普及轨迹和用户想象会有什么不同?
- 为什么简单的纯文本记忆方案反而比多层结构化记忆更容易维护?这是否意味着在 AI 工具设计中,保持“人类可读性”比追求自动化记忆管理更重要?
- 当我们试图让 AI 模拟人类记忆的“做梦巩固”时,是更接近真正的智能,还是只是在用技术的美感掩盖可靠性的缺失?
- 你是否在自己团队的工具选择中,也曾因为某个产品的“品类包装”而高估或低估了它的实际能力?
- 如果 Claude Code + cron job 本质上等于 OpenClaw 的核心,那未来是否会出现一个专门为此设计的“极简 AI 员工作业系统”,只做三件事:调度、执行、留痕?