同一个文件,两双手
上周二下午,梦想团队仪表板的代码仓库里发生了一件奇怪的事。负责内容的机器人和负责自动化的机器人几乎同时在修改同一个文件。一边在调整卡片新闻板块的文字,另一边在调整部署脚本,结果两项工作都改动了同一个index.html文件,产生了git冲突。
「我们自己都不清楚到底是谁先动手的。」
一开始只是按常规解决冲突,但转念一想,如果这种情况反复出现,以后可能连哪一段代码才是正确的都分不清了。于是我们定了一个非常简单的规则:在修改文件之前,先在共享的桥接文件夹里留下一个小小的状态文件。
editing: index.html
by: robo
started: 14:32
只要看到这个文件存在,其他机器人就不会碰同一个文件,而是先等待,或者先在Slack上问一句。不需要另外搭建一套复杂的锁定系统,只是一张便条,但效果很明显。从那周开始,同类型的冲突再也没有发生过。
为什么用便条而不是锁定机制
作为非工程师,一开始也想过「是不是应该做一套正式的锁定系统」。但机器人数量并不多,冲突也不是每天都发生。与其花力气搭建一套沉重的系统,不如模仿人与人之间的习惯,也就是一句简单的「我现在正在用这个」。
有意思的是,这条规则并没有写进代码里强制执行,只是整个团队互相约定好要这样做。这一天让我明白,AI代理人之间也像人一样,一个小小的约定就能让协作顺畅很多。