Qwen Code 用 lease 机制封住 ACP 会话并发写入
doudouOUC · ghdev · 2026-07-19
这次 PR 做了什么
这个 PR 通过给并发写者加栅栏,修复了 Qwen Code 里一个 ACP/session 的竞态问题。
核心思路
- 对每个 (runtime base, session ID) 只允许一个跨进程 writer,通过原子 hard-link lease 来保证。
- 拿到 lease 后,owner 会重新加载权威 transcript。
- 每次 append 都要检查 owner token、transcript 文件身份、元数据和 UTF-8 字节长度,再推进内存尾部。
行为变化
- daemon 会复用已经存在的 owner,而不是制造冲突 writer。
- user、cron、notification 和 teammate turn 都要先验证 ownership。
- 实时 transcript replay 通过 owner 的写屏障和固定的 session 存储提供。
- 如果出现 writer conflict,不再默默新建 session,而是直接暴露给用户。
- runtime 和持久化根在逻辑工作目录变化时也会保持 pinned。
为什么重要
PR 描述的事故里,一个进程已经写入工具结果,另一个进程又从过时尾部重载同一 session,最终形成 sibling branches。这个修复在模型工作开始前就拒绝第二个协作写者,保证 transcript 一致性。
「编程与Agent」频道最新
- 改造 orchestration skill,让多个 agent 互相自我审查 — pvncher · 2026-07-27
- 现代 AI Agent 协议栈的 11 项实用地图 — TheTuringPost · 2026-07-27
- Qwen Code nightly 加入 Goal v3 编排和工作区通道管理 — qwen-code-ci-bot · 2026-07-27
- NVIDIA 称 Nemotron 3 Ultra 在 RTL 芯片设计任务上达 97.1% — NVIDIAAI · 2026-07-27
- 东京 Agent Forge 黑客松一天做出可上线 AI agents — DavidBennett__ · 2026-07-27
- 长周期智能体最终需要不可变事件日志 — sebpaquet · 2026-07-27