系列: RAGFlow v0.25.0 源码深度解析
作者: 耿雨飞
前置知识: 已完成第十五课"RAPTOR – 递归抽象树检索"的学习
导读
从第一课到第十五课,我们已经深入剖析了 RAGFlow 作为 RAG 引擎的全部核心能力:文档解析、分块策略、向量化索引、检索排序、GraphRAG、RAPTOR 等。但 RAGFlow 不仅仅是一个 RAG 引擎——它还内置了一个完整的Agent 工作流编排系统。
在 RAGFlow 的 Web 界面中,用户可以通过拖拽组件、连线定义流程、配置参数来构建复杂的 AI 工作流。这套可视化画布背后的运行时引擎就在agent/目录中。它的核心设计理念是:将工作流定义为 JSON DSL,将执行建模为有向图遍历。
本课将深入分析 Agent 画布引擎的三大核心:
- DSL 结构与解析:JSON 格式的工作流定义如何被解析为可执行的有向图
- 组件注册与加载:22+ 内置组件 + 23+ 外部工具如何被动态发现和实例化
- 图执行引擎:
Canvas.run()如何驱动组件按拓扑顺序执行、处理分支、支持流式输出