我们如何解决本地优先多智能体系统中的并发写入冲突和数据丢失(LAC-协议)
摘要
描述了用于处理本地优先多智能体系统中并发写入冲突的LAC-协议,通过锁状态分离和避免缓存来防止数据丢失和令牌浪费。
各位智能体开发者们,如果你们运行过多个终端智能体或并发智能体团队,可能遇到过因共享内存或收件箱上的并发读取-修改-写入冲突导致的静默数据/消息丢失(例如,Anthropic 的 Claude Code 目前在其公开问题中正面临此问题)。为了解决这个问题,我们设计了用于本地优先系统的 LAC-协议(锁-避免-缓存协议):1. 锁状态分离:系统使用 fcntl flock 在空哨兵文件上,回退到 Windows/JS Electron 插件的原子 mkdir。2. Unix 毫秒 TTL:15 分钟后自愈僵尸锁。3. 避免缓存:被阻塞的智能体不轮询或循环(零令牌浪费)。它们将 JSON 负载写入临时文件。下一个成功持有锁的智能体按时间顺序排序、合并并清理。根据规则3,我会将 GitHub 仓库和问题链接放在下面的评论中!请告诉我你们是如何处理本地文件环境中的智能体并发的。
相似文章
立场:多智能体系统应优先考虑并发控制
该立场论文认为,基于LLM的多智能体系统的故障本质上是并发控制问题,并主张将显式并发控制机制作为核心设计关切优先考虑。
大多数多智能体内存设计中隐藏的竞态条件
一位生产环境工程师描述了多智能体共享内存中的并发写入引发的竞态条件,并解释了如何通过切换到带投影的仅追加事件日志来解决该问题,同时指出了读己之写延迟方面的权衡。
控制-数据流分离:多智能体LLMs中的稳定提示优化
本文提出一种控制-数据流分离框架,通过将执行协议与语言内容解耦来稳定多智能体LLM系统中的提示优化,实现了100%的协议有效性,同时提升任务性能。
多智能体大语言模型系统中并发异常的验证检测与预防
本文形式化了多智能体LLM系统中的四种并发异常,机械验证了一个一致性层次结构,并提供了带有有界预防成本的经过验证的Rust运行时,包括对字节跳动deer-flow的修复以及LangGraph中的工具效应重排序的修复。
两个工作者同时写入了同一个键。两次写入都“成功了”。其中一个消失了。
讨论了多智能体系统中共享状态的两个故障模式——并发丢失更新和僵尸写入者,并提出了一种带有栅栏写入者和模型验证保证的解决方案。