服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- 动态工作流由agent编写并启动,服务器在后台执行;启用新multiagent类型后,仍由agent判断何时使用。
- 收工要同时确认所有run已结束、主会话随后正常结束回合;completed也需要检查是否有线程失败。
- run没有独立价格,多个agent消耗的tokens照常计费。预算应在创建会话时设置,并留出当前请求可能超额的空间。
- interrupt只中断主回合。真正停止run要请agent停止;断线后则用历史事件分页恢复进度。
后台并行,适合解决什么问题?
Claude在10月9日公布Managed Agents动态工作流beta:agent可以写一个程序,让多个agent分阶段完成工作,再汇总结果。服务器在后台运行这个程序,主agent可以继续处理别的事,或结束当前回合。
这是Managed Agents API能力,使用managed-agents-2026-04-01 beta header。公告和本次两篇文档没有给出完整账号、地区资格清单;是否能在你的组织启用,仍要以实际授权为准。
举一个假设场景:团队要检查300份文档,可以先分批阅读,再让另一批agent核对遗漏,最后汇总。每阶段任务要说清楚;官方没有承诺固定加速倍数或结果准确率,这里也没有执行该示例。
怎样开启,为什么旧会话没有跟着改变?
在agent定义里,把multiagent.type设为multiagent_20261001,并让workflows保持enabled。这个类型默认也启用普通subagents和inline agents;只想使用动态工作流时,可以显式关闭不需要的能力。
然后在系统提示或用户消息中说明哪些任务值得启动run,哪些小任务直接完成。只有主线程的agent会启动run,客户端没有额外的启动接口。启用能力也不代表每次消息都会触发后台工作流。
会话在创建时复制agent配置,之后修改agent不会改变已经存在的会话。更新配置后,应在新会话里确认是否出现workflow_run.created事件;它只表示run已创建,还要继续追踪后续状态。
看到了idle,为什么还不能收工?
一个run从workflow_run.created到workflow_run.status_ended之间始终算open,暂停时也一样。会话出现idle,可能在等待工具结果、触及预算,或者后台run已经暂停;单看这个词无法判断工作结束。
可靠的完成判定有两个条件:所有你已看到创建的run都收到status_ended;随后主会话收到session.status_idle,stop_reason为end_turn,而且这次idle不是自己发interrupt造成的。
还要读每个run的result。completed表示工作流程序运行结束,不保证每个agent都成功,也不代表文档全覆盖或答案合格。确认失败线程、遗漏项目和最终结果后,才适合交付。
多个agent一起跑,预算怎么控制?
run没有独立价格,里面每个agent使用的tokens按对应模型费率计费,会话的其他费用也要一起考虑。本次已读文档没有列具体金额;不能把后台执行或并行处理理解成免费。
预算应在创建session时设置,无法给已有会话新增。达到预算后,开放的run会暂停;已经开始的模型请求仍会完成,所以每个正在工作的线程都可能多花当前这一请求的费用。
官方列出的当前值是每个run最多64个正在工作的线程,但API不保证这个数字不变。并行容量不等于速度保证;组织的模型限流也与其他流量共享,拆更多agent不一定更快。
想停止任务,interrupt之后还要做什么?
user.interrupt会停止主agent的当前回合,却不会结束run。后台run可能暂停,也可能继续,相关事件还不一定完整反映暂停。需要停止时,应再发user.message,明确请agent停止它的runs。
如果会话因预算达到上限而idle,直接发消息会返回400,要先提高或移除预算才能继续。但这个动作也会恢复预算暂停的runs;恢复交互后,应继续核对停止结果,不能只看消息发送成功。
run默认生命周期为24小时,agent可以设更短期限。等待客户端的时间也算在内,暂停未必停止计时。仍有待处理的工具调用时,应先回答或拒绝对应调用,再按实际会话状态继续操作。
断线重连,怎样找回进度?
workflow_run事件在主会话事件流上出现,本身不会触发webhook;线程的webhook仍按线程规则发送。连接中断后,新stream只收到重新打开后的事件,不会自动补齐你错过的记录。
在历史session events里筛选run创建、状态和阶段事件,逐页读取:把响应的next_page传给下一次请求,直到它为空或缺失。按workflow_run_id重建每个run状态,再继续监听新事件。
官方没有列出runs的独立列表接口,也不保证阶段顺序、阶段ID映射一直与示例相同。进度界面应保留未知和失败状态;phase_ended只说明阶段关闭,不能直接换成全部工作完成。
资料来源
常见问题
后台run能继续启动新的run,一层层扩展吗?
只有主会话线程上的agent能启动run,run里的agent不能再启动自己的run,因此不会嵌套。官方目前还列出每run全生命周期最多启动1000个agent、会话默认最多10个open runs;暂停的run也计入后者。
可以查看agent写出的工作流代码吗?
默认事件流不会展示工作流代码。官方建议等待run结束且会话idle,再发用户消息请agent逐字输出当初启动run的工作流,并明确不要另起run;不能把进度事件当成完整程序。
为什么单独归档一个run线程会返回400?
run仍open时,归档尚未被服务器归档的run线程会返回workflow_run_open错误。服务器会在run结束前或结束时归档这些线程,通常不需要逐个手动处理;线程归档后仍保留在列表中,状态为terminated。