当前位置:首页 > 技术分享 > 正文内容

AGENTS.md 截断规则深度解析——中文用户如何避免规则丢失

Openclaw1个月前 (06-22)技术分享145
AGENTS.md 截断规则深度解析

2026-06-22 · 技术分享 · #OpenClaw #AGENTS.md

一、问题的由来

很多 OpenClaw 用户发现,自己的 AGENTS.md 文件明明写了不少规则,但跑着跑着就「失忆」了——Agent 的行为开始偏离设定。这不是玄学,而是截断规则在作祟。

OpenClaw 的 bootstrap 文件(AGENTS.mdSOUL.mdMEMORY.md 等)都有总长度 60000 字符、单个文件 20000 字符的上限。一旦超限,就会触发截断。但 AGENTS.md 的截断方式与其他文件完全不同——而且这个差异,对中文用户尤其不友好。

本文将深入分析 AGENTS.md 的截断机制,并给出针对中文用户的优化方案。

二、截断规则对比

其他文件的截断策略

SOUL.md、MEMORY.md、TOOLS.md 等文件的截断规则是简单的「留头留尾」:

  • 头部 45% — 原样保留
  • 尾部 15% — 原样保留
  • 中间 40% — 全部丢弃

这个策略简单粗暴:重要的东西写在开头和结尾,中间的内容可能直接消失。

AGENTS.md 的特殊策略

AGENTS.md 的截断分配比例为:

AGENTS_POLICY_DIGEST_RATIO = 0.35(摘要配额 35%)
AGENTS_POLICY_HEAD_RATIO = 0.45(头部 45%)
AGENTS_POLICY_TAIL_RATIO = 0.15(尾部 15%)
换行预留 ≈ 5%

以 20000 字符上限为例:

  • headChars = 9000 — 头部 9000 字符原样保留
  • digestBudget = 7000 — 中间 7000 字符走摘要提取
  • tailChars = 3000 — 尾部 3000 字符原样保留

关键区别就在这里:其他文件中间部分直接丢弃,但 AGENTS.md 会给中间区域一个「抢救」机会——通过关键字匹配提取重要规则行。

三、240 字符红线

在进入摘要提取流程前,所有行会先经过标准化处理:

  • 删除行首行尾空白
  • 连续空白压缩成一个空格
  • 每行最多 240 字符,超长行保留前 239 字符加「…」

也就是说,如果你的规则行超过 240 字符,截断之后后半部分就没了。中文一个汉字占 2-3 字节,但按 Unicode 字符计数,240 字符大概相当于 80-100 个汉字的行长度。超过这个阈值,内容就会在摘要中被截断。

四、关键字匹配机制

标准化完成后,系统会从完整文件中扫描「候选行」,规则分为两类:

第一类:Markdown 结构行

