跳到主要内容
AGENT WORKFLOW LANGUAGE

流程写进提示词,只能许愿。
写成代码,才能兑现。

用一份 .flow 文件定义步骤、输出和验收条件。Agent 处理任务,运行时负责校验结果、限制资源,并在条件不满足时停止。

独立语言 · 可嵌入的运行时 · 不绑定模型厂商

verify.flow一个代码交付流程
01
实现需求agent(implementer)
stage
02a
运行测试expect TestReport
02b
检查风险expect ReviewReport
03
按条件验收测试通过,且没有阻塞项
verify
验收规则RUNTIME
pass when tests.passed
 and review.blockers.empty

条件不满足,流程在这里停止。

流程示意 · 节选自 verify.flow
01
执行前检查语法、类型与依赖
02
调用后校验 Agent 输出结构
03
运行中控制并发、权限与超时
01 / 把规则写清楚

从「请按步骤做」
到每一步都有依据。

一次模型调用,通常不需要一门新语言。但当任务开始有依赖、要并行、需要验收,流程本身就值得被明确表达。

了解 Agent Flow 的设计取舍
01

输出有契约

下游需要哪些字段、什么类型,用 expect 声明。输出必须经过结构校验,才能被当作这个类型使用。

expect Result
02

继续有条件

把验收条件写成 pass when 表达式,再用 require 拦住未通过的结果。流程不必依赖 Agent 自行决定是否继续。

require result.passed
03

执行有边界

并发数、调用次数、超时和请求权限都有明确的声明。工作流请求的能力,仍受宿主策略限制。

limits · tools · timeout
02 / 看一段真实代码

规则不藏在提示词里。

三个片段,分别说明输出、验收和并发如何被约束。

simple.flow / 代码节选
stage answer -> Result {
  return agent(writer) {
    task "Answer the request"
    input {
      request: input
    }
    tools none
    expect Result
  }
}

expect Result 会生成 JSON Schema,并由运行时校验。默认提供一次修复机会;仍不合规则报错。

查看语法说明

为便于阅读,省略外围类型和部分任务参数。完整示例见文档。

从一个小流程开始

先跑通一步,
再编排整个流程。

从 simple.flow 开始,检查语法,查看编译产物,再在沙箱里运行。接入真实模型时,由你实现 AgentRuntime 适配器。

跟着快速开始运行
在仓库根目录运行
pnpm install
pnpm build
node packages/cli/dist/main.js check examples/simple.flow

需要 Node.js 20 或 22、pnpm ≥ 9。CLI 演示使用 FakeAgentRuntime,不调用真实模型。

适用于有阶段、依赖和验收要求的工作流。单轮问答,直接调用模型 API 就足够。