Prefect:把 Python 脚本变成生产级工作流,2026 年又收编了 Dagster

开源
数据工程
Python
工作流
收购
2026/9/30
·

阅读时间: 大约 9 分钟

Prefect:把 Python 脚本变成生产级工作流,2026 年又收编了 Dagster

Prefect 官网首屏:2026 年 7 月横幅宣布收购 Dagster Labs,定位"数据、ML 与 Agent 的持久编排"

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 命令,也是周报名里”把普通脚本变成生产级工作流”的技术落点。

Prefect 官网展示的运行监控看板:成功率、时长、24h 运行次数、P95 延迟与任务时间线

三、关键数据(可核对)

以下数字来自 GitHub 仓库与官网,访问时间 2026-09-30:

指标数值口径
GitHub Star约 24k仓库页
GitHub Fork约 2.5k仓库页
开源协议Apache-2.0仓库说明
Python 版本要求3.10+README
创立年份2018官方公开信
收购 Dagster Labs2026-07-13官网公告
企业合规SOC 2 Type II、HIPAA、GDPR官网自述
云服务可用性 SLA99.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 时代的基础设施。

五、优势与局限

优势:

  1. Pythonic、学习成本极低:装饰器风格对数据分析师友好,无需学 Airflow 那套 DAG 文件约定;
  2. 动态编排:运行时才决定分支与依赖,适合 ML、Agent 这类拓扑不确定的工作流;
  3. 混合部署灵活:云控制面 + VPC 执行面,兼顾托管便利与数据不出域;
  4. 生态整合:收购 Dagster 后,资产建模与动态执行两种范式同属一家,对大型组织是卖点。

局限:

  1. Open-core 的张力:开源 server 功能完整,但高级审计、RBAC、SSO、事件 Webhook 等企业能力在 Prefect Cloud;深度私有化用户要权衡功能缺口;
  2. 看板数字为示意:官网展示的高成功率、低延迟是营销演示,真实生产表现需自行压测;
  3. 双项目治理风险:两个同源竞品合并后,长期路线是否收敛、开源社区治理是否透明,仍需观察;
  4. 对比 Airflow 仍有生态差距:Airflow 的算子生态、第三方集成与存量部署基数更大,迁移成本不容忽视;
  5. Agent 方向尚早期:Prefect Horizon 等 Agent 能力属于新布局,成熟度有待验证。

六、谁该用

  • 想把 Python 脚本快速产品化的数据团队:Prefect 的装饰器范式迁移成本最低;
  • ML / Agent 这类拓扑动态、易失败的工作流:比静态 DAG 的 Airflow 更顺手;
  • 需要 VPC 内执行 + 云端托管控制面的企业:混合模型正中靶心;
  • 重度 Dagster 资产建模用户:短期可按官方承诺继续用旧产品,但建议评估两项目未来收敛后的迁移路径。

参考来源