Workspace:让 Agent 拥有"人格"的配置体系

OpenClaw 的 workspace(工作空间)本质上是一个文件驱动的 Agent 配置框架。不需要写代码,通过编辑六个 Markdown 文件,就能定义一个 Agent 的身份、性格、思维方式、用户画像和长期记忆。这套设计把通常散落在 system prompt 里的各种指令,拆分成了结构清晰、各司其职的模块。

下面用一个"AI 角色扮演助手"的场景来拆解每个文件的作用,但请注意,这套机制完全可以迁移到客服 Agent、私人助理、知识库问答等任何需要持久人设的场景。

三个文件定义"这个 Agent 是谁"

IDENTITY.md:身份与角色设定。 用一两句话定义 Agent 的基础身份背景。可以是"资深财务分析师",也可以是"专注 React 生态的前端工程师"。Agent 每次启动时会加载这个文件,确保角色一致,不会在对话中"跳戏"变成通用百科。

SOUL.md:语气与表达风格。 这是整套配置中最关键的文件。它决定了 Agent 的说话方式——是严谨专业还是轻松随意,是直给结论还是循循善诱。比如你可以写:"回答问题时先给结论再展开分析,避免使用'您好请问'等客服用语,技术讨论时可以适当用类比降低理解门槛。"风格这件事看起来是表面功夫,但在实际使用中,它直接决定了用户是否愿意持续和这个 Agent 交互。

AGENTS.md:思维逻辑与行为模式。 定义 Agent 的"思考方式"和响应策略。比如:"当用户表达情绪时,先共情再分析,不要直接给解决方案,除非用户明确要求。"又或者:"回答技术问题时,先确认用户的技术背景,再决定解释的深度。"这个文件本质上是在做 prompt engineering 的模块化——把复杂的行为指令从一个巨大的 system prompt 中拆出来,单独维护。

三个文件构建"记忆系统"

没有记忆的 Agent 本质上只是一个无状态的问答机器。OpenClaw 用三层文件解决了这个问题。

USER.md:用户档案。 存放用户的基本信息、偏好和禁忌。比如:"用户是独立开发者,主要技术栈是 Python 和 Next.js,对过度封装的框架持怀疑态度。"Agent 每次回复前会参考这份档案,让交互具有连续性和针对性。

MEMORY.md:长期记忆。 存储需要永久保留的关键信息——重要决策、用户的核心需求、达成的共识等。这个文件会随着交互自然增长,用户在对话中说"这个你记住",Agent 就会自动写入。值得注意的是,这个文件会越来越大,占用的 Token 也随之增加。定期精简是必要的,但换个角度看,这也是 Agent 的"成长过程"——交互越多,它对你的理解就越深。

YYYY-MM-DD.md:每日日志。 按日期自动生成的聊天记录,相当于每日的短期记忆。当 Agent 需要回溯近期对话细节时,会自动翻找对应日期的文件。不需要手动配置,日常使用中自动生成。

定时任务与工具扩展

除了六大核心文件,OpenClaw 还提供了两个扩展配置:

  • HEARTBEAT.md(心跳任务): 定时触发器。可以配置"每天早上 8 点查询天气并主动推送提醒"之类的周期性任务,让 Agent 具备主动发起交互的能力,而不是永远被动等待用户输入。
  • TOOLS.md(工具清单): 定义 Agent 可调用的外部能力——语音合成、图片生成、API 调用等。这决定了 Agent 的能力边界。

这套架构的真正价值

把 OpenClaw 的设计抽象来看,它做了一件很朴素但很实用的事:用文件系统代替了复杂的后端状态管理。身份、性格、记忆、用户画像,全部是可读可编辑的 Markdown 文件。这意味着不需要数据库,不需要写状态管理代码,甚至可以用 Git 做版本控制。

对独立开发者来说,这套思路的迁移性很强。无论你是在搭建客户服务 Agent、个人知识助手,还是任何需要"有记忆、有个性"的 AI 应用,OpenClaw 的六文件架构都提供了一个清晰的起点。目前这个方向还没有看到真正的壁垒,核心竞争力不在工具本身,而在于谁能基于这套机制构建出真正有粘性的应用场景。