Lyft 用它跑了 4 年、每月 100 万次工作流执行——现在 Flyte 2 把这套生产级 ML 编排能力彻底开源了

Lyft 用它跑了 4 年、每月 100 万次工作流执行——现在 Flyte 2 把这套生产级 ML 编排能力彻底开源了


Flyte 最近发布了 v2.0.44,保持着每周一个小版本的迭代节奏。真正值得注意的是:Flyte 2 在今年 3 月正式 GA 之后,核心定位从「ML 流水线编排器」升级成了「AI Agent 编排运行时」。这不是改个描述就完事了——它真正解决了一个很实在的问题:当你的 AI 应用需要在生产环境里跑多个步骤、多个模型、多个外部工具的时候,怎么保证它不崩、怎么让它从崩溃里恢复、怎么让这一切在本地开发和生产部署之间无缝切换。

它到底是什么,适合什么场景

Flyte 的本质是一个声明式的 Python 工作流引擎,跑在 Kubernetes 之上。核心卖点有三个:

1. 纯 Python 创作,无需学新 DSL

工作流直接用 Python 写,装饰器一行搞定,不像 Airflow 需要写 YAML + Python 混合体,也不需要学 KubeFlow 的 DSL。代码可以直接在本地跑、debug、重跑,然后一条命令部署到集群:

import asyncio
import flyte

env = flyte.TaskEnvironment(
    name="ml_pipeline",
    image=flyte.Image.from_debian_base(python_version=(3, 12)),
)

@env.task(retries=3, cache="auto")
async def train_model(data: list[int]) -> float:
    # 训练逻辑
    return accuracy

@env.task
async def evaluate(result: float) -> bool:
    return result > 0.95

2. 真正 durable 的 Agent 工作流

这是 Flyte 2 的核心升级。如果你做过 Agent 系统,一定遇到过这类问题:模型调用到一半容器被 OOM Kill 了、工作流跑到一半 pod 被抢占、基础设施故障导致整个流程重来。Flyte 2 声称自己能处理这类「基础设施级失败」,包括 OOM 和容器抢占,自己恢复、自己续跑,不需要你写额外的重试逻辑。

3. 动态编排 + 静态 DAG 两不误

传统 ML 编排器要求你在运行前把所有依赖关系写死成 DAG,但 AI Agent 的工作流往往是动态的——需要根据上一步的输出决定下一步调用什么模型、读什么工具。Flyte 2 支持运行时决策(分支、循环、动态资源分配),同时保留了静态 DAG 的可预测性。

在生产环境里真实在用的公司

根据 LibHunt 和 SourceForge 的对比数据,Flyte 在 Lyft 的生产环境里跑了 4 年,管理超过 10,000 个独立工作流,每月执行超过 100 万次,总计运行 2000 万个任务、4000 万个容器。Spotify、Freenome 也在生产环境使用。Amazon、LinkedIn、Stripe、Expedia 则是其企业版客户。

和竞品怎么选

Flyte Airflow Kubeflow
定位 AI/ML/Agent 编排 数据流水线 K8s 上的 ML 工具集
编程模型 纯 Python Python + YAML YAML + Python
Agent 工作流 ✅ 原生支持 ❌ 勉强
本地开发体验 TUI + Devbox
动态 DAG 部分
成熟度 4 年生产验证 更成熟 更成熟
学习曲线 中等 较低 较高

如果你在搭 AI Agent 系统、需要跑 LLM Pipeline、或者现有 Airflow 团队想迁移到更现代化的方案,Flyte 值得认真看。如果你只是做简单的定时任务调度,Airflow 够用。

真实使用门槛

适合上的人:

  • 有 Kubernetes 基础,了解容器化部署
  • 团队有 Python 开发者,不需要专门学 DSL
  • 需要跑跨模型、跨步骤的 AI Pipeline,有状态恢复需求
  • 需要在多环境(dev/staging/prod)统一工作流管理

不适合的人:

  • 小团队快速原型,用 LangChain 的 AgentExecutor 就够了
  • 完全不想碰 Kubernetes,需要开箱即用的托管方案(可以考虑 Union.ai 的托管版)
  • 工作流是纯静态的 ETL,不需要动态分支

怎么快速体验

本地跑起来只需要几行命令:

# 安装(需要 Python >= 3.10)
uv pip install flyte

# 用 TUI 运行第一个工作流
flyte run --tui your_workflow.py main --data '[1,2,3]'

或者用 Devbox 在 Docker 里跑完整集群:

flyte start devbox
flyte create config --endpoint localhost:30080 --project flytesnacks --domain development
flyte run your_workflow.py main --data '[1,2,3]'

Colab 也有 10 分钟上手 notebook:Try In Colab

文档在 https://docs.flyte.org,Slack 社区活跃度高,GitHub Discussions 也有不少实战讨论。

下一步建议

如果你想认真评估 Flyte:

  1. 先在本地跑通 10 分钟上手教程,感受纯 Python 创作体验
  2. 对比一下 Flyte 1 → 2 的迁移文档,评估迁移成本
  3. 如果你在 Lyft/Spotify 这个量级,可以直接看生产级扩展指南

项目地址:https://github.com/flyteorg/flyte
官网:https://flyte.org

评论区

0 条评论

登录后可评论。