开发与工程 workflow-orchestrationmulti-agentmodel-routinggit-worktreescode-reviewdeep-researchjournaled-resumecost-accounting

Pi Dynamic Workflows

在 Pi 中把复杂任务拆成可路由、可恢复、可交叉验证的并行子智能体工作流。

FollowAgents 评估 · FARS-2.1
推荐
88/ 100 五分制 4.4 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全23 / 29 · 4.0/5

证据展示了代理工具允许/拒绝列表、可选 git worktree 隔离、审批 checkpoint、运行暂停/停止、持久化位置、令牌与费用记录,以及保留完整会话可能包含敏感材料的明确提醒;许可证也同时署名当前维护者和原作者。扣分在于普通代理未默认采用最小工具集,自然语言触发可直接启动后台工作流,持久化内容没有展示脱敏或加密控制,而且最高可达 1000 个代理、默认无限预算/无超时及模型或网络调用的全部外部影响并未逐项受确认门约束。依赖面较小,发布使用测试、OIDC provenance 和 ignore-scripts,但 peer 依赖使用宽松下界或通配符,开发依赖使用 latest,工作流 action 仅以主版本标签固定。

2可靠稳定12 / 14 · 4.3/5

README、package 元数据、CI/发布配置和所示测试在安装方式、能力、隔离、工具策略与失败行为上基本一致;测试覆盖未知 agentType 警告、旧路径迁移警告、隔离清理和错误历史,文档也明确说明空输出重试、null 结果及全空结果警告。扣分主要在依赖可用性:Pi 相关 peer 依赖需要外部宿主且版本上界未固定,typebox 为通配符,开发工具采用 latest;静态材料不能证明所有受支持提供商或模型在实际环境中可用。

3适用触发18 / 18 · 5.0/5

材料清楚定位代码审计、重构、研究和多视角评审等受众场景,提供模型层级、精确模型、thinking、agentType、schema、预算、重试、并发、隔离、保存工作流及项目/全局覆盖。触发词采用有界单词匹配,排除标识符和路径,并能关闭或改名;显式命令、自然语言模式和 effort 开关界限清楚。环境适配还包括旧目录回退、无配置自动路由及 cwd 感知配置。未发现足以扣分的静态缺口。

4规范维护16 / 18 · 4.4/5

README 的安装、工作原理、能力索引、命令、运行时参考、配置、存储、恢复和操作说明组织充分,并含大量可执行形态的示例及常见陷阱说明。MIT 文本完整且与 package 元数据一致。扣分在于未提供独立 FAQ 或正式变更日志的证据,命名虽大体稳定但存在旧目录兼容和多种触发入口;版本与标签发布路径清楚,但没有展示迁移记录或兼容性政策。作者、贡献者和仓库更新路径明确,不过没有维护承诺、安全联系或经验证的组织责任信息。

5有效结果13 / 13 · 5.0/5

输出会回送到会话,并可通过进度面板、运行导航器、结构化 schema、保存工作流、交叉验证及完整结果文件继续使用;并行路由、恢复缓存、worktree 隔离和组合式评审相对单代理提供明确增量价值。令牌/费用计量、预算、缓存保留策略、重试以及避免重复运行的说明对成本收益处理充分。静态审查不评价实际答案正确性或真实节省,因此满分仅表示设计和文档对这些可由源码判断的标准处理完整。

6证据核验6 / 8 · 3.8/5

主要能力在 README、package 脚本、CI/发布流程及针对工具策略、隔离、历史、错误和兼容路径的测试之间得到交叉印证,生成能力表和发布检查也提供可追踪机制。扣分在于给出的测试只是仓库测试集的一部分,部分广泛主张如确定性编排、深度研究质量、最多 1000 个代理和完整成本准确性未在所给代码片段中逐项追到实现或专门测试;营销性表述与已验证事实也未始终显式分层。

