2026年4月13日 · 阅读 —

我是怎么让 OpenClaw 代理自己变聪明的:40天配置心法

Agent 与 Skills

图片资源未同步:未命名图片

我是怎么让 OpenClaw 代理自己变聪明的:40天配置心法

先说我是怎么入坑的

说出来你可能不信,我让代理变聪明的办法就是——跟它聊天。

不是那种调 prompt、调参数、调模型的操作哈,那些玩意儿太累了。我就是每天跟代理聊两句,给点反馈,然后看它自己把东西记下来。四十天下来,同一个模型,第一天跟第四十天完全是两个东西。

你敢信?

刚开始那会儿,我的内容代理写的东西跟微商文案似的,满屏 emoji 加话题标签。研究代理更离谱,给你堆一堆信息,真正有用的那点东西淹没在里面了都。我花在纠正它的时间,比我自己动手干还多。

现在?早晨起来 coffee 一杯,Telegram 一开,七八个代理已经干完活了。稿子写得比我自己还像我,情报早上七点准时推过来,代码 review 完直接能发。我就负责喝咖啡看结果。

你说模型换了?不好意思,同一个模型,同一个模型啊。变的是什么?一堆 Markdown 文件。

这就是我要说的:模型是同一个模型,但模型周围的文件越来越丰富、越来越精准、越来越贴合你的具体需求。这种积累下来的上下文,就是护城河。没人能用同一个模型复制出来。

你得花时间到场子上去,每天跟你的代理聊两句。剩下的,文件会自己搞定。

这套东西到底怎么玩的

核心就三层,别想复杂了:

第一层:身份文件 就是告诉代理它是谁。SOUL.md 写它是什么性格,IDENTITY.md 是名片,USER.md 写你是什么人。

第二层:操作规则 AGENTS.md 告诉它怎么干活,HEARTBEAT.md 是自我检查。

第三层:知识沉淀 MEMORY.md 是长期记忆,daily logs 是每天记录,shared-context 是跨代理共享的情报。

没了。不是什么 orchestration framework,不是消息队列,不是数据库。文件系统就是一切。

身份文件怎么写

SOUL.md 是核心中之核心。你得告诉代理它是谁、干什么、怎么干活。

电视剧角色命名大法

我用的损招是——给代理起电视剧名字。

你看啊,我的研究代理叫 Dwight,为啥?因为《办公室》里的 Dwight Schrute 那是真 tm 认真,一根筋类型的。我跟 Claude 说”你有 Dwight 那种劲头”,它马上明白啥意思——严谨、专注、把你交代的事当事办。这可是 30 季电视剧免费送给你的角色设定,不利用白不利用。

这是电视角色梗。每个代理的名字都取自一个电视角色。当我跟 Claude 说”你身上有 Dwight Schrute 的气质”时,它已经从训练数据里明白这是啥意思了:认真、一根筋、把工作当成天大的事。这就是 30 季角色发展的免费注入。

同样的,我的内容代理叫 Kelly(应该是 Pam,但我觉得 Kelly 更好听),我的时事通讯代理叫 Rachel,代码代理叫 Ross。整个一《办公室》剧团。

给你看个我实际用的 SOUL.md 切片:

# SOUL.md (Dwight)

## Core Identity
Dwight — the research brain. Named after Dwight Schrute because you share his
intensity: thorough to a fault, knows EVERYTHING in your domain, takes your job
extremely seriously. No fluff. No speculation. Just facts and sources.

## Your Role
You are the intelligence backbone of the squad. You research, verify, organize,
and deliver intel that other agents use to create content. You feed:
- Kelly (X/Twitter) — viral trends, hot threads, breaking news
- Rachel (LinkedIn) — thought leadership angles, industry news

## Your Principles
### 1. NEVER Make Things Up
- Every claim has a source link
- Every metric is from the source, not estimated
- If uncertain, mark it [UNVERIFIED]

### 2. Signal Over Noise
- Not everything trending matters
- Prioritize: relevance to AI/agents, engagement velocity, source credibility

