安全公告 — 恶意 litellm 版本 1.82.7 与 1.82.8 已从 PyPI 移除(存在 API 密钥外泄风险)。请卸载、轮换已暴露凭据,并升级至安全版本(如 1.82.9+)。运行 pip show litellm 以确认。 PyPI · README

长周期编码

用隔离工作区和磁盘状态机,在轮询与重试之间把编码任务续住。

长周期编码

任务长于一轮对话时用这一套:要在轮询、停滞、重试之后还能续上,而不能把整段历史塞进一次提示。

短 SDK 调用走 AgentExecutor.run 即可,不必longrunproject_state

示意图:每个任务自己的目录,加上磁盘上的 project_state。

编排器

agenticx/longrun/ 轮询任务源,给每个任务隔离工作区,处理停滞,并做续跑 / 失败退避。Token 按增量记账(TaskTokenAccountant),不是看一次 completion 估出来。

已有来源包括手动队列、cron、项目 feature。只有 longrun/sources/ 里接上的才算真源。

磁盘状态机

project_state 在磁盘上保存版本化 feature 状态(初始化 → 实现 → 校验 → 提交)。文件锁和原子写让崩溃后仍可审计。

隔离工作区

TaskWorkspace 把任务钉在自己的目录,拒绝路径逃逸(TaskWorkspaceSecurityError)。钩子可以失败即停(TaskWorkspaceHookError)。

实践案例:把功能钉在磁盘上

场景。 「加登录,带测试」要跑很多轮轮询。下一次重试不能覆盖上一份工作区。

  1. 从已接线的 longrun 源启动(longrun/sources/ 里的手动队列 / cron / 项目 feature)。
  2. 编排器分配隔离的 TaskWorkspace。路径逃逸会抛 TaskWorkspaceSecurityError
  3. project_state 走 初始化 → 实现 → 校验 → 提交。停滞检测用退避重试,而不是把整段历史塞进一次提示。
  4. Token 按 TaskTokenAccountant 增量记账。

你会看到。 进度卡写出当前阶段,不是静止沙漏。崩溃后同一功能目录和状态文件还在,可以审计。

长周期隔离目录与 project_state
界面示意:功能目录、`project_state`,以及进行中的进度卡。

相关页

  • 智能体运行时 — 单轮 run_turn 和这套多轮轮询的区别
  • Studio 服务longrun/studio_routes.py 上的 HTTP
  • 部署 — 长任务不该和笔记本合盖休眠抢同一会话