证据充分度: 评估于 2026年9月17日 审查版本 e29dbcae9a47
使用前请注意
  • 默认可无令牌预算和单代理超时运行,且总代理数上限很高;在真实项目中应显式设置 tokenBudget、agentTimeoutMs、concurrency 和 maxAgents。
  • 自然语言中的有界触发词可授权后台工作流;不希望自动编排时应关闭或改用专用触发词,并在有副作用的阶段加入 checkpoint。
  • 持久化代理会话和运行 JSON 可能保存源码、提示词、工具结果及其他敏感材料;启用前应审查数据保留、访问权限和清理要求。
  • worktree 默认保留且代理可继承广泛工具;应为代理类型设置最小工具允许列表,并定期清理或合并保留的工作树。
  • peer 和开发依赖版本较宽,升级前应使用锁文件、审查依赖变化,并重新运行发布检查。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Pi Dynamic Workflows 是面向 Pi 的 TypeScript 包与扩展,用 JavaScript 编排脚本将单个请求分解给多个隔离的子智能体。脚本通过 agent()、parallel()、pipeline() 和 phase() 组织执行,并可按 small、medium、big 层级或具体提供商与模型来路由任务。它提供日志化恢复、编辑脚本后续跑、Git worktree 隔离、真实令牌与成本统计,以及后台运行和交互式 /workflows 导航器。内置工作流覆盖深度研究、对抗式审查、多视角分析、代码审查和代码库审计,最终把各子任务结果验证并综合为一个答复。它部署在 Pi 运行环境内,状态默认保存在 ~/.pi/workflows;编排脚本本身不能访问文件系统或网络,但被调度的子智能体可以使用其获准工具。

收到自然语言请求或 /workflows run <prompt> 后,Pi 生成确定性的 JavaScript 工作流。phase() 标记阶段,agent() 创建独立的 Pi 子会话,parallel() 并发执行任务,pipeline() 串联处理阶段;单次运行最多支持 16 路并发和 1000 个子智能体。每个 agent() 调用可配置 tier、具体 model、thinking、agentType、JSON Schema、超时、重试和 isolation: "worktree"。运行时可用 verify()、judgePanel()、loopUntilDry()、completenessCheck()、retry()、gate() 和 checkpoint() 执行复核、收敛搜索、重试或人工审批。系统把已完成调用写入日志,恢复时按调用位置重放缓存结果,并把新增或变化后的调用重新执行。后台面板和 /workflows 显示阶段、模型、智能体状态、令牌、成本与吞吐率,完成后将综合结果送回会话。

  1. 维护大型代码库的工程团队,可把 src/routes/ 等目录分片给多个子智能体,逐文件检查缺失的鉴权逻辑,再集中复核发现。
  2. 准备合并复杂改动的开发者,可用 /code-review 对当前 diff、Git 范围、单个文件或 GitHub PR 编号执行七个并行审查视角与验证。
  3. 计划大规模重构的团队,可让各子智能体在独立 Git worktree 和分支中修改代码,降低并行编辑冲突。
  4. 需要查证技术问题的研究者,可运行 /deep-research,让多个子智能体收集并交叉核对来源,最后生成带引用的综合结论。
  5. 经常执行同类审计的 Pi 用户,可将成功运行保存为命令,并从其他工作流中通过 workflow(name, args) 复用。
  6. 对模型成本或质量有明确要求的团队,可按任务指定模型层级、思考等级和预算,同时查看每个子会话的实测令牌与成本。

这个 Agent 有哪些优点和局限?

优点
  • 提供真正的并行编排,每次运行可调度最多 1000 个子智能体,并将并发限制在最多 16 路。
  • 支持按模型层级、具体 provider/modelId 和思考等级路由,不必让所有子任务使用同一模型。
  • 日志化恢复能复用已完成调用;编辑脚本后恢复时,未变化的前缀调用可直接从缓存重放,减少重复令牌开销。
  • Git worktree 隔离为并行代码修改提供独立分支,并默认保留 worktree 供后续合并。
  • 内置令牌、成本、吞吐率和后台进度可视化,并提供验证、评审团、完整性检查及人工检查点等质量控制原语。
