antirez: Alternatives for the EDIT tool of LLM agents — LLM Agent 的 EDIT 工具设计探索
来源: https://antirez.com/news/166
日期: 2026-05-19
评分: ⭐⭐⭐⭐ (4/5)
一句话版本
Redis 创始人 antirez 在为自己的本地推理引擎 DS4 写 Agent 时,发现主流 EDIT 工具的设计太浪费 token——他设计了一套基于行级校验标签的 EDIT 系统,让 LLM 不用重复写出旧文本,节省大量 token。
核心内容
背景
antirez 正在为他的 DS4 项目(我们在 5月15日 做过报告的 DwarfStar 4——用纯 C 手写的本地推理引擎)编写 Agent。由于本地推理的 token 预算非常紧张("token-poor, a battlefield where optimizations count"),他需要极致优化每个工具调用的 token 开销。
问题:CAS 模式的浪费
当前所有 Agent 使用的 EDIT 工具都采用 CAS (Check And Set) 模式:
EDIT old="旧的文本内容" new="新的文本内容"
这让 LLM 必须重复输出完整的旧文本,问题在于:
1. 浪费 token——每次编辑都要把旧文本重复一遍
2. 特殊字符出错——旧文本中的特殊字符和空格,LLM 可能复述不准
3. 失败重试——复述错了,工具调用失败,又得重来
单纯用行号("改第 22 行")也不行——同时编辑、切换分支时行号内容可能已经变了。
antirez 的方案:行级校验标签(Tag-based EDIT)
他的设计:READ 和 SEARCH 工具返回带标签的行:
10:Q8fA int count = 10;
11:rA3_ if (count > limit) {
12:Kq9z count = limit;
13:PX0b }
每个标签是 4 个字符(~2.5 LLM tokens),代表该行内容的校验和。
单行编辑
{
"tool": "edit",
"path": "/tmp/example.c",
"line": 10,
"tag": "Q8fA",
"new": "int count = 11;"
}
多行编辑
{
"tool": "edit",
"path": "/tmp/example.c",
"lines": "11:rA3_\n12:Kq9z\n13:PX0b",
"new": "if (count > limit)\n return limit;"
}
另一种思路:全文件 CRC32
antirez 还在考虑另一种方案——不用每行的 tag,而是用整个文件的 CRC32 校验和。好处是节省更多 token(行号 + CRC 即可),但坏处是文件内任何不相关的改动都会导致编辑失败。
他认为需要通过实际使用来评判哪种更好,目前先加一个命令行开关切换编辑模式。
DeepSeek V4 Flash 的表现
antirez 特别提到:DeepSeek V4 Flash 能非常有效地使用这套工具("apparently it is natural for it")。他认为编辑更快更可靠了,但没有给出精确的测量数据。
分析
为什么重要?
虽然这只是 antirez 的一个小实验(他自己也说 "of course this was already done in the past"),但它触及了一个被忽视的核心问题:
当前 LLM Agent 工具的设计几乎都是为「token 丰富」的场景设计的(云端 API 模型),但本地推理场景完全不同。
- Claude API 用户不在乎 EDIT 多花 50 个 token
- 但在本地推理(DS4、llama.cpp)中,token 是真正稀缺资源
antirez 的设计哲学
这篇短文体现了 antirez 一贯的工程风格:
- 不满足于现成方案——别人怎么做不代表不能做得更好
- 从实际限制出发——"local inference is token-poor" -> "let's fix the EDIT tool"
- 简洁实用的设计——4 字符 tag,不是复杂的 hash 系统
- 承认 tradeoff——最后说"需要实际证据才能判断",而不是断言
与我们项目的关联
- lossless-claw 插件也是 token 效率优化的类似思路——都是在压缩 Agent 的上下文开销
- antirez 的 tag-based edit 可以理解为上下文压缩的一个具体工具设计
- Semble(刚才报告的项目)也是同一类思路——不让 Agent 浪费 token 读全文
- OpenClaw 的
edit工具也是 CAS 模式,antirez 的方案值得参考
评分表
| 维度 | 评分 | 说明 |
|---|---|---|
| 深度 | ⭐⭐⭐⭐ | 短小精悍,一个具体问题的完整思路 |
| 实用性 | ⭐⭐⭐⭐ | tag-based edit 方案可复制到任何 Agent 框架 |
| 创新性 | ⭐⭐⭐ | 作者自己也说以前有人做过,但 CRC32 tradeoff 讨论有价值 |
| 与我们关联 | ⭐⭐⭐⭐⭐ | 直接关系 OpenClaw/Agent 工具链的 token 优化 |
关键链接
- https://antirez.com/news/166 — 原文
- https://github.com/antirez/ds4 — DS4 (DwarfStar 4) 项目
- https://temp.jaylab.io/ds4-report.html — 我们之前对 DS4 的报告