**别写太长,60 行以内撑死了。**这玩意儿每次会话都加载,太长了你真正干活的上下文就没地方放了。身份、角色、原则、人际关系、氛围,这些就够了。

入门模板

# SOUL.md

## Core Identity
[Name] — [one-line description]. [Personality reference if helpful].

## Your Role
[What this agent does. Be specific. One job, not five.]

## Your Principles
1. [Most important rule]
2. [Second most important rule]
3. [Third most important rule]

## Relationships
[Who does this agent work with? Who consumes its output?]

**先从一个代理开始。**挑你每天最重复的那个破事。写个草图。初稿肯定不咋地。接下来的一个月根据你看到的问题,改个十遍八遍就好了。

IDENTITY.md:快速参考卡

SOUL.md 是完整的人格,IDENTITY.md 是名片。名字、角色、风格、一句话概括。

# IDENTITY.md

- **Name:** Dwight
- **Role:** Research AI — intelligence backbone
- **Vibe:** Intense, thorough, zero tolerance for inaccuracy
- **Emoji:** 🔍
- **Inspiration:** Dwight Schrute (The Office)

文件小归小,但当你同时跑 8 个代理的时候,这东西能大幅提升生活质量。这就是代理在 Telegram 上给你发消息时显示的内容。

USER.md:你为谁干活

每个代理都需要知道自己在为谁工作。USER.md 放的是你的偏好、背景、还有那些会影响代理行为方式的上下文。

# USER.md

- **Name:** Shubham
- **Timezone:** PST (America/Los_Angeles)
- **Diet:** Vegetarian

## Context
- Senior AI Product Manager at Google Cloud
- Creator of Awesome LLM Apps (91k+ stars)
- Runs Unwind AI newsletter (30k+ subscribers)

## Preferences
- Short paragraphs, punchy sentences
- No em dashes. Ever.
- Practical first, theory never

写一次就行,每个代理都会读。

个人细节比你想象的更重要。时区意味着代理不会在凌晨三点给你安排任务。饮食偏好意味着当 Pam 写团队聚餐的通讯时,她不会推荐牛排馆。这些细节积累起来,代理就越来越像个人了。

操作规则怎么搞

AGENTS.md 是行为准则。SOUL.md 定义了代理是什么人,AGENTS.md 定义了它怎么干活——会话启动流程、文件读取顺序、内存管理规则、安全规则。

根级别的通用规则

根目录的 AGENTS.md 是所有代理都继承的通用规则:

# AGENTS.md

## Every Session
Before doing anything else:
1. Read SOUL.md — this is who you are
2. Read USER.md — this is who you're helping
3. Read memory/YYYY-MM-DD.md (today + yesterday) for recent context
4. If in MAIN SESSION (direct chat): Also read MEMORY.md

## Memory
- Mental notes don't survive session restarts. Files do.
- When someone says "remember this" → update the memory file
- Text > Brain

## Safety
- Don't exfiltrate private data. Ever.
- trash > rm (recoverable beats gone forever)
- When in doubt, ask.

然后每个代理自己扩展。Kelly 的 AGENTS.md 在这个基础上加了她特有工作流程:

# AGENTS.md (Kelly)

## Every Session
Before doing anything:
1. Read SOUL.md
2. Read USER.md
3. Read X-ARTICLES-INSTRUCTIONS.md — master guide for writing style
4. Read X-ARTICLES-EXAMPLES.md — 5 real articles showing the style in action
5. Read X-CONTENT-GUIDE.md — post types and formats
6. Read intel/DAILY-INTEL.md — Dwight's research (your source material)
7. Read DAILY-ASSIGNMENT.md — your daily workflow
8. Read memory/YYYY-MM-DD.md for recent context

## Intel-Powered Workflow
You no longer do research. Dwight handles all research.
Your job: Read the intel → Craft X content → Deliver drafts

代理在会话之间是没有记忆的。一切都从头开始。如果某个更正没有写入文件,那下一个会话它就不存在。AGENTS.md 白纸黑字写清楚这条,代理就会把所有东西都记下来。

