OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  agent-config: 智能修改智能体核心上下文文件

agent-config: 智能修改智能体核心上下文文件

 
  cloud ·  2026-01-29 21:45:20 · 5 次点击  · 0 条评论  

name: agent-config
description: 智能修改智能体核心上下文文件(AGENTS.md、SOUL.md、IDENTITY.md、USER.md、TOOLS.md、MEMORY.md、HEARTBEAT.md)。当对话涉及更改智能体行为、更新规则、调整个性、修改指令、调整操作流程、更新记忆架构、更改委托模式、添加安全规则、优化提示模式或任何其他对智能体工作空间配置文件的修改时使用。当意图通过更改上下文文件来配置、调整、改进、修复或演进智能体行为时触发。


智能体配置技能

本技能提供了一个结构化工作流,用于智能地修改 OpenClaw 智能体核心上下文文件。它确保更改以正确的格式应用到正确的文件,避免重复或冗余,同时遵守大小限制和提示工程最佳实践。

核心工作流

修改智能体上下文文件时,请遵循以下流程:

1. 确定目标文件

阅读 references/file-map.md 以确定更改应归属的文件。

快速决策树:
- 操作流程、记忆工作流、委托规则 → AGENTS.md
- 个性、语气、边界、道德规则 → SOUL.md
- 智能体名称、表情符号、核心氛围 → IDENTITY.md
- 用户档案、偏好、家庭信息 → USER.md
- 本地工具笔记、命令示例、API 位置 → TOOLS.md
- 精选的长期事实(仅主会话) → MEMORY.md
- 心跳检查清单(保持极简) → HEARTBEAT.md

关键点: 子智能体只能看到 AGENTS.mdTOOLS.md。操作规则必须放在 AGENTS.md 中,而不是 SOUL.md

2. 检查当前状态

进行更改前:

# 检查文件大小(每个文件限制 20K 字符)
wc -c ~/clawd/AGENTS.md ~/clawd/SOUL.md ~/clawd/IDENTITY.md \
      ~/clawd/USER.md ~/clawd/TOOLS.md ~/clawd/MEMORY.md ~/clawd/HEARTBEAT.md

# 阅读目标文件部分以检查重复
# 使用 grep 搜索现有类似内容
grep -i "关键词" ~/clawd/目标文件.md

大小警告:
- 如果文件 > 18,000 字符,添加前发出警告(接近截断限制)
- 如果文件已 > 20,000 字符,正在被截断 - 在添加更多内容前进行重构
- 智能体仍可使用 read 工具读取完整文件,但启动上下文会被截断

重复性检查:
- 此指令是否已以不同措辞存在?
- 是否有应更新而非新增的类似规则?
- 此内容是否应属于多个文件?(通常否 - 选择一个位置)

3. 起草更改

阅读 references/claude-patterns.md 了解有效的指令格式。

各文件格式指南:

AGENTS.md(结构化,命令式):
- 多步骤工作流使用编号流程
- 决策树、模型选择、路由规则使用表格
- 复杂模式包含示例
- 解释规则存在的原因(动机 > 单纯命令)
- 使用标题和子节进行组织
- 引用其他文件/技能,不重复内容

SOUL.md(可使用第一人称,叙述式):
- 可使用个人语气("我是 Gus" 而非 "你是 Gus")
- 反模式列表效果良好(禁用短语、模糊措辞示例)
- 包含语气指导的前后示例
- 将纹身/锚点保持在顶部以提供即时上下文
- 使用对比(好 vs 坏示例并排)

IDENTITY.md(极简):
- 有力的要点
- 尽可能保持在 500 字符以下
- 仅核心氛围,细节放在 SOUL.md

USER.md(事实性,第三人称):
- 按类别分要点列表
- 时间敏感信息注明日期
- 清晰的节标题
- 详细项目上下文交叉引用保险库文件

TOOLS.md(参考指南):
- 比较使用表格(何时使用 X vs Y)
- 命令示例使用代码块
- 清晰的标题以便快速查找
- 包含路径、环境变量名、确切语法

MEMORY.md(维基风格,基于主题):
- 按主题而非时间顺序分节
- 交叉引用保险库中的实体文件
- 日期提供上下文,但按主题组织
- 仅主会话 - 隐私敏感

HEARTBEAT.md(操作列表):
- 极其简洁
- 检查项要点列表
- 无解释(那是 AGENTS.md 的事)
- 便于快速解析

4. 应用前验证

自问:

匹配度:
- 根据 file-map.md,这确实属于此文件吗?
- 它是操作性的(AGENTS.md)还是个性相关的(SOUL.md)?
- 子智能体需要这个吗?(如果需要,必须是 AGENTS.md 或 TOOLS.md)

