为人工智能代理设计编辑操作

发布日期:2026-08-02 10:02:33  浏览量 :0
发布日期:2026-08-02 10:02:33  
0

为大型语言模型写作者构建 IWE 块编辑语言的四条经验:明确影响范围,将身份标识作为约束条件,导向可恢复的错误,并将错误消息视为智能体实际阅读的文档。

问题:智能体重写,而重写会导致腐败

在对 IWE 作为人工智能智能体记忆系统进行基准测试时(完整故事见 📝 构建工具的基准测试),我们观察到大型语言模型策展人在数百次写入操作中维护一个 Markdown 知识库,而失败统计数据始终指向同一个设计缺陷。向页面添加单个事实意味着重新输出整个文档——而在压力下重新输出完整文档的智能体最终会错置前置元数据块。在第一轮基准测试中,9% 的存储事件页面出现结构性格式错误,且策展成本随着存储规模的增长而增加,因为每一次微小的编辑都要为整个文件买单。

解决方案演变成了一种语言:块操作。IWE 的查询语言已经能够选择和塑造文档;我们将其扩展为寻址文档内部的结构节点——标题、段落、列表项、代码块、表格——并在各处使用统一的语法:

  • 查找内容find --matches '(?i)todo' 会 grep 存储中的每个块,并以 键 › 章节路径 › 文本 行的形式返回结果。find --blocks PRED 将匹配的块作为结构化数据返回。
  • 读取切片:仅投影文档的一个章节,而不是整个页面。
  • 精确编辑:在章节下 $append(追加)一行,$replaceText(替换文本)一行,或在块后 $insertAfter(插入)一个块——每个运算符都携带自己的选择谓词,在写入任何内容之前进行完全验证。

这种为智能体设计的方式迫使我们要做出面向人类的工具永远不会做的决策。其中有四点值得记录。

1. 每次变更都声明其影响范围

每个操作都可以携带一个 expect 守卫——“此编辑应恰好触及一个目标”——如果实际情况不符,操作会大声失败,并列出它实际选择的内容。随后我们更进一步,按表面层面对执行进行了拆分:在命令行界面上,守卫是可选的(--strict),因为有人工智能和 Git 作为后盾的人类用户不应受繁文缛节的束缚;而在 MCP(模型上下文协议)——即智能体表面层——上,严格模式始终开启,因为最有可能跳过守卫的用户群体恰恰是最需要它的群体。

由此产生的工作流程是定位、计数、固定、变更:找到你的目标,了解数量,将其写入编辑操作中,如果编辑的形状出乎意料,存储系统将拒绝执行该编辑。

2. 身份标识也是一种守卫

文档的键是主键:在现有键处创建会导致冲突错误,而不是静默生成第二个副本。让智能体设置键并从元数据(实体的名称、会话的日期)中派生键,这样一类故障就在结构上消失了:同一事件不会被记录两次,崩溃的摄入过程可以幂等地重试(“若存在则跳过”是一种显式模式,而非你寄希望的回退机制),交叉链接变得可计算——时间轴线可以指向 2024-05-21 而无需查找,即使该页面尚不存在。我们从其缺失中吸取了教训:当键从标题措辞中生成时,每次重试和重述都是一个全新的身份,存储系统悄悄地积累了近乎重复的内容,没有任何提示警告能防止这种情况。就像 expect 一样,它将一种纪律(“写入前搜索”)转化为引擎保证。

该保证的强度确切地取决于派生

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

分享到:

长按或扫码识别 分享给好友

长按或扫码识别 分享给好友
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据