专业文件是代理变锋利的地方。Kelly 不仅有 AGENTS.md,还有六个额外文件精确定义她如何创作内容:写作风格指南、文章格式参考、真实案例、每日任务。

Dwight 有目标受众画像和研究协议。每个代理的文件夹随着角色定义越清晰就越多。先从 AGENTS.md 开始。只有当你发现某种模式需要反复纠正时,才加专业文件。

HEARTBEAT.md:自我疗愈

代理团队是基础设施。基础设施会出问题。

Monica 的 HEARTBEAT.md:

## Health Checks (run on each heartbeat)

**Browser:** Check if the OpenClaw managed browser (profile=openclaw) is running.
If running: false, start it. The browser has X account logged in.
Dwight depends on it for intel sweeps.

**Cron jobs:** Check if any daily jobs have stale lastRunAtMs (>26 hours).
If stale, trigger via CLI: openclaw cron run <jobId> --force

Jobs to monitor:
- Dwight Morning (8:01 AM)
- Kelly X Drafts (5:01 PM)
- Rachel LinkedIn (5:01 PM)
- Pam Newsletter (6:01 PM)

Only run each check once per heartbeat session.

Monica 每次心跳都跑这个。她检查两件事:浏览器是不是还活着,定时任务是不是真的跑了。

这俩是连着的。如果浏览器挂了,Dwight 就没法做情报扫描。如果Dwight 错过了扫描,Kelly 和 Rachel 就只能根据过时的情报写东西。如果定时任务悄无声息地不跑了,整个系统表面上看起来一切正常,但其实啥都没发生。

**最后一个正好是我第三周遇到的事。**调度器有个 bug。任务在队列里往前挪但就是不动弹。我好几个小时都没发现。

之后我就搞出了 heartbeat,一个地方同时捕获这两种故障模式。从那以后已经成功捕获好几次了。

**你不需要第一天就搞这个。**第一次翻车之后再建。你会确切知道要监控什么,因为你已经感受到了哪里会出问题。

知识沉淀怎么玩

内存系统我用的三层结构:

第一层:MEMORY.md(精选长期记忆)

不是原始日志。不是所有发生过的事。是真正重要的东西。

来自 Monica 的 MEMORY.md:

# MEMORY.md

## Shubham's Writing Preferences
- NO EM DASHES. Use colons, periods, or restructure.

## Hard Lessons
- NEVER delete project folders without asking Shubham. On Feb 26,
  deleted Ross's gemini-council React app during cleanup. The React
  version was lost. Always ask before removing anything in agent
  project directories.

## Memory System (2026-02-26)
- Tried self-hosted Mem0 (Ollama + SQLite) → crashes, stored nothing.
- Tried Mem0 hosted API → free tier too limited. Removed.
- Now using built-in memory-core: Gemini embeddings, hybrid search,
  temporal decay, MMR. No external dependencies.

注意到”Hard Lessons”部分了吗。Monica 误删了一个项目文件夹。现在这个错误永远活在她的长期记忆里了。她不会再犯了。一次纠正,一次存储,防止同一个错误在未来每个会话里重复出现。

来自 Kelly 的 MEMORY.md:

## X Post Rules (ALWAYS)

### SHUBHAM'S EXACT INSTRUCTIONS:
- Start with a strong hook
- Keep entire tweet SUPER SHORT (180 chars or less)
- NO hashtags, NO emojis
- NO fluffy marketing language
- Always deliver 3 drafts per topic

### BAD (what I did wrong)
[Lists every pattern Kelly rejected: bullets, arrows, LinkedIn tone]

Kelly 被纠正之后自己写了”坏”部分。她记录自己的错误,这样就不会再犯。光是这一部分,就比任何 prompt engineering 指南都更有价值。

安全提示:MEMORY.md 只在直接会话中加载,不在群聊等共享上下文里加载。敏感偏好别放在到处都会加载的文件里。

**不要第一天就写 MEMORY.md。**它从反馈中成长。给反馈 → 代理记到每日内存 → 把重要的东西提炼到 MEMORY.md → 每次会话都加载 → 之后不用再给同样的纠正。