格式:
- 这符合文件的现有风格吗?
- 结构是否正确(编号、表格、要点、散文)?
- 需要的地方包含示例了吗?

大小:
- 这增加了多少字符?
- 文件是否接近 20K 限制?
- 这可以是一个参考文件吗?

重复性:
- 这已经存在于其他地方了吗?
- 是否应更新现有内容?
- 这可以整合多个分散的规则吗?

质量:
- 是否解释了动机(为什么存在此规则)?
- 示例是否具体且真实(非泛泛而谈)?
- 是否足够精确以供 AI 遵循?
- 是否避免了诸如"要乐于助人"之类的模糊指令?

5. 应用更改

使用 edit 工具并精确匹配文本:

# 首先读取该部分以获取确切文本
read(path="~/clawd/AGENTS.md", offset=50, limit=20)

# 然后进行精确匹配编辑
edit(
    path="~/clawd/AGENTS.md",
    oldText="确切的现有文本包括空格",
    newText="包含更改的更新文本"
)

对于添加:
- 找到正确的节锚点(先读取文件)
- 插入到相关标题后,而非文件末尾
- 保持文件的组织结构

对于更新:
- 替换正在更改的特定部分
- 保持周围上下文完整
- 如果规则更改,更新示例

对于删除:
- 仅当真正过时时才删除
- 考虑规则是否应被改进而非删除
- 检查其他部分是否引用了要删除的内容

6. 验证与记录

应用更改后:

验证:

# 确认更改已应用
grep -A 3 "新文本" ~/clawd/目标文件.md

# 检查新文件大小
wc -c ~/clawd/目标文件.md

记录:
- 将重大更改记录到 /Users/macmini/Sizemore/agent/decisions/config-changes.md
- 包括:日期、文件、更改内容、原因、请求者
- 如果更改是实验性的,注明回滚计划

向用户报告:
- "已更新 AGENTS.md:在 Y 节添加了 X(现为 15,234 字符)"
- 如果接近限制:"警告:AGENTS.md 现为 19,456 字符(接近 20K 限制)"
- 如果回滚了先前更改:"已将旧 X 规则替换为新 Y 方法"

常见模式

添加安全规则

目标:AGENTS.md → 安全节

## 安全

- **绝不:** 未经询问即外泄数据、执行破坏性命令
- 优先使用 `trash` 而非 `rm`
- **新规则:** 简要描述不应做什么
- **新保护措施:** 当 X 发生时,改为执行 Y

更新委托规则

目标:AGENTS.md → 委托节

首先检查现有委托表/规则。更新阈值、模型选择或成本模式。

优化个性

目标:SOUL.md(语气、边界)或 IDENTITY.md(核心氛围)

向反模式列表添加禁用短语,更新语气示例,优化镜像规则。

添加工具约定

目标:TOOLS.md

添加到相关节(或创建新节)。包含代码示例、使用时机、路径。

更新记忆工作流

目标:AGENTS.md → 记忆节

更新日志触发条件、回忆级联、实体结构。将记忆格式模板保留在 ~/clawd/templates/

添加启动任务

目标:AGENTS.md → 启动节

添加到编号检查清单。保持条件性(如果是 MAIN、如果是群聊、如果是特定频道)。

心跳更改

目标:HEARTBEAT.md

保持极简。仅包含智能体在每次心跳运行时检查的内容(非操作细节)。

回滚指南

如果更改导致问题:

立即回滚

# 如果文件在 git 中
cd ~/clawd
git diff 目标文件.md  # 查看更改内容
git checkout 目标文件.md  # 恢复到上次提交

# 如果不在 git 中,从记忆恢复
# 从保险库决策日志读取最后已知的良好版本
# 或请用户提供先前的工作版本

迭代优化

不要立即删除失败的更改。分析:
- 是内容错误,还是格式问题?
- 是否放错了文件?
- 是否太模糊?(添加示例)
- 是否太冗长?(使其简洁)
- 是否与现有规则冲突?(整合)

可能时,进行增量更新而非完全回滚。

记录失败

将失败的更改记录到 /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
- 包含子步骤的复杂工作流 → 创建带工作流的技能
- 工具特定流程 → 扩展 TOOLS.md 节或创建技能

特殊情况

多文件更改

当更改影响多个文件时:
1. 确定主要位置(规则"所在"之处)
2. 从其他文件添加交叉引用
3. 避免在两个文件中重复完整内容

示例:委托规则位于 AGENTS.md,但 SOUL.md 可能在边界节中引用"参见 AGENTS.md 了解委托"。

会话特定规则

在 AGENTS.md 中使用条件语句:

