Skip to content

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Latest commit

 

History

37 Commits

Folders and files

Repository files navigation

Agent Flow Language

Agent Flow Language(AFL)是一种用于描述 Agent 工作流的语言。它把 Agent 调用、上下文传递、并发协作、条件分支和动态决策写成可阅读、可验证、可执行的工作流,而不是把编排逻辑隐藏在宿主程序或 prompt 中。

AFL 适合表达代码审核循环、并行研究、专家投票、分层组织协作,以及需要 AI 在受控范围内临时规划的工作流。

特点

  • 行为是一等内容:循环、分支、调用、并发和失败路径都属于工作流语义,不只是节点图或配置数据。
  • 确定性与自主性并存:可预先确定的步骤使用明确控制流;无法预设的部分通过 Agent 的 route 和 flow activation 交给模型,并保留作用域和验证边界。
  • 依赖驱动并发:没有数据或资源冲突的工作可以自然并行,同一 Agent、Memory 和重叠 Workspace 的操作保持有序。
  • 上下文显式流动:业务数据与消息角色相互分离;Agent Memory 可以复制、应用和分支,不依赖隐式全局对话。
  • 运行环境解耦:工作流使用 symbol 描述 Agent、Prompt、Schema、Capability 和外部 Flow,具体模型与服务由运行环境绑定。
  • 组合优先:Node 可以同步调用、批量派发或动态选择,使工作流能够从简单协作扩展到多层组织。
  • 可验证、可追踪:执行前检查名称、类型、控制流和资源生命周期;运行过程可以输出结构化 trace,运行环境还可以施加预算、授权和 Workspace 策略。

示例

下面的工作流让 Coder 完成任务,再把完整上下文交给 Reviewer;审核未通过时,意见会返回给 Coder 继续修订:

main(task):
    entry:
        coder = agent @agent.coder
        code = coder.do task
        jump review

    review:
        review_memory = coder.memory.copy
        reviewer = agent @agent.reviewer, [memory: review_memory]
        verdict = reviewer.do "Return exactly finish when correct; otherwise list every defect."
        finished = oper verdict == "finish"
        branch finished, done, revise

    revise:
        code = coder.do verdict
        jump review

    done:
        ret code

完整示例见 examples/coder-reviewer.afl。

可视化

较长的 AFL 可以生成一份直接打开的交互式静态图:

afl visualize examples/coder-reviewer.afl

图只把模型调用和分支显示为节点,其余运算与控制行为折叠到连线上;本地 Node 调用、循环、并发关系和 Freedom 动态候选仍然保留。ELK 分层布局负责减少交叉并生成正交连线。默认输出 examples/coder-reviewer.graph.html;更多选项见工作流可视化。

文档

AFL 当前处于 v0 阶段,语法与 API 仍可能调整。当前支持范围以 docs/ 中的规范为准。

许可证

本项目采用 Apache License 2.0。

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages