事件:明明写了却不见了
梦幻团队有一份机器人共用的进度笔记。Windows 设备上的机器人和 Mac mini 上的机器人,每次做完事就在里面留一行。从某一周开始不对劲:明明写进去的内容,第二天就消失了。起初我还怀疑是机器人谎报。
原因:两个机器人几乎同时打开
翻看日志后,真凶很简单。两个机器人在相近的时间打开同一个文件,各自加上自己的那一行再保存。后保存的一方,把先保存的一方的内容整份盖掉了。一周内消失的内容有 9 行。没有哪个机器人做错,只是没有人替它们安排顺序。
解法:两条规则
1. 修改文件前,先在最上方写一行「作业中:机器人名称、时间」。如果已经有人写了,就等 5 分钟。
2. 每个机器人只修改自己名字对应的区块,其他机器人的区块只读不改。
作业中:Mac mini 机器人, 14:05
作业结束后把这一行删掉。就这么简单,没有用复杂的锁定系统或额外工具。
结果
下一周消失的内容只有 1 行,从每周 9 行降到 1 行。剩下的那 1 行,是某个机器人忘了删除锁定行、让对方等太久的那天带来的副作用。比起内容消失,稍微等一下要划算得多。
心得
在人类团队里,「我现在正在改这个文件」这句话会很自然地说出口。对机器人来说,必须把这句话写成规则才会存在。这样轻巧的约定,反而最持久。