SuperAPI AI 工具集

agently-stage

智能体与模型

查看项目

更新于 10-15 19:51

技能介绍

Agently-Stage 用于进程内任务生命周期管理以及同步/异步互操作。Agently 4.1.4.7+ 要求 agently-stage>=0.3.8,<0.4.0。这些 API 可独立使用,Agently 也将其作为私有运行时机制。

用途与主要能力:Stage 作用域与后端选择、StageHandle、结算、取消、调用方循环任务归属、压力、空闲超时与快照;Stage.as_sync/as_async、StageCallBridge、StageStream、Tunnel、EventEmitter 及兼容名称。

使用方式:按调用方选择最小接口。调用方与工作形态一致时直接调用或 await;需要显式异步生命周期用 async with Stage(),需要刻意阻塞边界用 with Stage();单标量适配用 Stage.as_sync/as_async;需跨循环或线程读取提交结果用 Stage.go(...) 加 StageHandle;Stage 创建调用方循环工作用 Stage.create_task(...),已存在任务才用 adopt(...);注入生命周期、托管阻塞取消或迭代器转换用 StageCallBridge,生成器重放用 StageStream;独立可写的进程内重放通道用 Tunnel,进程内监听用 EventEmitter。同步外观会阻塞调用线程,不要桥接已具正确原生形态的调用。

限制与不变量:主体完成与结算不同,用 get()/async_get() 读主体,用 wait_settled()/async_wait_settled() 等待保留的后代与终结器。不要阻塞工作所需的调用方自有循环;Stage 报告生命周期冲突时使用匹配的异步屏障。取消后需等待结算再声称不会再有 Stage 拥有的工作;Stage 无法抢占非协作阻塞函数,也无法撤销外部副作用。并发、待处理、工作线程与空闲限制应放在实际压力边界,载体循环数不是应用准入控制。自动 Stage 作用域即使安全复用载体也保持独立。Stage 不负责工作流推进、业务重试、持久化、授权、提供方取消确认或外部副作用;TriggerFlowExecution 仍是 Agently 公共工作流生命周期所有者,Stage 对象与载体状态不得进入执行快照。LocalTaskScope 与历史 Stage 分发/函数类型名是 0.3 兼容面,不应作为新所有者层讲授。