聊 Agent 平台的时候,我有个判断标准:谁在吹「一站式」,谁的产品线反而最乱。
Dify 塞了工作流、知识库、模型管理、插件市场;n8n 塞了 400 多个集成;Zapier 一边推 Agent 一边把 API 平台单独拆出来卖。功能都堆得很满,但你真上线跑一周就会发现,Agent 任务和普通数据任务根本不是一回事。
前者会自己决定下一步调哪个工具、在那儿卡住重试、写到一半失败要回滚;后者老老实实按 DAG 跑完就完。这两种负载塞进同一个引擎里,怎么搞都是拧巴。
Prefect 最近干的事,正好印证了这个判断——它没继续往上加功能,而是往下补了一层,然后把同层最强的对手买下来了。
Prefect 是什么
一句话:Prefect 是用纯 Python 写的持久化工作流引擎。
关键在「持久化」三个字。传统 Airflow 是静态 DAG,你得在代码里写死任务依赖;Prefect 你直接写普通 Python 函数,加个装饰器就是一次可观测、可重试、可缓存、可回填的任务:
from prefect import flow, task
@task(retries=3, retry_delay_seconds=10)
def fetch_orders(day: str):
return db.query("select * from orders where day = ?", day)
@flow(log_prints=True)
def daily_etl(day: str):
fetch_orders(day)
就这几行。没有 DAG 声明文件,任务图是运行时动态生成的——这也是它比 Airflow 轻的原因之一。
我拉了 2026 年 10 月 5 日的实际数据:
- GitHub 23,966 星,Apache-2.0,2018 年 6 月建仓,最后一次推送是 10 月 3 日,还在活跃开发
- PyPI 月下载 684 万,日均 15.4 万
- 母公司 Prefect 上一整年财报是盈利的
这个下载量在编排类工具里不算炸裂,但考虑到它只是「AI Agent 的地基」而不是门面项目,这个数字挺合理。
2026 年 7 月:它把 Dagster 买了
这是今年编排圈最大的新闻之一。
2026 年 7 月 13 日,Prefect 创始人兼 CEO Jeremiah Lowin 发了公开信,宣布收购 Dagster Labs。两个项目都在 2018 年成立,是同一条赛道上缠了八年的对手——Dagster 走「声明你该有哪些数据资产」,Prefect 走「让执行本身动态且持久」。
收购后 Dagster 保持独立品牌、保持开源协议、部分团队并入 Prefect。CEO 在信里给了个我觉得挺诚实的定位:
Dagster 定义产出,Prefect 执行工作,FastMCP 管访问。
加上 FastMCP(2.7 万星,PyPI 月下载 5310 万),Prefect 手里现在是三个独立产品线,对应 Agent 平台的三件事:产出是什么、工作怎么跑、能碰什么。
上手:十分钟把它跑起来
前置条件就一个:Python 3.10+。
pip install prefect
prefect server start # 起本地 UI,默认 4200 端口
然后把上面那段 @flow / @task 代码存成 demo.py,直接 python demo.py 跑。跑完打开 UI,你会看到这次 flow 的每个 task、耗时、重试次数、缓存命中,全是自动记的。
想接定时任务,加个部署就行:
prefect deploy demo.py:daily_etl -n daily-etl
我的实操建议就两条:
第一,先自托管,别急着上 Cloud。 prefect server start 本地就能跑,SQLite 后端零配置。等你真需要多节点调度和团队权限再迁 Cloud,代码一行不用改——官方明确说 Cloud 和自托管共用同一个核心引擎。
第二,如果你的 Agent 要跑超过几分钟,别用普通 task。 Prefect 有专门的 background task 类型,支持流式返回和持久化轮询。这也是它和普通编排框架的分水岭:FastAPI 里 async def 进程一重启就没了,Prefect 里的任务有状态可以恢复。
说点实话
一、它是基础设施,不是 Agent 框架。
这点必须讲明白,不然容易踩坑。Prefect 自己不做 Agent 决策,它不给你「多智能体协作」「工具自动选择」这些东西。它的角色更像高速公路:Agent 在上面跑,但转向和踩油门是你自己的代码决定的。
真要开箱即用的多 Agent 编排,Prefect 自己的方案是 ControlFlow(构建在 Prefect 之上)。但说实话,ControlFlow 的社区体量和你在别处见过的 AutoGen、CrewAI 不是一个量级,属于「能用,但别指望有现成的踩坑经验帖」。
二、对比 Airflow,它省事;对比 Temporal,它弱。
Airflow 的老毛病是「用 Python 写任务,却要用非 Python 的方式描述任务」,Prefect 把这个割裂砍掉了,这是它最明显的胜利。但 Temporal 那种「崩溃恢复 + 严格幂等」的模型 Prefect 是没有的——Prefect 的恢复靠的是幂等性和缓存,不是分布式日志重放。
任务跑几分钟到几小时,Prefect 舒服。跑几天、要精确 exactly-once、涉及资金账务,Temporal 才是那个领域的答案。
三、三件套一起上,容易贪多。
Dagster 和 Prefect 的关系,官方原话是「互补多于竞争,很多组织两个都需要」。这话没错,但反过来说:个人开发者或者小团队,先只用 Prefect 一个。数据口径真吵起来了,再考虑 Dagster。FastMCP 倒是可以早点上——MCP 生态它基本是事实标准了。
三层怎么选(实测数据)
| 项目 | Stars | PyPI 月下载 | 定位 |
|---|---|---|---|
| Prefect | 23,966 | 684 万 | 执行层:持久化工作流 |
| FastMCP | 27,970 | 5310 万 | 接入层:MCP 服务框架 |
| Dagster | 16,234 | 786 万 | 产出层:数据资产定义 |
拿这张表对照你的需求:
- 只是想让 Agent 连上你的工具和数据库 → 直接上 FastMCP
- Agent 任务会跑几小时甚至几天,中间要重试和恢复 → 上 Prefect
- 团队天天在吵「这个指标到底怎么算」 → 先上 Dagster
顺带一句:FastMCP 的 PyPI 月下载 5310 万,是 Prefect 的近 78 倍。这说明一个残酷的事实——大部分人只在做「让 Agent 能用上工具」这一件事,真正愿意去扛持久化执行复杂度的团队是少数。
这也是我认为 Prefect 这步收购走对了的原因:Agent 平台往深了做,一定会撞上「任务跑不完」的墙,而墙后面站着的正是它。
想自己动手跑一遍的话,我之前写过一篇 n8n 是什么,那篇偏「可视化自动化」,跟今天这篇「纯代码的持久化引擎」路子完全不同,可以对着看。
顺带说一句我的选型习惯:不管选哪个 Agent 平台,先把最脏的那个 API 用手工 curl 打通,再上平台。平台会帮你省事,也会帮你掩盖问题——让你到上线那天才发现,脏活儿一个没少。
by 数码罗记 · godsun.pro
本文数据核实于 2026 年 10 月 5 日,Stars 与 PyPI 下载量均为当日实时抓取。