☰
AGENTS.md、SOUL.md、BOOTSTRAP.md是什么?build-your-own-openclaw工作区文件设计完全解读
2026/10/10 14:30:07 网站建设 项目流程
  • 示例工程

【免费下载链接】build-your-own-openclaw

A step-by-step guide to build your own AI agent.

项目地址:https://gitcode.com/gh_mirrors/bu/build-your-own-openclaw
点击查看免费下载

在开源教程build-your-own-openclaw中,AGENTS.md、SOUL.md、BOOTSTRAP.md三个 Markdown 文件构成了 AI Agent 工作区的核心设计:它们分别定义智能体名册、角色性格和工作区地图,并会在运行时自动拼装成系统提示。本文将带你从零看懂这套工作区文件设计,理解为什么纯文本文件就能让 AI 智能体"认识自己、认识队友、认识环境"。

📁 什么是"工作区"?先认识 default_workspace 目录

这套教程用 default_workspace/ 目录模拟一个真实的智能体工作区,所有"配置文件"都是人类可直接编辑的 Markdown 和 YAML:

default_workspace/ ├── AGENTS.md # 智能体名册 + 任务调度规则 ├── BOOTSTRAP.md # 工作区地图(目录结构、路径模板) ├── config.example.yaml # 用户配置模板(模型、API 密钥等) ├── agents/ │ ├── pickle/ │ │ ├── AGENT.md # 智能体配置与操作指令 │ │ └── SOUL.md # 智能体性格 │ └── cookie/ │ ├── AGENT.md │ └── SOUL.md └── skills/ └── cron-ops/SKILL.md # 可复用技能定义

这个结构在 default_workspace/BOOTSTRAP.md 中有完整说明,配合 default_workspace/config.example.yaml 使用:复制为config.user.yaml填入 API 密钥即可运行。

⚠️ 注意区分:根目录的AGENTS.md是"团队名册",而每个智能体文件夹里的AGENT.md(单数)才是该智能体自己的"身份证 + 操作手册"。

🤖 AGENT.md + SOUL.md:身份与性格的"双层设计"

以默认智能体 Pickle 为例,看两个文件如何分工:

1️⃣ AGENT.md —— 配置文件 + 操作手册

default_workspace/agents/pickle/AGENT.md 由两部分组成:

部分内容作用
YAML Frontmattername、description、llm(temperature 等)、allow_skills机器可读:程序据此加载配置
Markdown 正文角色设定、Capabilities、行为准则注入系统提示的身份层

程序入口是 13-multi-layer-prompts/src/mybot/core/agent_loader.py 中的AgentLoader:扫描agents/目录、解析 Frontmatter、把llm配置与全局默认值合并,得到可运行的AgentDef。

2️⃣ SOUL.md —— 只写"性格"的一层

default_workspace/agents/pickle/SOUL.md 只有一句话:"You are Pickle, a friendly cat assistant... 温暖、真诚,带一点猫的小动作,但不过度卖萌。"

为什么单独拆出来?因为性格是可选层,且需要保持稳定。AgentDef中soul_md字段默认空值,运行时才拼接为## Personality段落。这样你可以随时改性格而不动配置,也让同一个工作区能容纳风格迥异的智能体:

  • Pickle(SOUL.md):友好的猫咪助手,temperature 0.7,负责日常对话
  • Cookie(AGENT.md、SOUL.md):精确高效的记忆管理员,temperature 0.3,从不直接面对用户,只接收 Pickle 派发的任务

🗺️ BOOTSTRAP.md:智能体的"工作区地图"

default_workspace/BOOTSTRAP.md 回答三个问题:东西放在哪?目录长什么样?每个文件干什么?

  • 路径模板:{{workspace}}、{{skills_path}}、{{memories_path}}、{{agents_path}}等占位符,在加载时由PromptBuilder._substitute_paths()替换为真实路径(见 13-multi-layer-prompts/src/mybot/core/prompt_builder.py)
  • 目录结构:agents / skills / crons / memories 四大子目录,memories 又分topics/(永恒事实)、projects/(项目上下文)、daily-notes/(每日事件)
  • 文件用途速查表:明确写出AGENT.md管配置、SOUL.md管性格、SKILL.md管技能、config.user.yaml管用户偏好

