Kestra 是什么?用 YAML 把数据、AI Agent、基础设施一锅编排的开源编排平台(基础篇)

Kestra 是什么?用 YAML 把数据、AI Agent、基础设施一锅编排的开源编排平台(基础篇)

Kestra 是什么?把数据、AI Agent、基础设施一锅编排的开源平台(基础篇)

这半年国内 Agent 圈炒得最凶的是 Dify、Coze、n8n 这些「拖拽就能搭」的,但你要是去问真正在搞生产环境的同学,会发现另一拨人悄悄在用一个叫 Kestra 的东西。它不靠花哨的界面,靠一句「用 YAML 把活儿全编排起来」,就在 GitHub 上攒到了 28.3K 星,而且是被 Apple、丰田、彭博、JPMorgan 这些大厂跑过关键业务的调度引擎。今天这篇基础篇,咱们就把它扒开看看。

它到底是个啥?

Kestra 是最早做「工作流编排」(orchestration)起家的,2021 年成立,核心就一条:用声明式 YAML 描述你要干的事,调度、重试、超时、审计全交给它。你写一个 flow(工作流),告诉它「每天半夜 2 点跑这个数仓任务,失败了重试三次」,剩下的它看着办。

它的血统是数据/基础设施那套(Airflow、Terraform 的亲戚),跟 n8n 这种「可视化连应用」是两条路。所以 Kestra 一开始并不算 Agent 平台——直到 1.0 把 AI Agent 加进来,事情就不一样了。2025 年 9 月 9 号,Kestra 发布 1.0 LTS,正式给自己贴了个标签:「Declarative Agentic Orchestration Platform」,声明式智能体编排平台。翻译成大白话:别的框架帮你让 Agent「想」得更聪明,Kestra 帮你让 Agent「跑」得稳、跑得上生产。

项目硬实力

  • 架构:Java 写的,分布式、队列驱动,天生能水平扩展。YAML 声明式,Python / JS / Go / R / Shell 全都能塞进去当任务跑。
  • 插件星球:官方说 2000+ 插件,数据、AI、基础设施、告警、消息队列全覆盖,还有 690+ 现成模板(Blueprint)抄作业。
  • AI Agent 原生:一个 AIAgent 任务 = 大模型 + 记忆 + 工具。工具能调用 Web 搜索、跑代码、触发别的 flow,还能走 MCP(Model Context Protocol)——既能当客户端连外部 MCP 服务,也能把自己暴露成 MCP 工具给别人调。
  • 多智能体:1.1 以后允许「Agent 调用 Agent」,一个主 Agent 把子任务派给专门的小 Agent,或者通过 A2A 协议对接远端 Agent。
  • 人类参与:Pause / HumanTask 任务可以让流水线停在「要不要给对方发邮件、退款、删数据」这种危险动作前,等人点确认才继续。

一句话定位:框架管 Agent 怎么思考,Kestra 管 Agent 怎么活着。它跟你手里那套 LangGraph / CrewAI 不冲突,反而是互补——你可以把 LangGraph 搭好的 Agent 直接包进 Kestra 的 flow 里跑。

怎么上手?

比你想的简单。Kestra 自托管用 Docker 一条命令就能拉起来,有 Web UI(Topology 拓扑图实时看 DAG)、代码编辑器、Git 同步、Terraform 集成。

一个「让 Agent 干活」的最小 flow 大概长这样:

id: my_agent
namespace: demo
tasks:
  - id: ai
    type: io.kestra.plugin.core.flow.AIAgent
    systemMessage: 你是一个调研助理
    prompt: 帮我查一下本周 AI 圈的大新闻
    tools: [WebSearch, FlowCalling]

在 UI 里填上模型 Key(OpenAI / Gemini / Claude / DeepSeek / Ollama 都支持),保存、跑一下,拓扑图里就能看到它的工具调用时间线、token 用量、每步推理过程。每一步都有完整审计日志,还能一键回放——这就是它跟「跑完就完事」的脚本脚本党最大的差距。

说实话(老实交代)

Kestra 不是给「只会拖拽」的人准备的。它门槛明显偏高:你至少得懂基本 YAML 和「编排」思维,纯 UI 玩家会劝退。跟 n8n 比,n8n 十分钟能连好 Slack + 表单,Kestra 十分钟可能还在写第一个 flow 的骨架——这是定位差别,不是谁差谁好。n8n 是快速原型、业务系统串联的好手;Kestra 是数据管道、基础设施、长期跑的 Agent 该待的地方。

另一个天坑:Agent 是非确定性的。Kestra 官方文档自己都承认「Agent 不适合需要严格可重复的关键任务」。所以它是「传统编排 + Agent 混合」的思路——确定性步骤用 YAML 焊死,动态决策才放 Agent 进去。另外它每个 Agent 调用都烧 token,要心里有数。

一句话总结:如果你只是在本地玩 Agent,拿 Dify / n8n 就够爽了;如果哪天你的 Agent 要每天定时跑、要重试、要出问题能回放、要给客户付钱才敢跑,那就该上 Kestra 了。 想横向对比更多选手,可以翻翻我写过的 n8n 入门、LangGraph 编排 和 BeeAI 多 Agent 框架 这几篇。


by 数码罗记 · godsun.pro

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注