让 Agent 只更新文档中的一个字段,接口也应该只表达这一个字段的变化。读取完整对象、修改少量属性,再把整个对象原样写回,容易把模型无意改动的默认值、空字段或旧属性一并送回服务端。
明确三种不同的输入含义
“没有提供字段”“把字段设为空”“恢复默认值”通常是三种动作。若适配器统一把它们转换为 null,用户要求仅改标题时,摘要和分类也可能被清空。设计更新工具时,需要写明每种情况的语义,并让服务端只处理明确声明的修改。
| 用户意图 | 应表达的更新 | 不应附带的动作 |
|---|---|---|
| 改文档标题 | 标题的新值 | 重新提交全部文档属性 |
| 清除摘要 | 明确的摘要清空操作 | 把其他未填写字段也清空 |
| 更换一张配图 | 目标图片对象和替换资源 | 重建全部正文与图片顺序 |
字段掩码有用,但不是每个接口都一样
部分接口使用字段列表或字段掩码说明更新范围,部分接口使用专用动作,另一些接口采用完整替换。接入时必须查看真实契约,不能只凭 PATCH、update 这样的名称推断语义。即使参数名相同,数组也可能是整体替换、按 ID 合并或追加,必须分别验证。
MCP 输入 Schema 可以让工具只暴露必要字段。更重要的是,适配层不要把模型输出中未声明的属性悄悄透传。对未知字段明确拒绝或按契约忽略,并在测试中锁定行为,能减少将来模型或上游接口变化带来的隐性影响。
用“未变字段”证明局部更新
验收局部修改时,只检查目标标题已经变新还不够。可以选取同一对象中的摘要、分类、正文数量、附件列表等关键属性,确认它们保持预期状态。不是要求每次比较全部内容,而是根据操作范围选出可能被完整替换误伤的相邻字段。
例如把项目名称改成新版名称,测试样本应特意带有非默认摘要、多个分类和空白段落。如果测试文件本来什么都没有,错误地清空字段也不会暴露。对数组尤其应加入两条以上元素,以检验“更新其中一条”是否意外变成“只保留这一条”。
让变更计划与接口范围相互校验
生成计划时记录允许修改的字段集合,提交前将实际请求字段与其对照。多出来的字段应有明确原因;否则回到计划阶段,而不是让写入接口自行决定。这能把“只改这里”的自然语言意图转成可检查的边界。
企业文档系统的真实更新规则各不相同。对石墨文档、表格或业务系统中的附件对象,先验证当前接口是增量更新还是完整替换,再设计 Agent 工具。本文讨论的是局部更新契约,不是对某一产品 API 能力的现成承诺。
在企业文档中验证
如果要把本文方法用于企业文档,可预约演示,结合实际资料核对协作、权限与集成方式。
需要在自己的环境中验证时,可先了解私有化部署方案,再确定试用范围与验收要求。