它就像新员工入职手册——智能体启动时"看一眼地图",就知道去哪里找技能、去哪里读写记忆。

📋 AGENTS.md:智能体名册与调度规则

default_workspace/AGENTS.md 是工作区根目录的"团队公告栏",内容极简但关键:

章节内容
Agents 表格pickle(默认对话)和 cookie(记忆管理)的职责一览
When to Dispatch什么时候该把任务派给专用智能体(存记忆、查记忆、拿不准时先问用户)
Syntax & Examplessubagent_dispatch(agent_id, task)的调用方式与典型示例

它解决的正是多智能体协作的核心问题:主智能体如何知道"谁存在、谁擅长什么、什么场景该找谁"。配合 15-agent-dispatch/README.zh.md 中的调度实现,Pickle 遇到"记住这件事"就会自动派单给 Cookie,而 Cookie 的完整记忆结构定义则写在 17-memory/README.zh.md 的记忆体系中。

🔥 运行时:三层文件如何变成系统提示

在步骤 13(13-multi-layer-prompts/README.zh.md)中,PromptBuilder.build()把系统提示组装成 5 层,本文的主角全部登场:

层来源说明
Layer 1 身份AGENT.md正文"你是谁、能做什么、行为准则"
Layer 2 性格SOUL.md(可选)拼接为## Personality
Layer 3 引导上下文BOOTSTRAP.md+AGENTS.md+ 定时任务列表工作区地图 + 智能体名册,占位符替换为真实路径
Layer 4 运行时代码生成当前 agent id 与时间戳
Layer 5 渠道提示代码生成来自 Telegram / 后台 cron / 被调度子智能体

五层用空行拼接后,就是发给 LLM 的完整 system prompt——这就是"多层提示"设计的精髓:每层文件各司其职,改一处不影响其他层。

💡 设计要点小结

  1. 纯 Markdown 即可驱动 Agent:Frontmatter 给机器读,正文给 LLM 读,用户改文件无需改代码
  2. 关注点分离:配置(AGENT.md)、性格(SOUL.md)、环境(BOOTSTRAP.md)、协作(AGENTS.md)互不耦合
  3. 渐进式加载:SOUL.md缺失则跳过性格层;BOOTSTRAP.md/AGENTS.md不存在则引导上下文为空,程序依然能跑
  4. 占位符解耦:{{memories_path}}让同一份 cookie/AGENT.md 在不同部署路径下无需修改

🧭 相关文件速查

文件说明
default_workspace/AGENTS.md智能体名册与调度规则
default_workspace/BOOTSTRAP.md工作区目录地图与路径模板
default_workspace/agents/pickle/AGENT.md默认智能体配置示例
default_workspace/agents/pickle/SOUL.md默认智能体性格示例
default_workspace/agents/cookie/AGENT.md记忆管理智能体配置
default_workspace/skills/cron-ops/SKILL.md同类设计的技能文件参考
13-multi-layer-prompts/src/mybot/core/prompt_builder.py多层提示拼装源码
13-multi-layer-prompts/src/mybot/core/agent_loader.pyAGENT.md / SOUL.md 加载源码

想动手体验?clone 仓库后将default_workspace/config.example.yaml复制为config.user.yaml填入 API 密钥,进入13-multi-layer-prompts目录启动uv run my-bot chat,问一句"我们在哪聊天、现在几点",即可亲眼看到渠道提示层生效;再到17-memory目录说"记住我的名字",就能观察到 AGENTS.md 名册 + Cookie 记忆体系的完整协作。

  • 示例工程

【免费下载链接】build-your-own-openclaw

A step-by-step guide to build your own AI agent.

项目地址:https://gitcode.com/gh_mirrors/bu/build-your-own-openclaw
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询