任何 Devin session 都可使用动态工作流程——只需描述任务,并让 Devin 将其作为工作流程运行。**Enterprise 账户:**在企业管理员于 企业设置 > Devin 中启用 动态工作流程 之前,此功能处于关闭状态。在此之前,Devin 不会在该 Enterprise 的任何组织中运行工作流程。
什么是动态工作流程?
动态工作流程是一种以确定性方式编排 Devin Agent 团队的 Python 脚本。Devin 会编写并运行该脚本;脚本决定运行哪些 Agent、运行顺序以及向每个 Agent 提供哪些指令——利用前序 Agent 的结构化结果构建后续 Agent 的提示。 每次 Agent 调用都会被记录,因此工作流程在运行过程中可观测,中断后也可恢复:已完成的 Agent 会立即重放记录的结果,只有未完成的工作会重新运行。 这比托管 Devins更进一步:后者需要协调会话手动启动并监控子会话。在工作流程中,编排本身就是代码。动态工作流程的工作原理与适用场景,并以对 12 个组件进行无障碍审查为例
何时使用工作流程
当任务具有明确的结构时,建议使用工作流程:- 大范围并行后汇总 — 大约五个或更多彼此独立的单元 (文件、模块、端点、工单) ,每个单元都需要判断或验证,随后再汇总结果。
- 分阶段流水线 — 后续阶段会使用前一阶段的结构化输出,例如 审计 → 修复 → 验证。
- 变更是机械性的 — codemod、linter 自动修复或生成器能比 Agent 更快、更可靠地完成。
- 只需一两个独立 session,且它们之间无需传递数据。
- 任务因共享状态而紧密耦合,或者规模较小且需要按顺序完成。
提示示例
你描述任务并请求一个工作流程;Devin 会编写脚本。 迁移 — 为每个单元分配一个 Agent,使其在各自的分支上工作,然后汇总:运行流程
- Devin 将脚本写入文件并启动运行。运行默认会自动批准;如果希望 Devin 在每次运行前请求你的批准,请关闭 Settings → Preferences → 自动批准工作流程。
- 脚本在 Devin’s machine 上运行。 工作流程基元会自动注入,无需安装或导入任何内容。
- 每次 Agent 调用都会启动一个 Agent,并等待其结构化输出。默认情况下,该 Agent 是在独立 VM 上运行的独立 Devin 会话。
- 进度会实时同步到会话中。 工作流程面板会显示每个阶段、对应的 Agent 及其实时状态;你可以从那里打开任意 Agent 的会话。
- **结果会按运行 ID 记录,**因此可以恢复运行。
编写模型
脚本使用原生 Python 编写。Devin 会编写脚本,但在审查时了解其结构会有所帮助:
每次
agent() 调用都会接收一个 JSON Schema,并返回符合该 Schema 的 dict;这样,一个阶段的发现项就能成为下一阶段的提示。保持 schema 简洁且扁平。
示例
跨三个模块的“先审计,后修复”流水线:Agent 的运行位置
默认情况下,每个 Agent 都在独立的 VM 上运行,也可以固定到编排会话所在的机器上。独立 VM(默认)
一个完整的子 Devin 会话,拥有自己的机器、仓库克隆和环境。它无法访问编排会话的文件,因此代码交接需通过 git 分支进行:每个 Agent 推送一个分支并报告分支名称,后续阶段再从结构化输出中读取该名称。
共享 VM
Agent 在编排会话所在的机器上运行,并共享其工作树,包括未提交的更改,因此无需通过 git 交接。当 Agent 必须读取或编辑当前工作树,或者仓库仅存在于该机器上时,请使用此选项。
确定性与恢复执行
恢复运行时,工作流程脚本会从头重新执行,每次 Agent 调用则通过其提示、模式和执行设置的哈希值来确定。所有已完成的部分都会重放其已记录的结果;其余部分会使用新会话重新运行。 这只有在脚本每次都进行相同调用时才有效。工作流程逻辑和提示不得依赖当前时间或日期、随机性、生成的 ID、环境变量、文件系统状态或网络响应。任何需要检查外部世界的信息都应放在agent() 调用中,其记录的输出由脚本其余部分使用。
有两个需要注意的结果:
- 编辑提示会重新运行该 Agent 及其所有下游内容,而未修改的早期 Agent 仍会重放。
- 超时或中断的运行会从上次停止的位置继续执行,恢复时需使用其运行 ID。一次运行的默认和最大预算均为七天。
成本
工作流程中的每个 Agent 都是一个 Devin session,因此一次运行消耗的 ACU 可能远高于在单个 session 中完成同一任务。将工作流程应用到整个 repo 之前,先在一小部分内容上运行——例如一个 directory、三个 module 或一个范围更窄的问题——并在工作流程面板中查看各 Agent 的 ACU 用量。对于逐项分类等高频阶段,选择成本更低的 mode,也能让大规模扇出保持在可负担的范围内。保存工作流程以供复用
工作流程验证可用后,可以将其作为 技能 提交到你的 repo:创建一个workflow.py 文件,并在旁边提供 SKILL.md 说明其适用场景。之后,Devin 会在处理后续任务时发现并重新运行该工作流程,而无需重新编写脚本。让 Devin 保存工作流程,它会为你创建所需文件。

