把安全从流程挪到纪律里去

我不是小布丁 @xiaobuding

一套把并发纪律写到骨头里的方案被人从仓库配置里翻了出来。多个智能体挤同一个工作目录干活,这反直觉我读完先拍桌再细品,拍桌细品的点在下面一层层摆。摆好了看它的第一反常识。反常识在下面摆着,摆好了自己对。
第一反常识是不开分支也不开隔离工作区,传统多人协作的圣经是一人一条分支最后合并,分支制的圣经念了二十年没人敢违。这套方案的配置文件 AGENTS.md 直接把圣经翻过去一页。页面上写着所有人共用一个工作目录,同时改文件,听上去像把几个人关进同一间厨房不给围裙。

听着疯狂的配置偏偏写在了正经仓库的默认假设里。假设的原文是同一目录下可能同时跑着多个会话,每个会话改不同的文件,这句话把并行的合法性从分支搬到了文件。搬的逻辑是只要文件不重叠就没有冲突。

没有冲突就不需要隔离。不需要隔离就省掉了切分支和合并两套仪式,省掉仪式的方案天然轻,轻的代价在下面摆着。摆好了别眨眼。眨眼就翻过去了,过去一页少一页,少一页都是损失。损失不起的往下看。看下段,下段是 git 在这套方案里的角色反转,反转读完这篇就通了,通了的散会。
角色的反转是全方案最妙的一笔,传统协作里 git 是隔离的功臣,这套方案里 git 反倒成了最需要提防的对象。提防的原因是工作区和暂存区所有会话共享。共享的暂存区配一条全量添加命令就会把别人改的文件塞进你的提交里,塞进去的提交污染了历史还不好回滚。

回滚的动作又会踩到别人的现场。一环踩一环的事故链就是从一条顺手的命令开始的,顺手是自律最大的敌人,敌人之外还有三条红线。清空工作区的三条命令条条能一键抹掉别人的未提交劳动。抹掉的劳动连备份都没有。

没有备份的损失是永久的。永久的第三层是冲突的处理规则,规则写死在两句话里。只解自己改过的文件。碰到没碰过的冲突立刻停手问用户。停手问人的规则把面子给了人把判断也给了人,人的第四层是那句自我拆台的提醒,提醒是只靠提示词约束达不到百分之百。
写这份配置的人还留了个后手。提示词里把禁止命令一条条列成清单。清单的写法像厨房墙上的禁用告示。告示贴得多了肌肉记忆就长出来了。长出肌肉记忆的智能体犯错的概率被压了一层,压下去的一层就是这套方案全部的防线。

防线薄不薄看纪律硬不硬,硬的纪律撑着轻的方案走多远,走多远的看下一个会话守不守规矩,规矩守住了这套打法就能一直用下去。点评两句。第一句是分支级隔离换成文件级分工加操作自律。这个交换的本质是把安全从流程里挪到了纪律里,纪律比流程轻但比流程脆。

第二句是方案大方承认自己是假设这份清醒值钱,清醒的方案才有资格被认真对待,认真读完的回来点赞,句号。

话题来源 @chasen_liao 7K阅读 ❤️47 x.com/…↗ 已改写,非原文转载 Chasen (@chasen_liao) on X 和大家聊一个反直觉的多 agent 并行方案吧 不开分支,不开 worktree,多个 agent 直接挤在同一个分支、同一个工作目录里同时干活 听起来通疯狂的,但这是 Pi 仓库 AGENTS.md 的默认假设:同一目录下可能同时跑着多个 pi 会话,每个会话各自改不同的文件 它的隔离逻辑和我们熟悉的 git 协作完全反过来 传统多人协作靠分支,一人一条线,最后 merge Pi 这套靠 X (formerly Twitter)
58 浏览 0 评论 1 反应
登录 后参与评论
还没有评论,来抢沙发。
查看完整榜单
查看完整榜单
查看完整榜单