openclaw2.角色设定和多agent配置
好的,我现在需要帮用户总结一篇文章的内容,控制在100字以内。首先,我得仔细阅读用户提供的文章内容,理解其主要信息。 文章主要讲的是OpenClaw中的Agent配置和多Agent管理。它提到了各种Markdown文件的作用,比如AGENTS.md定义工作流程,SOUL.md设定价值观,IDENTITY.md记录身份信息等。此外,还详细说明了多Agent的配置方法和应用场景,以及如何设置定时任务。 接下来,我需要将这些信息浓缩到100字以内。要抓住关键点:Agent的工作流程、角色设定、多Agent的优势和配置步骤、定时任务的设置方式。 可能的结构是:先介绍Agent的基本配置,然后提到多Agent的好处和使用场景,最后简要说明定时任务的三种方式。 确保语言简洁明了,不使用复杂的术语。同时避免使用“文章内容总结”之类的开头语,直接描述内容。 现在组织语言:OpenClaw中的Agent通过多个Markdown文件配置行为准则和角色设定。支持多Agent以避免上下文污染,并提供定时任务功能。 这样应该符合要求了。 </think> OpenClaw 中的 Agent 通过多个 Markdown 文件配置行为准则和角色设定,支持多 Agent 以避免上下文污染,并提供定时任务功能。 2026-3-23 12:2:0 Author: saucer-man.com(查看原文) 阅读量:0 收藏

文章最后更新时间为:2026年04月01日 22:27:16

1. agent角色设定

在workspace目录下保存了一堆md文件,这些文件记录着agent的行为准则、角色设定、工作模式等等。关于这些文件的初始模板可以阅读https://docs.openclaw.ai/zh-CN/reference/templates/

1.1 配置文件说明

文件作用
AGENTS.md定义工作流程。比如:启动时必须读哪些文件、如何记录记忆、在群聊中该怎么表现。
SOUL.mdagent价值观,定义了性格、沟通风格、价值观和底线(例如:严谨、不废话、不反驳主人)
IDENTITY.mdagent身份证,包含名字、物种、核心特征和标志性 Emoji
USER.md记录用户的信息(称呼、时区、偏好、职业背景)。
TOOLS.md记录当前agent所在机器信息(如:服务器IP、设备名称等)。
HEARTBEAT.md心跳任务,定义agent需要定期(如每30分钟)主动检查的任务(如:检查邮箱、天气预警)
MEMORY.md长期记忆,存储最重要的、跨度较长的信息(如重大项目、重要的技术结论)
memory/YYYY-MM-DD*.md每日日志,记录每一天发生的具体事件、对话摘要和临时要求

1.2 调用逻辑

这些md文档的加载逻辑写在AGENTS.md中: https://docs.openclaw.ai/zh-CN/reference/templates/AGENTS

  1. 当openclaw程序启动时,比如运行 openclaw gateway start/restart 时,会读取AGENTS.md。它定义了 Agent 的基本操作能力、文件映射规则、心跳检查逻辑等基础设施。如果修改了 AGENTS.md 中的核心逻辑(比如修改了 Heartbeat 的频率),通常需要gateway restart。
  2. 当一个新的session启动时,比如在channel中输入/new命令后,会串行读取四个文件SOUL.md, IDENTITY.md, USER.md, MEMORY.md, 以及最近两天的memory/YYYY-MM-DD.md。
  3. 在会话中会按需读取TOOLS.md和HEARTBEAT.md。

2. 多agent配置

2.1 多agent适用场景

对于openclaw会有很多不同的任务,比如总结新闻、逆向工具,不同的agent的人格特征和工作流都不一样,如果不同的任务使用同一个agent,还会造成上下文污染。总的来说多agent有以下好处

  1. 每个agent可以配置不同的人格和做事方法,工具调用权限和skills也可以单独配置
  2. 多agent可以解决上下文污染的问题,session和memory会相互隔离,
  3. 解决上下文超限的问题,有时候任务中间需要读取大文件并进行总结,此时该大文件会带在上下文中导致token超限,此时一般需要子agent去完成一些特定的事情,主agent只需要最终结果即可

2.2 多agent配置教程

首先创建一个新的telegram bot,用于和新的agent进行对话

2026-04-01T03:14:52.png

然后使用openclaw agents add --workspace /home/ubuntu/.openclaw/workspace-daily-news daily-news

ubuntu@ubuntu-openclaw:~$ openclaw agents add --workspace /home/ubuntu/.openclaw/workspace-daily-news daily-news

🦞 OpenClaw 2026.3.13 (61d171a) — I don't judge, but your missing API keys are absolutely judging you.

Config overwrite: /home/ubuntu/.openclaw/openclaw.json (sha256 c529fae23d399528835e05e36ef2f1978620bb9e07abebf055d62f80de8074a1 -> a3841d5bfeeb6a53618111dacb90537840f97e0f0d54cf9d9d29e5697a86b7de, backup=/home/ubuntu/.openclaw/openclaw.json.bak)
Updated ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace-daily-news
Sessions OK: ~/.openclaw/agents/daily-news/sessions
Agent: daily-news
Workspace: ~/.openclaw/workspace-daily-news
Agent dir: ~/.openclaw/agents/daily-news/agent

然后设置这个agent使用哪个模型,编辑openclaw.json,添加model字段

{
        "id": "daily-news",
        "name": "daily-news",
        "workspace": "/home/ubuntu/.openclaw/workspace-daily-news",
        "agentDir": "/home/ubuntu/.openclaw/agents/daily-news/agent",
        "model": "openrouter/google/gemini-3-flash-preview"
      }

给这个agent绑定bot,配置文件如下:

openclaw channels add --channel telegram --token <TOKEN> --account daily-news

openclaw agents bind --agent daily-news --bind telegram:daily-news

按需修改这个agent的SOUL.md, IDENTITY.md, USER.md,修改后重启gateway

测试
2026-04-01T05:20:25.png

3. 定时任务

openclaw有三种设置定时任务的方式:

  1. openclaw cron:内置的任务调度器。
  2. heartbeat.md:每个对话每隔30分钟会阅读一次heartbeat.md。看看有没有要处理的任务,此时只需要把任务描述写在里面即可
  3. linux系统自带的crontab

还是第一种比较适用于大部分场景,直接编辑.openclaw/cron/jobs.json文件即可

{
"jobs": [
  {
    "id": "daily-news",
    "name": "新闻同步",
    "schedule": {
      "expr": "*/30 * * * *",
      "kind": "cron",
      "tz": "Asia/Shanghai"
    },
    "payload": {
      "kind": "agentTurn",
      "message": "获取最新的信息安全行业新闻推送给主人。"
    },
    "agentId": "daily-news",
    "enabled": true,
    "delivery": {
        "channel": "telegram",
        "mode": "announce",
        "to": "10478xxx00"
    }
  }
],
"version": 1
}

文章来源: https://saucer-man.com/ai/1260.html
如有侵权请联系:admin#unsafe.sh