任何以 Markdown 标题(###)或列表标记(-*1.)开头的行都会被识别为候选。

第二类:含关键字的普通行

包含以下关键字的行会被匹配(大小写不敏感):

高优先级:AGENTS.md scoped required must never do not security secret credential

普通优先级:test validation command commit push github pr

选取顺序

先扫描所有候选行,优先从高优先级关键字匹配行中选取,填满 7000 字符的摘要配额。如果还有剩余配额,再选普通候选行。

五、中文用户的大坑

注意上面的关键字列表——全是英文。这个匹配流程是纯字符串匹配,没有 LLM 参与理解语义。

这意味着:

  • - Never commit secrets — 会被匹配(命中 neversecret
  • - 私事不外传 — 不会匹配(仅命中 Markdown 列表格式)
  • - 必须:最大委派5轮 — 不会匹配(「必须」不是 required
  • ## 安全注意事项 — 仅靠 Markdown 标题格式匹配(##),不会命中 security

如果你完全用中文写 AGENTS.md,中间区域的内容能通过 Markdown 结构被保留一部分,但关键字匹配的优势完全享受不到。高优先级规则标记(如 requiredmust)对中文用户形同虚设。

六、优化建议

1. 核心规则中英双语写

每条重要规则加上英文关键词前缀,确保命中高优先级规则:

- must: 私事不外传。就这一条。
- required: 最大委派5轮,超限让用户拆分
- never: 半成品不往外发。
- scoped: 仅我(可亓)可调子Agent

2. 控制行长度

每行控制在 200 字符以内(约 60-80 个汉字)。长规则拆成多行 Markdown 列表,既保可读性又匹配列表格式。

3. 关键内容放头部或尾部

头部 45%(约 9000 字符)和尾部 15%(约 3000 字符)是原样保留的,最核心的规则放在这两个区域。

4. 善用 Markdown 结构

##- 等 Markdown 语法结构化你的规则,即使关键字没匹配,Markdown 结构行本身也能被保留。

5. 监控文件大小

定期检查 ~/.openclaw/agents/main/agent/AGENTS.md 或 workspace 中的 AGENTS.md 文件大小。超过 15000 字符就要开始精简,留出冗余空间。

总结

AGENTS.md 的截断机制是一把双刃剑。它比普通文件多了一道「摘要提取」,试图保留中间区域的重要规则。但关键字匹配完全基于英文,中文用户如果不了解这套规则,辛苦写下的中文配置随时可能被截断丢弃。

了解规则、适配规则——这是让 OpenClaw 稳定记住你设定的关键。


参见:OpenClaw 官方文档 · GitHub 源码

扫描二维码推送至手机访问。

版权声明:本文由点度点度金讯时代-BLOG发布,如需转载请注明出处。

本文链接:https://lmwmm.com/post/2567.html

分享给朋友:

“AGENTS.md 截断规则深度解析——中文用户如何避免规则丢失” 的相关文章

一口气最全解读 ChatGPT 编程超能力,13个章节、50个实例,告诉你从哪儿开始!

一口气最全解读 ChatGPT 编程超能力,13个章节、50个实例,告诉你从哪儿开始!

前言今天,我们通过十三个章节,50+个示例,为大家展示ChatGPT在编程开发方面的无限潜力。有了ChatGPT的力量,可以简化工作流程,减少错误,甚至改进代码!从作为初学者学习知识,到为面试做准备,所有你需要的,基本都覆盖了。不过也要注意…

ChatGPT能上传文件了,文档图片数据集秒理解,代码一键执行

ChatGPT能上传文件了,文档图片数据集秒理解,代码一键执行

梦晨 发自 凹非寺量子位 | 公众号 QbitAIChatGPT又出试验型新模式,不少网友陆续收到代码解释器Alpha测试资格。简单来说,这个模式提供两个功能:执行Python代码,接受文件上传下载。为什么是这两个功能的组合?可以看目前最火…

运维:Windows11操作系统安装VMware16.1.1图文教程

运维:Windows11操作系统安装VMware16.1.1图文教程

一、VMware 16.1.1 介绍VMware 16.1.1 是一款功能非常强大虚拟化软件,它允许用户在一台计算机上创建和运行多个虚拟机(Virtual Machine)相当于拥有多台服务器。这些虚拟机可以模拟独立的操作系统和硬件环境,使…

下一代Switch的策略:迭代升级还是开启CQ9电子新时代?

下一代Switch的策略:迭代升级还是开启CQ9电子新时代?

业界预计任天堂下一代Switch将在2024年发布。知名游戏分析CQ9 Gaming猜测该主机不会有大的革新,而是更像是性能的增强,整体上与现有Switch相似。他认为,任天堂依然坚持掌机游戏模式,其中最主要的原因是宝可梦系列对掌机市场的重…

微软Xbox Series S造型烤吐司机,玩转PG美时美刻游戏情怀!

微软Xbox Series S造型烤吐司机,玩转PG美时美刻游戏情怀!

微软在2021推出了备受PG SOFT电子游戏迷瞩目的Xbox Series X造型冰箱,现在他们与美国零售商Walmart合作,推出了Xbox Series S造型烤面包机。这款特殊的烤面包机看起来酷似Xbox Series S游戏主机,…

Switch平台迎来PG经典游戏:《蒙蒂鼹鼠系列》五款力作震撼登场

Switch平台迎来PG经典游戏:《蒙蒂鼹鼠系列》五款力作震撼登场

Pixel Games UK推出的街机动作冒险游戏《蒙蒂鼹鼠系列》已经成功登陆Nintendo Switch平台,为PG玩家呈现了一场别开生面的地下冒险。这个由五款游戏组成的奇妙合集带领玩家进入英国地下世界,跟随主角黄鼹鼠的足迹展开一场国际…