19.MAF工作流框架揭秘
文章平均质量分 74
MAF工作流框架揭秘
JaydenAI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[MAF工作流框架揭秘-12]从WorkflowEvent角度解析Workflow的执行周期
本文介绍了如何通过事件跟踪Workflow执行流程,利用WorkflowEvent基类和预定义事件类型实现执行过程监控。通过继承WorkflowEvent可自定义事件类型,使用AddEventAsync方法输出。示例演示了一个银行转账Workflow,包含转账信息提取和转账执行两个节点,通过流式执行并输出结构化事件信息,展示Workflow的启动、执行步骤和完成等关键事件流程。 (字数:149)原创 2026-06-24 06:53:59 · 352 阅读 · 0 评论 -
[MAF工作流框架揭秘-11]如何将Workflow转换成AIAgent
WorkflowHostAgent将复杂Workflow封装为统一接口的Agent,实现API兼容性、可组合性和会话管理。以转账工作流为例,通过改造输入输出类型(需支持ChatMessage和TurnToken),将其转换为AIAgent。该流程包含交易提取、风险评估、人工审批和执行转账四个模块,利用ChatProtocolExecutor处理自然语言输入,验证后触发不同执行路径(自动处理或人工审批),最终以标准消息格式返回结果,实现了复杂逻辑与Agent生态的无缝集成。原创 2026-06-24 06:29:59 · 560 阅读 · 0 评论 -
[MAF工作流框架揭秘-10]基于Open-Telemetry的调用链跟踪
就调用链跟踪来说,起始Wokflow更有必要。原因很简单,Worflow往往具有复杂的网络拓扑结构,具体的执行路径由消息路由决定。每次调用都可以因为输入、当前外部状态以及LLM的输出的不同而走不同的路径。基于Open-Telemetry的调用链跟踪可以帮助我们清晰地看到每次调用的具体执行路径,进而分析和优化Workflow的设计是否合理,并在出错的时候快速定位问题所在的环节。原创 2026-06-23 07:22:06 · 393 阅读 · 0 评论 -
[MAF工作流框架揭秘-09]关于Checkpointing的一个严重Bug
在前文中,我们详细介绍了MAF的Workflow框架中的Checkpointing机制,并且通过一个示例程序演示了如何利用Checkpointing来实现Agent的状态持久化和恢复功能。其中提到一个关于FanInEdge的bug,我认为这是一个非常严重的bug,它会导致只要涉及到FanInEdge的Checkpointing功能就无法正常工作。我为此在github上提交了一个Issue,我们现在就来重点剖析这个Bug产生的根源。原创 2026-06-23 07:18:14 · 361 阅读 · 0 评论 -
[MAF工作流框架揭秘-08]基于Checkpointing的持久化
MAF的Workflow基于Checkpointing机制实现持久化,允许在Superstep执行过程中保存状态并从特定点恢复执行。Checkpointing适用于长时间运行、需暂停恢复、审计合规或环境迁移的场景。通过示例演示了如何捕获和利用Checkpoint:构建包含5个Executor的Workflow,启用内存Checkpoint管理器后,跟踪Superstep执行顺序(共4个步骤),并在每个Superstep结束时收集CheckpointInfo。虽然Checkpoint的具体内容被封装,但原创 2026-06-22 08:02:26 · 433 阅读 · 0 评论 -
[MAF工作流框架揭秘-07]基于Agent工具审批的人机交互的两种实现?
上一篇文章“人机交互(HITL)的实现”着重介绍了MAF的Workflow基于`RequestPort`的人机交互(HITL)的设计和实现细节,具体的做法就是在编排Workflow时引入`RequestPortBinding`节点,并使用它来发送外部请求和接收外部响应。如果我们在利用`AIAgentBinding`将某个`AIAgent`作为Workflow中的一个节点时,涉及敏感操作的工具审批又该如何实现呢?原创 2026-06-20 07:55:31 · 462 阅读 · 0 评论 -
[MAF工作流框架揭秘-06]人机交互(HITL)的实现
对于一个复杂的Workflow系统来说,除了需要有强大的编排能力和灵活的执行机制之外,还需要有良好的人机交互(HITL)支持,以便在Workflow执行过程中能够及时地获取用户的输入和反馈,从而更好地指导Workflow的执行和优化。MAF的Workflow框架利用`RequestPort`来实现了人机交互的功能。原创 2026-06-20 07:45:12 · 505 阅读 · 0 评论 -
[MAF工作流框架揭秘-05]工作流的三种类型的边(Edge)
MAF工作流边设计摘要 MAF工作流采用有向有环图(DCG)结构,通过ExecutorBinding表示功能节点,Edge类定义节点间的连接关系。边分为三种类型:Direct(直接连接)、FanOut(一对多)和FanIn(多对一),统一由Edge类表示。 Edge包含Kind(边类型)和Data(边数据)属性。EdgeData抽象类提供边的唯一标识Id和可选Label,其子类根据不同边类型实现特定连接方式。Direct边支持条件判断,可通过WorkflowBuilder的AddEdge方法添加静态或条件边原创 2026-06-19 07:34:59 · 415 阅读 · 0 评论 -
[MAF工作流框架揭秘-04]Worflow功能节点的多种定义方式
在MAF中,Workflow的功能节点是一个`ExecutorBinding`对象,`ExecutorBinding`可以利用封装的`ExecutorFactory`来创建一个`Executor`实例,并利用后者执行具体的操作。由于`ExecutorFactory`是一个委托类型,所以我们可以通过不同的方式来实现这个委托,从而实现不同的功能节点。MAF提供了很多原生的`ExecutorBinding`实现,我们就来看看最为常用的几个。原创 2026-06-18 08:30:44 · 409 阅读 · 0 评论 -
[MAF工作流框架揭秘-03]形式多样的各种Executor类型
当我们在利用`WorkflowBuilder`构建Workflow的时候,不论是指定的初始节点,还是添加的各种Edge,使用到的都是`ExecutorBinding`。但是`ExecutorBinding`自身并执行具体的功能操作,它总是利用绑定的工厂函数创建的`Executor`来做事。我们可以通过继承`Executor`这个抽象类,利用注册的路由处理器来完成所需的业务功能。MAF自身定义了一系列预定义的`Executor`类型,可以直接拿来为我所用原创 2026-06-17 07:51:32 · 401 阅读 · 0 评论 -
[MAF工作流框架揭秘-02]ExecutorBinding,还是Executor,你是否傻傻分不清楚?
我们已经习惯了将Workflow的功能节点称为`Executor`,这个说法其实是不太准确的。确切地说,Workflow的功能节点是一个`ExecutorBinding`对象,`ExecutorBinding`可以利用封装的`ExecutorFactory`来创建一个`Executor`实例,并利用后者执行具体的操作。接下来我们从`ExecutorBinding`作为切入点,看看执行的Worflow如何执行功能节点提供的操作原创 2026-06-17 07:49:06 · 457 阅读 · 0 评论 -
[MAF工作流框架揭秘-01]工作流基本的编程模式
Google在2010年发表的论文《Pregel: a system for large-scale graph processing》提出了分布式图计算框架Pregel,解决了传统MapReduce处理迭代图算法的效率问题。LangChain和MAF均受其启发,但应用方式不同:LangChain基于Pregel思想开发了LangGraph作为执行引擎,而MAF将其应用于工作流设计。本文以MAF的Workflow框架为例,展示了如何构建由Executor和Edge组成的工作流,并通过一个诗词翻译Age原创 2026-06-16 07:04:50 · 1120 阅读 · 0 评论
分享