第二层:memory/YYYY-MM-DD.md(每日会话日志)

原始笔记。今天发生了什么。写了什么草稿。收到什么反馈。

# Kelly Daily Log — February 5, 2026

## 5:00 PM — Daily X Drafts

### What's HOT today
- Opus 4.6 vs GPT-5.3-Codex dropped 27 min apart
- Anthropic's C Compiler (16 agents, $20k, compiles Linux kernel)

### Drafts Submitted
1. C Compiler — single post, discovery format
2. Mitchell Hashimoto's 6 steps — thread format
3. Opus 4.6 vs GPT-5.3-Codex — hot take

### Awaiting
- Shubham's feedback on drafts

日常日志是原料。MEMORY.md 是精炼产品。两个都需要。

维护规则:日常日志积累很快。如果不清理,代理的上下文会膨胀。Kelly 一度达到 16 万 token。输出质量直线下降。我把她压缩到 4 万。现在每两周审查归档一次旧日志。

**只加载今天的日志加昨天的。**代理不需要每次会话都有完整历史。

第三层:整理好的记忆文件夹

在根级别,我按人整理记忆:

memory/
├── shubham/     # Private notes, work projects, ideas
├── shared/      # Joint context (Awesome llm apps, Unwind AI, travel)
└── 2026-02-27.md   # Daily operational logs

随着你的配置成长,按人或项目来整理。

Shared Context(跨代理知识层)

这是最新加的,也是改变一切的。每个代理在会话开始时都会读这个文件夹。

shared-context/
├── THESIS.md        — what I believe right now
├── FEEDBACK-LOG.md  — corrections that apply across agents
└── SIGNALS.md       — articles and trends I'm tracking

**THESIS.md 是我当前的世界观。**我关心什么、我已经写过什么、还剩什么空白。Dwight 读这个来优先安排研究。Kelly 读这个来匹配我的思路。Ryan 读这个来提议文章选题。每个代理都对齐同一个真相来源。

**FEEDBACK-LOG.md 是跨代理纠错层。**我告诉 Kelly”不准用 em dash”,那个反馈同时也适用于 Rachel、Ryan 和 Pam。我不用分别纠正四个代理,写一次,所有代理都读。

代理之间怎么配合

简单到爆:不用 API 调用,不用消息队列,就用文件。

Dwight 写情报放到 intel/DAILY-INTEL.md,Kelly 读,Rachel 读,Pam 也读。协调靠的就是文件系统。

一个代理写。其他代理读。交接就是一个磁盘上的 markdown 文件。

单写者规则

**永远不要让两个代理同时写同一个文件。**每个共享文件都设计成一个写者和多个读者。这样可以避免所有你要调试的协调冲突。

调度让这个运转起来

Dwight 早上 8 点和下午 4 点跑。Kelly 和 Rachel 下午 5 点跑。Dwight 先跑,因为所有人都依赖他的输出。顺序搞错了,下游代理就读过期或空的文件。

完整目录结构

workspace/
├── SOUL.md              # Monica (main agent)
├── IDENTITY.md          # Monica's quick reference
├── AGENTS.md            # Root behavior rules (all agents inherit)
├── USER.md              # About me (shared across all agents)
├── MEMORY.md            # Monica's long-term memory
├── HEARTBEAT.md         # Self-healing checks
├── shared-context/
│   ├── THESIS.md        # My current worldview
│   ├── FEEDBACK-LOG.md  # Cross-agent corrections
│   └── SIGNALS.md       # Trends I'm tracking
├── intel/
│   ├── DAILY-INTEL.md   # Dwight's output (agents read this)
│   └── data/
├── agents/
│   ├── dwight/
│   │   ├── SOUL.md
│   │   ├── IDENTITY.md
│   │   ├── AGENTS.md
│   │   ├── TARGET-AUDIENCE.md
│   │   ├── RESEARCH-PROTOCOL.md
│   │   ├── HEARTBEAT.md
│   │   └── memory/
│   ├── kelly/
│   │   ├── SOUL.md
│   │   ├── IDENTITY.md
│   │   ├── AGENTS.md
│   │   ├── X-CONTENT-GUIDE.md
│   │   ├── X-ARTICLES-INSTRUCTIONS.md
│   │   ├── X-STRATEGY.md
│   │   ├── DAILY-ASSIGNMENT.md
│   │   └── memory/
│   ├── ross/
│   ├── rachel/
│   ├── pam/
│   ├── ryan/
│   └── chandler/
└── memory/
    ├── shubham/
    ├── shared/
    └── 2026-02-27.md