局限
  • 核心运行依赖 Pi,文档没有给出可直接部署到 ChatGPT、Codex、Claude Code 或独立 OpenAI/Claude API 服务的路径。
  • 宽扇出的子智能体会增加模型调用量和费用;未配置 tokenBudget 时运行可不受总令牌预算限制。
  • 工作流脚本处于受限 Node vm 中,不能直接使用 Date.now()、Math.random()、require、import、文件系统或网络。
  • 恢复缓存按 agent() 的位置索引匹配;在前部插入、删除或重排调用会使该位置之后的缓存失效。
  • 子智能体默认不再加载宿主扩展,因此由其他扩展注册的 MCP、浏览器或桥接工具不会自动可用。
  • 可持久化子会话会保存完整转录,可能包含智能体读取的敏感内容,需要审慎启用。

如何安装或部署这个 Agent?

前提是使用 Pi 0.80.8 或更高版本,并具备 npm 包下载所需的网络连接。执行:

pi install npm:@quintinshaw/pi-dynamic-workflows

随后在 Pi 中运行:

/reload

模型层级会从已认证模型中自动选择;也可用 /workflows-models 配置 small、medium、big 对应的 provider/modelId。若工作流需要调用模型,应先在 Pi 中完成相应模型提供商的认证。

如何使用这个 Agent?

安装并重新加载后,可直接提交包含独立单词 workflow 或 workflows 的可分解请求,例如:
Run a workflow to audit every route under src/routes/ for missing auth checks.
也可显式运行:

/workflows run <prompt>

查看和管理后台任务可使用 /workflows,或通过 /workflows status <id>、/workflows pause <id>、/workflows resume <id> 和 /workflows stop <id>。内置入口包括 /deep-research <question>、/adversarial-review <task>、/multi-perspective "<topic>" [angle …]、/code-review [target] 与 /codebase-audit <scope> "<check>" …。若希望持续启用更彻底的编排,可使用 /ultracode;较轻量的常驻模式是 /effort high。

这个 Agent 与同类方案有什么区别?

它借鉴 Claude Code 的动态工作流:两者都采用代码模式编排、隔离子上下文、结构化输出、后台运行、模型选择和恢复机制。该项目在 Pi 中实现这些模式,并额外提供 Git worktree 隔离、实测成本统计、交互式 /workflows TUI、深度研究及质量辅助函数;它不是 Claude Code 插件,也没有文档证明可在 Claude Code 中直接运行。

常见问题

它会限制一次工作流的模型费用吗?
不一定。可以设置运行、阶段或智能体预算,tokenBudget 也可由配置提供;若两者均未设置,运行没有总令牌上限。面板会记录每个子会话的真实令牌和成本。
中断后是否必须重新运行所有子任务?
不必。已成功完成的 agent() 调用会写入日志,恢复时可重放缓存。编辑脚本后,保持位置和内容不变的前缀调用仍可复用;变化点及其后的调用会重新执行。
并行修改会不会互相覆盖?
可为 agent() 设置 isolation: "worktree",让子智能体在独立 Git worktree 和分支中工作。worktree 默认保留以便合并,也可通过 keepWorktree: false 在测试后删除。
子智能体能否使用宿主中的 MCP 或浏览器扩展?
默认不能。当前行为会为子智能体创建不加载宿主扩展的资源加载器,因此其他扩展注册的 MCP 桥接、浏览器及类似工具不会自动出现;显式交给子智能体的工具集不受此限制。
所有子智能体都失败或返回空白时会怎样?
空白输出属于可恢复的 AGENT_EMPTY_OUTPUT,可通过 agentRetries 重试。重试耗尽后该调用返回 null;即使所有调用都为空,运行仍可能标记为 completed,但会记录醒目的“Workflow produced no usable results”警告。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents