Pi跑长任务很容易卡死,原来这么多门道🔥

Pi跑长任务很容易卡死,原来这么多门道🔥

Pi 跑短任务基本没什么事,但是一跑长任务,就很容易出现卡死、一直 Working的情况,每次都只能取消任务重新输入。

我去github翻了一圈,发现这不是个例,而是官方的设计缺陷。

1、模型流假死

这是最常见的一种。

模型厂商、代理或者中转的 SSE 连接没有真正断掉,但已经不继续返回数据。Pi 会以为模型还在工作,Agent Loop 就一直等,表面上看起来就是卡死。

2、Tool / Bash 没退出

这类也很常见,尤其是长任务里面跑 dev server、watch、tail,或者网络请求一直不返回。

如果这条命令本身没有合理 timeout,Pi 就只能一直等它结束。

3、Agent 自己陷入循环

比如 Tool 调用失败后不断重试、重复执行同一个错误动作,甚至一直调用不存在的工具。

短任务可能根本碰不到,但一个任务连续跑几十轮以后,这类问题被撞上的概率就会越来越高。

4、Context 越长,边界问题越多

任务跑久以后,Session 会越来越大,开始碰到 Compaction、Thinking State、Provider Retry 这些东西。

让官方赶紧修一下这些问题,这也侧面说明为什么Pi v2我说呢要往Agent Runtime 这个方向走。


分类