用途:该技能用于处理并发执行者(如多个智能体、进程或任务)可能同时写入同一共享可变状态的场景,例如同一文件、同一分支、同一键或同一状态对象。其核心主张是:先问这些执行者是否真的需要同一个可变对象,而不是一上来就加锁。
主要能力:
- 识别共享可变状态:找出被双方读写同一文件、双方推送同一分支、双方既定义又消费同一 API 等情况。
- 默认消除共享写入目标:判断这些执行者是需要一个权威对象,还是各自发布独立事实;若为后者,让每个执行者拥有自己的文件、键、分支或状态目录,仅在读取或汇总边界合并。资料举例:两个工作者各自把 lastX 字段写进同一个 state.json 仍属于共享变更;而 indexer-state.json 与 metrics-state.json 分开则不算。
- 仅在必要时结构性地实现串行化:当同一个共享写入目标确实是必须维护的不变量时,采用锁文件、顺序阶段、单一写入者或原子 compare-and-swap 等方式强制串行访问。
- 将“需要加锁”视为需要检查的设计信号,而非默认答案。
使用要点:资料强调指令和约定不是并发控制手段;应通过结构来保证互斥或消除共享。
适用场景:并发智能体或进程写入同一文件、分支、键或状态对象;需要避免竞态条件导致间歇性、难以复现的问题。
限制:资料未提供具体安装命令、代码示例、支持的平台或运行环境信息;具体实施步骤需结合实际情况设计。