两个 AI 工具准备改同一个文件,执行前怎样用写入计划发现冲突

2026-10-24

两个 AI 工具都准备修改 config.json 时,等执行后再比较结果已经太晚。若工具能在执行前声明读写集合,就可以先发现明显冲突,决定顺序或暂停并行。这个检查适合客户端工具调度,不需要改网关限流或租户配置。

计划声明哪些事实

每项计划带 call_id、read_set、write_set 和依赖。路径采用项目相对路径,先把反斜杠统一为斜杠,再拒绝根路径、UNC、盘符和任何上级片段,最后归一点目录并比较。附件增加混合分隔符的同文件冲突与七个拒收负例;不跟随真实路径。演示计划甲写配置,乙读写同一配置,丙只读说明文件,丁写另一个报告。集合描述的是工具承诺访问的对象,不是从模型解释文字中猜测。

冲突公式为两写集合交集,加甲写与乙读交集,加乙写与甲读交集。两个只读工具没有这三种交集,可以继续并行。输出每对调用的冲突类型及具体路径,不能只给一个“有冲突”布尔值,让调用方不知道该串行哪两项。

合成矩阵怎样验收

附件检查甲乙出现写写和读写冲突,两个只读项无冲突,互不相交的写操作无冲突。把 ./config.json 归一后应与 config.json 对上,避免字符串不同造成漏检。反例是只查 write_set 是否完全相等:两项各写多个文件,只要有一个共同路径就可能冲突,集合不必整体相同。

依赖关系另行检查。例如乙必须读取甲生成的文件,即使可以通过串行满足,也不能据此说二者没有冲突。报告应保留数据冲突与调度顺序两类事实,再由调度器选择处理方式。循环依赖、缺失依赖 ID 也应在执行前解决,不能自动忽略。

计划不是运行时隔离

工具若漏报实际访问,静态矩阵就会漏掉冲突。文件夹级写入、符号链接、大小写和运行时生成路径也可能让词法路径检查与真实对象不一致。生产流程仍需要运行时锁、受控目录或更强的资源边界,不能凭声明就取消实际保护。

本文路径合同仅处理普通相对文件,目录通配写入应展开成真实集合或直接判为无法静态确认。一个工具声明“写整个工作区”时,不能因为没有列出具体文件就当空集合。未知访问范围应阻止自动并行,等待工具提供更准确计划。

所有附件计算都在内存完成,没有修改配置与报告文件,也没有测试真实并发执行。通过意味着演示声明的访问集合按公式被正确分类,不代表任意两个工具执行时没有竞态。把这一限制写进验收记录,能防止后续把计划检查错误提升为系统互斥保证。

配套文件与依据

本文的合成输入和参考结果可下载独立样本 a028.json,离线检查器 a028.py与样本放在同一目录后运行。检查器不调用模型接口。 使用 Python 3.12 或兼容版本,将上述文件下载到同一目录,执行 python a028.py。

一手资料1;一手资料2。资料核对日期:2026-10-24。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。