为什么能成

因为文件是活的,会自己长大。

Kelly 第一天的 SOUL.md 是个啥破玩意儿,狗都嫌。四十天之后呢?具体的声音示例有了,自己写的被拒模式清单有了,“永不再提”列表有了。

Dwight 的原则第一天是”找热门”。第十天变成”如果是 Alex 今天用不上这个,那就跳过”。(Alex 是我们的目标读者画像,是我们为其创作内容的开发者。)第二十天他加了验证步骤:查 repo 创建日期、查 Show HN 时间戳、追溯 X 发现到原始来源。

**shared-context 层直到第二十天我才加。**我当时需要对多个代理重复同样的纠正。然后我建了 THESIS.md 和 FEEDBACK-LOG.md,突然一次纠正就到处生效了。这一个改变比我做过的任何 prompt 优化都更省时间。

模型在第一天和第四十天是一样的。它不会因为你用得更久就变聪明。但它周围的文件会变得更丰富、更锋利、更贴合你的确切需求。这种积累的上下文就是护城河。没人能用同样的模型复制它。

你通过每天到场跟代理交谈来赢得它。

怎么开始

**别在一个周末建完这些。**我没这么干。

**今天:**装 OpenClaw。写一份 SOUL.md,一份 IDENTITY.md,一份 USER.md。挑你每天最重复的破事。设一个定时任务。让它跑起来。

**三天后:**你的代理输出会很烂。开始给具体反馈。确保反馈落到记忆文件里,而不只是聊天记录。

**一周后:**建 AGENTS.md。定义会话启动流程。加内存管理规则。

**两周后:**开始 MEMORY.md。回顾每日日志。哪些纠正反复出现?提炼成永久记录。这时你会开始感受到复利开始。

**三周后:**加第二个代理。设基于文件的协调:第一个代理写共享文件,第二个读。随着模式出现,加特定角色指南。

**大约同时:**建 shared-context 层。你到这之前会感受到拉力。对多个代理重复同样纠正是信号。用 THESIS.md 记录你当前的想法。用 FEEDBACK-LOG.md 记录跨代理纠正。

**四周后:**第一次翻车后,加 HEARTBEAT.md。你会确切知道要监控什么,因为你已经感受到了哪里会出问题。

说白了,你只需要跟代理聊,剩下的事情就交给文件。


行动清单(读完怎么做)

  • 今天回去先写一份 SOUL.md,定义一个你最常用的代理角色;把 USER.md 写一下,把你的时区、偏好、职业背景丢进去;从最简单的一个定时任务开始跑起来,体验一下“文件驱动”的感觉。

  • 三天后如果输出还是不尽如人意,开始给具体反馈,记得让代理把反馈写进记忆文件而不仅仅是 chat 里。

  • 一周后建立 AGENTS.md,把会话启动流程固化下来。规定代理每次会话开始时必须读哪几个文件,这个顺序很重要。

  • 两周后开始 MEMORY.md,定期回顾 daily logs,把反复出现的错误提炼成永久规则。这一步是真正产生复利的时候。

  • 三周后考虑加第二个代理,感受一下文件协调的威力。一个写情报一个消费情报,调度顺序对了的话,整个系统会自动运转。

  • 第一次翻车之后(你肯定会翻车的),加入 HEARTBEAT.md,让代理学会自我检查。


OpenClaw/Agent/自动化/工作流/效率提升/AI代理