跳到主要内容

2 篇博文 含有标签「deadlock」

查看所有标签

悬在两张日历上的多智能体死锁

· 阅读需 11 分钟
Tian Pan
Software Engineer

Agent A 向 Agent B 请求完成其任务所需的一项数据。Agent B 在回答之前,向 Agent A 请求生成该数据所需的一项上下文。这两项请求在发出途中都跨越了“需要人工审核”的边界。第一项请求落入了由 Priya 监看的 Slack 审批频道。第二项落入了由 Marcus 监看的 Jira 队列。Priya 正在吃午饭。Marcus 正在接听客户电话。两人都不知道对方的存在。工作流挂起了 19 个小时,直到一次客户投诉迫使有人去询问为什么汇总结果从未送达,才有人注意到。

这不是一种新颖的失败模式。它是分布式系统中最古老的失败模式,只是换了一身新装。Coffman 条件——互斥(mutual exclusion)、占有且等待(hold and wait)、不可剥夺(no preemption)、循环等待(circular wait)——早在 1971 年就被命名了,而一个带有“人机协同”(human-in-the-loop)审批队列的多 Agent 系统默认满足这所有四个条件。新的麻烦在于,死锁中的“资源”之一是人的注意力,这意味着你的活性保证(liveness guarantee)现在受限于两个互不相识的人独立进行上下文切换的速度。

智能体死锁:当 AI 代理永远在等待彼此

· 阅读需 10 分钟
Tian Pan
Software Engineer

关于多智能体 AI 系统,有一个令人不安的事实:当你让两个或更多由 LLM 驱动的代理共享资源并同时做出决策时,它们的死锁率在 25% 到 95% 之间。不是偶尔发生。不是在边缘负载下。在使用标准提示的正常运行条件下,一旦代理必须同时协调,系统就会卡住。

这不是理论上的担忧。协调故障约占生产环境中多智能体系统故障的 37%,而没有正式编排的系统故障率在 41% 到 87% 之间。经典的分布式系统故障模式——死锁、活锁、优先级反转——又回来了,只是穿上了新衣服。