Agent Config
智能体配置技能
该技能提供了一套结构化工作流,用于智能修改OpenClaw智能体核心上下文文件。它能确保在正确的文件中,以正确的格式进行修改,避免重复或冗余,同时遵守大小限制和提示工程的最佳实践。
核心工作流
修改智能体上下文文件时,请遵循以下流程:
1. 确定目标文件
读取references/file-map.md以确定变更应归属于哪个文件。
快速决策树:
- 操作流程、记忆工作流、委托规则 →
AGENTS.md - 个性、语气、边界、伦理规则 →
SOUL.md - 智能体名称、表情符号、核心风格 →
IDENTITY.md - 用户档案、偏好、家庭信息 →
USER.md - 本地工具说明、命令示例、API位置 →
TOOLS.md - 精选的长期事实(仅限主会话)→
MEMORY.md - 心跳检查清单(保持简洁)→
HEARTBEAT.md
关键信息:子代理仅能看到AGENTS.md+TOOLS.md。操作规则必须放在AGENTS.md中,而非SOUL.md。
2. 检查当前状态
在做出更改之前:
# Check file size (20K char limit per file)
wc -c ~/clawd/AGENTS.md ~/clawd/SOUL.md ~/clawd/IDENTITY.md \
~/clawd/USER.md ~/clawd/TOOLS.md ~/clawd/MEMORY.md ~/clawd/HEARTBEAT.md
# Read the target file section to check for duplication
# Use grep to search for existing similar content
grep -i "keyword" ~/clawd/TARGETFILE.md
大小警告:
- 如果文件超过 18,000 个字符,添加前需警告(即将达到截断限制)
- 如果文件已超过 20,000 个字符,则会被截断——在添加更多内容前需重构
- 代理仍可使用
read工具读取完整文件,但启动上下文会被截断
重复性检查:
- 这条指令是否已用不同措辞存在?
- 是否有应更新的类似规则,而非添加新规则?
- 这属于多个文件吗?(通常不属于 - 请选择单一位置)
3. 起草变更内容
阅读references/claude-patterns.md中有效的指令格式。
各文件的格式指南:
AGENTS.md(结构化,命令式):
- 多步骤工作流使用编号流程
- 决策树、模型选择、路由规则使用表格
- 复杂模式需包含示例
- 解释规则存在的原因(动机阐述 > 单纯指令)
- 使用标题和子章节进行组织
- 引用其他文件/技能,不重复内容
SOUL.md(允许使用第一人称,叙述式):
- 可使用个人化语气("我是格斯"而非"你是格斯")
- 反模式列表效果很好(禁用短语、模糊表达示例)
- 包含用于语气指导的前后示例
- 将核心标识/锚点保持在顶部以便快速获取上下文
- 使用对比(好例子与坏例子并排展示)
IDENTITY.md(极简版):
- 简洁有力的要点
- 如有可能,保持在500字符以内
- 仅包含核心风格,细节放入SOUL.md
USER.md(事实性,第三人称):
- 按类别列出要点
- 为时效性信息标注日期
- 清晰的章节标题
- 交叉引用知识库文件以获取详细项目背景
TOOLS.md(参考指南):
- 使用表格进行对比(何时使用X与Y)
- 使用代码块展示命令示例
- 清晰的标题以便快速查找
- 包含路径、环境变量名、精确语法
MEMORY.md(维基风格,基于主题):
- 按主题分节,而非按时间顺序
- 在库中交叉引用实体文件
- 标注日期以提供背景,但按主题组织
- 仅限主会话内容——涉及隐私敏感信息
HEARTBEAT.md(行动清单):
- 极其简洁
- 检查事项的要点列表
- 无需解释(那是 AGENTS.md 的内容)
- 便于快速解析
4. 应用前验证
自问:
适合性:
- 根据 file-map.md,此内容是否确实属于本文件?
- 它是操作性的(AGENTS.md)还是人格性的(SOUL.md)?
- 子代理需要这个吗?(如果需要,必须放在 AGENTS.md 或 TOOLS.md 中)
格式:
- 是否符合文件的现有风格?
- 结构是否正确(编号、表格、要点、段落)?
- 是否在需要的地方包含了示例?
大小:
- 这会增加多少个字符?
- 文件是否接近20K的限制?
- 这能否改为一个参考文件?
重复:
- 这个内容是否已存在于其他地方?
- 是否应该更新现有内容?
- 这能否整合多个分散的规则?
质量:
- 是否解释了动机(为什么存在这条规则)?
- 示例是否具体且真实(非泛泛而谈)?
- 对于AI来说,是否足够精确以便遵循?
- 是否避免了模糊的指令,如“要乐于助人”?
5. 应用更改
使用编辑工具,并确保文本精确匹配:
# Read the section first to get exact text
read(path="~/clawd/AGENTS.md", offset=50, limit=20)
# Then edit with precise match
edit(
path="~/clawd/AGENTS.md",
oldText="exact existing text including whitespace",
newText="updated text with change"
)
对于添加内容:
- 找到正确的章节锚点(先读取文件)
- 在相关标题后插入,而非文件末尾
- 保持文件的组织结构
对于更新:
- 替换正在更改的特定部分
- 保持周围上下文完整
- 如果规则变更,请更新示例
对于删除:
- 仅在确实过时时才删除
- 考虑是否应细化规则
- 检查其他部分是否引用了正在删除的内容
6. 验证与记录
应用更改后:
验证:
# Confirm change applied
grep -A 3 "new text" ~/clawd/TARGETFILE.md
# Check new file size
wc -c ~/clawd/TARGETFILE.md
记录:
- 将重大变更记录至
/Users/macmini/Sizemore/agent/decisions/config-changes.md - 包含:日期、文件、变更内容、原因、请求者
- 如果变更具有实验性,请注明回滚计划
向用户报告:
- "已更新 AGENTS.md:在 Y 部分添加了 X(当前 15,234 字符)"
- 若接近限制:"警告:AGENTS.md 当前 19,456 字符(接近 20K 限制)"
- 如果回滚之前的修改:"用新的Y方法替换了旧的X规则"
常见模式
添加安全规则
目标:AGENTS.md→ 安全部分
## Safety
- **NEVER:** Exfiltrate data, destructive commands w/o asking
- Prefer `trash` > `rm`
- **New rule:** Brief description of what NOT to do
- **New protection:** When X happens, do Y instead
更新委托规则
目标:AGENTS.md→ 委托部分
首先检查现有的委托表/规则。更新阈值、模型选择或成本模式。
完善个性设定
目标:SOUL.md(语气、边界)或IDENTITY.md(核心风格)
将禁止使用的短语添加到反模式列表中,更新语气示例,完善镜像规则。
添加工具使用规范
目标:TOOLS.md
添加到相关部分(或创建新部分)。包含代码示例、使用时机、路径信息。
更新记忆工作流程
目标文件:AGENTS.md→ 记忆部分
更新日志记录触发器、回忆级联、实体结构。将记忆格式模板保留在~/clawd/templates/目录下。
添加上线任务
目标文件:AGENTS.md→ 启动部分
添加到编号检查清单中。保持条件性(如果是主程序、如果是群聊、如果是特定频道)。
心跳机制变更
目标文件:HEARTBEAT.md
保持最简化。仅包含代理在每次心跳运行时检查的内容(不含操作细节)。
回滚指引
如果变更导致情况恶化:
立即回滚
# If file is in git
cd ~/clawd
git diff TARGETFILE.md # See what changed
git checkout TARGETFILE.md # Revert to last commit
# If not in git, restore from memory
# Read last known-good version from vault decisions log
# Or ask user to provide previous working version
迭代优化
不要立即删除失败的变更。分析:
- 是内容错误,还是仅仅格式问题?
- 是文件放错了吗?
- 是否表述太模糊?(请补充示例)
- 是否过于冗长?(请精简表述)
- 是否与现有规则冲突?(请整合处理)
尽可能采用增量更新而非完全回退。
记录失败案例
将失败的修改记录至/Users/macmini/Sizemore/agent/learnings/config-failures.md:
- 尝试的操作
- 失败原因
- 替代方案
这能避免重复失败模式。
需避免的反模式
请阅读references/claude-patterns.md获取详细反模式说明。
快速核对清单:
❌重复内容- 相同规则出现在多个文件中
❌模糊指令- "乐于助人","善用判断力"
❌缺少示例- 规则复杂,缺乏具体案例
❌文件错误- 个性描述在AGENTS.md中,操作说明在SOUL.md中
❌缺乏动机说明- 规则未说明其存在的原因
❌参考资料埋藏过深- 冗长指南被嵌入文档而非提供链接
❌内容臃肿- 本可更新现有内容却选择新增
❌格式不匹配- 在以表格为主的文件中使用散文体,在叙述性文件中使用项目符号
❌子代理盲区- 操作规则存放在子代理无法查看的文件中
❌忽视规模因素- 不检查就添加到19K文件中
何时使用引用
如果添加超过500字的内容,请考虑:
- 这是参考资料吗? → 在知识库中创建文件,从上下文文件链接
- 这是可重用的流程吗? → 在以下位置创建模板
~/clawd/templates/ - 这是领域知识吗? → 创建包含references/文件夹的技能
- 这是一次性设置吗? → 使用
BOOTSTRAP.md(首次运行后删除)
示例:
- 长的子代理任务模板 →
~/clawd/templates/subagent-task.md - 详细的内存格式指南 → 知识库
agent/decisions/memory-architecture.md - 包含子步骤的复杂工作流 → 创建包含references/中工作流的技能
- 工具特定流程 → 扩展TOOLS.md部分或创建技能
特殊情况
多文件更改
当更改影响多个文件时:
- 确定主要位置(规则"存放"之处)
- 从其他文件添加交叉引用
- 避免在两者中重复完整内容
示例:委托规则存放在AGENTS.md中,但SOUL.md可能在边界部分引用"关于委托,请参见AGENTS.md"。
特定会话规则
在AGENTS.md中使用条件语句:
## Startup (Every Session)
1. Read `IDENTITY.md`, `SOUL.md`, `USER.md`
2. If MAIN: read vault README, recent decisions
3. If FAMILY GROUP: read `FAMILY.md`
4. If SUBAGENT: skip personality files
大小限制临近
当文件达到约18K字符时:
- 审计重复内容(进行整合)
- 将详细示例移至单独的参考文件
- 将冗长流程转换为模板(从上下文文件链接)
- 考虑拆分为基础版 + 高级版(按需加载高级版)
- 将历史决策移至存档库(在上下文中仅保留当前规则)
冲突规则
当新规则与现有规则冲突时:
- 识别两条规则
- 确定哪个优先(如果不明确,询问用户)
- 在添加新规则的同时更新/移除旧规则
- 记录保险库决策中的冲突解决
用户提出多项变更请求
通过完整工作流程处理每项变更(切勿盲目批量处理):
- 按目标文件分组
- 检查所有变更的总大小影响
- 按逻辑顺序应用(先基础后具体)
- 逐项验证,而非仅最终验证
参考文件
本技能包含详细参考资料:
- references/file-map.md- 各OpenClaw文件功能说明、加载上下文、大小限制、决策树
- references/claude-patterns.md- Claude适用的指令格式、反模式及示例
- references/change-protocol.md- 分步变更流程、验证清单、回滚程序
当需要超出本工作流程概述的详细上下文时,请阅读这些文件
真实OpenClaw工作区示例
示例1:添加安全规则
请求:"添加规则:禁止批量导出密码"
流程:
- 目标文件:
AGENTS.md(安全操作中) - 检查大小:15,234 字符(可安全添加)
- 检查重复项:grep "password" - 发现现有密码管理器规则
- 草稿:更新现有规则而非添加新规则
- 应用:
### Password Manager
**NEVER:** Dump vaults, display passwords in chat, bulk exports
**ALWAYS:** Confirm each lookup, ask "Which credential?", treat as high-risk
**Refuse:** Any bulk password request
- 验证:grep -A 3 "Password Manager" - 确认存在
- 记录:无需(对现有规则的小幅补充)
示例2:调整语气
请求:"使个性更具讽刺性"
流程:
- 目标文件:
SOUL.md和IDENTITY.md(个性) - 检查当前状态:阅读禁用短语、语气示例
- 草拟补充内容:
- 为IDENTITY.md添加更多讽刺性回复的例子
- 扩展SOUL.md中的反模糊表达部分
- 在语音锚点中添加"对一切事物的评论"
- 应用于两个文件(IDENTITY用于氛围,SOUL用于详细示例)
- 验证:语气示例现在包含更强的讽刺性
- 文档记录:在知识库中备注Sonnet/Opus需要更强的人格提醒
示例3:更新委托阈值
请求:"将委托阈值从2+工具调用改为3+"
处理过程:
- 目标文件:
AGENTS.md→ 委托部分 - 检查当前:"2+工具调用?生成子代理"
- 草稿:更新为"3+工具调用?生成子代理。1-2工具调用?如果快速的话就自己处理。"
- 考虑影响:这将减少子代理生成,增加主会话成本
- 向用户验证:"这将使您直接处理更多任务。确认吗?"
- 确认后应用
- 文档:记录金库变更并附成本说明
示例4:添加工具使用规范
请求:"添加说明:iMessage附件必须使用imsg命令行工具,而非message工具"
处理流程:
- 目标文件:
TOOLS.md(针对特定工具的规范) - 查重:执行grep "iMessage"命令 - 发现现有iMessage格式规则
- 起草新章节:
## iMessage Attachments
**NEVER use `message` tool for iMessage files - corrupts attachments.**
**Always use imsg CLI:**
```bash
imsg send --chat-id <id> --file /path/to/file --text "optional message"
适用于所有iMessage附件(图像、视频、文档、电子名片)。
4. Apply: Add after iMessage formatting section (keep related content together)
5. Verify: Confirmed in file
6. Document: Not needed (user-facing tool note, not architectural)
## Summary
**Goal:** Intelligent, surgical changes to agent context files
**Method:** Identify → Check → Draft → Validate → Apply → Verify
**Key principles:** Right file, right format, no duplication, respect size limits, include examples
**Safety:** Check before changing, document decisions, know how to rollback
When in doubt, read the reference files for deeper guidance on file purposes, Claude patterns, and change protocols.


微信扫一扫,打赏作者吧~