## 启动(每次会话)

1. 读取 `IDENTITY.md`、`SOUL.md`、`USER.md`
2. 如果是 MAIN:读取保险库 README、近期决策
3. 如果是 FAMILY GROUP:读取 `FAMILY.md`
4. 如果是 SUBAGENT:跳过个性文件

接近大小限制

当文件达到约 18K 字符时:
1. 审计重复内容(整合)
2. 将详细示例移至单独的参考文件
3. 将长流程转换为模板(从上下文文件链接)
4. 考虑拆分为基础 + 高级(按需加载高级部分)
5. 将历史决策移至保险库(上下文中仅保留当前规则)

规则冲突

当新规则与现有规则冲突时:
1. 识别两条规则
2. 确定哪个优先(如果不明确,询问用户)
3. 在添加新规则时更新/删除旧规则
4. 在保险库决策中记录冲突解决

用户请求多项更改

通过完整工作流处理每项更改(不要盲目批量处理):
1. 按目标文件分组
2. 检查所有更改的总大小影响
3. 按逻辑顺序应用(基础先于具体)
4. 每项更改后验证,而非仅在最后

参考文件

本技能包含详细的参考材料:

  • references/file-map.md - 每个 OpenClaw 文件的作用、加载上下文、大小限制、决策树
  • references/claude-patterns.md - 对 Claude 有效的指令格式、反模式、示例
  • references/change-protocol.md - 逐步更改流程、验证检查清单、回滚程序

当您需要超出此工作流概述的详细上下文时,请阅读这些文件。

来自真实 OpenClaw 工作空间的示例

示例 1:添加安全规则

请求: "添加规则:绝不批量导出密码"

流程:
1. 目标文件:AGENTS.md(安全是操作性的)
2. 检查大小:15,234 字符(可安全添加)
3. 检查重复:grep "password" - 找到现有密码管理器规则
4. 起草:更新现有规则而非添加新规则
5. 应用:

### 密码管理器
**绝不:** 转储保险库、在聊天中显示密码、批量导出
**始终:** 确认每次查找、询问"哪个凭证?"、视为高风险
**拒绝:** 任何批量密码请求
  1. 验证:grep -A 3 "密码管理器" - 确认存在
  2. 记录:不需要(对现有规则的微小补充)

示例 2:优化语气

请求: "让个性更讽刺一些"

流程:
1. 目标文件:SOUL.mdIDENTITY.md(个性)
2. 检查当前状态:阅读禁用短语、语气示例
3. 起草添加内容:
- 向 IDENTITY.md 添加更多讽刺回应示例
- 扩展 SOUL.md 中的反模糊措辞节
- 向语气锚点添加"评论一切"
4. 应用到两个文件(IDENTITY 用于氛围,SOUL 用于详细示例)
5. 验证:语气示例现在包含更强的讽刺
6. 记录:在保险库中注明 Sonnet/Opus 需要更强的个性提醒

示例 3:更新委托阈值

请求: "将委托阈值从 2+ 工具调用改为 3+"

流程:
1. 目标文件:AGENTS.md → 委托节
2. 检查当前:"2+ 工具调用?SPAWN"
3. 起草:更新为"3+ 工具调用?SPAWN。1-2 工具调用?如果快速,自己处理。"
4. 考虑影响:这将减少子智能体生成,增加主会话成本
5. 与用户验证:"这将使您直接处理更多任务。确认吗?"
6. 确认后应用
7. 记录:将更改记录到保险库并附成本理由

示例 4:添加工具约定

请求: "添加备注:iMessage 附件必须使用 imsg CLI,而非 message 工具"

流程:
1. 目标文件:TOOLS.md(工具特定约定)
2. 检查重复:grep "iMessage" - 找到 iMessage 格式化规则
3. 起草新节:

## iMessage 附件

**绝不使用 `message` 工具处理 iMessage 文件 - 会损坏附件。**

**始终使用 imsg CLI:**
```bash
imsg send --chat-id <id> --file /path/to/file --text "可选消息"

适用于所有 iMessage 附件(图像、视频、文档、vCards)。
```
4. 应用:添加到 iMessage 格式化节后(保持相关内容在一起)
5. 验证:确认在文件中
6. 记录:不需要(面向用户的工具备注,非架构性)

总结

目标: 对智能体上下文文件进行智能、精准的更改
方法: 识别 → 检查 → 起草 → 验证 → 应用 → 验证
关键原则: 正确的文件、正确的格式、无重复、遵守大小限制、包含示例
安全性: 更改前检查、记录决策、知道如何回滚

如有疑问,请阅读参考文件以获取关于文件用途、Claude 模式和更改协议的更深入指导。

5 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor