Prefect:把 Python 脚本变成生产级工作流,2026 年又收编了 Dagster
阅读时间: 大约 9 分钟
Prefect:把 Python 脚本变成生产级工作流,2026 年又收编了 Dagster

Prefect 是一个用 Python 构建数据管道的工作流编排框架,2018 年由 Jeremiah Lowin 创立。它的核心卖点一句话就能说清:在普通 Python 函数上加 @flow、@task 装饰器,就能把脚本升级为可调度、可缓存、可自动重试、可观测的生产工作流,无需学习一套全新的 DAG 定义语言。2026 年 7 月 13 日,Prefect 宣布收购缠斗八年的老对手 Dagster Labs,成为当下数据编排赛道最受关注的事件。
一、背景:从 cron 到 DAG 的老路
写脚本处理数据并不难,难的是从”偶尔跑一次”过渡到”每天稳定跑、挂了能自愈、出错有告警”。过去这条路要么靠 cron 加一堆手写运维,要么上 Apache Airflow 写静态 DAG。Prefect 走的是第三条路:保持代码就是普通 Python,让框架在运行时动态推断依赖关系,并把状态、日志、重试、调度统一接管。
二、它怎么工作
最小用法在 README 里就展示了:
from prefect import flow, task
@task(retries=3)
def extract(source): ...
@flow
def daily_revenue_elt():
load(transform(extract("warehouse")))- 装饰器即编排:
@flow定义工作流,@task定义步骤,retries=3直接声明重试策略; - 本地即服务:
pip install -U prefect或uv add prefect(要求 Python 3.10+),prefect server start后在http://localhost:4200打开 UI; - 部署即调度:把脚本末尾改成
daily_revenue_elt.serve(name=..., cron="* * * * *")即可定时运行; - 两种形态:自托管开源 Prefect server,或托管的 Prefect Cloud;
- 混合执行:控制面可以在云、执行面落在你自己的 VPC 里,同一份代码到处部署。
这种”控制面与执行面分离”是 Prefect 区别于传统 Airflow 自部署的关键工程决策:你把 flow 代码部署到自己的计算环境(虚拟机、K8s、Serverless 都行),由本地的 agent / work pool 拉取任务执行,状态回传给控制面。这意味着哪怕底层基础设施频繁更换、某个步骤临时失败,只要重试策略和依赖声明写好,整个工作流仍能”站稳”。对数据团队而言,这把过去要自己搭的任务队列、状态库、告警页压缩成了一个装饰器加一条 serve 命令,也是周报名里”把普通脚本变成生产级工作流”的技术落点。

三、关键数据(可核对)
以下数字来自 GitHub 仓库与官网,访问时间 2026-09-30:
| 指标 | 数值 | 口径 |
|---|---|---|
| GitHub Star | 约 24k | 仓库页 |
| GitHub Fork | 约 2.5k | 仓库页 |
| 开源协议 | Apache-2.0 | 仓库说明 |
| Python 版本要求 | 3.10+ | README |
| 创立年份 | 2018 | 官方公开信 |
| 收购 Dagster Labs | 2026-07-13 | 官网公告 |
| 企业合规 | SOC 2 Type II、HIPAA、GDPR | 官网自述 |
| 云服务可用性 SLA | 99.99% | 官网自述 |
需要特别说明:官网看板图上的”成功率 99.2%、24h 运行 2,182 次、P95 延迟 4.1s、平均时长 1.4s”是产品演示用的示意数据,并非某个真实客户的线上指标;99.99% 是 Prefect Cloud 商业版的 SLA 承诺,不等于自托管开源 server 的可用性。客户案例方面,官网列举了 Ramp、WHOOP、Cash App、Snorkel AI、Flatiron Health 等,其中 WHOOP 自称把生产事故减少了 75%(案例方口径)。
四、收购 Dagster:八年对手成一家
这是理解 Prefect 当下定位的关键。在公开信里,CEO 把两者的哲学差异讲得很清楚:
- Dagster 的答案是”资产”(assets):声明”应该存在哪些数据”,由系统推导如何生产与刷新,适合强调数据定义与血缘的团队;
- Prefect 的答案是”执行”(execution):让工作本身动态、持久地跑,扛过失败、重试与环境变化,适合强调复杂、易失败工作流可靠性的团队。
官方承诺”Dagster 保持 Dagster”,产品继续维护、投资,现有 Dagster+ 客户无需任何操作;Dagster 创始人 Nick Schrock 与 Pete Hunt 的团队成员加入 Prefect。与此同时,Prefect 近两年明显把边界从”数据管道”往外扩:官网标题已变成”Workflow Orchestration for Data, ML, and Agents”,并推出 Prefect Horizon 作为面向 AI Agent 的 MCP 网关——编排层正在成为 Agent 时代的基础设施。
五、优势与局限
优势:
- Pythonic、学习成本极低:装饰器风格对数据分析师友好,无需学 Airflow 那套 DAG 文件约定;
- 动态编排:运行时才决定分支与依赖,适合 ML、Agent 这类拓扑不确定的工作流;
- 混合部署灵活:云控制面 + VPC 执行面,兼顾托管便利与数据不出域;
- 生态整合:收购 Dagster 后,资产建模与动态执行两种范式同属一家,对大型组织是卖点。
局限:
- Open-core 的张力:开源 server 功能完整,但高级审计、RBAC、SSO、事件 Webhook 等企业能力在 Prefect Cloud;深度私有化用户要权衡功能缺口;
- 看板数字为示意:官网展示的高成功率、低延迟是营销演示,真实生产表现需自行压测;
- 双项目治理风险:两个同源竞品合并后,长期路线是否收敛、开源社区治理是否透明,仍需观察;
- 对比 Airflow 仍有生态差距:Airflow 的算子生态、第三方集成与存量部署基数更大,迁移成本不容忽视;
- Agent 方向尚早期:Prefect Horizon 等 Agent 能力属于新布局,成熟度有待验证。
六、谁该用
- 想把 Python 脚本快速产品化的数据团队:Prefect 的装饰器范式迁移成本最低;
- ML / Agent 这类拓扑动态、易失败的工作流:比静态 DAG 的 Airflow 更顺手;
- 需要 VPC 内执行 + 云端托管控制面的企业:混合模型正中靶心;
- 重度 Dagster 资产建模用户:短期可按官方承诺继续用旧产品,但建议评估两项目未来收敛后的迁移路径。