Principle:Infiniflow Ragflow Agent Execution
| Knowledge Sources | |
|---|---|
| Domains | RAG, Agent_Systems, Workflow_Orchestration |
| Last Updated | 2026-02-12 06:00 GMT |
Overview
A graph-based workflow execution engine that traverses the agent DSL, invokes components in topological order, and streams results via SSE events.
Description
Agent Execution is the runtime engine that processes the agent's DSL graph. The Canvas.run async generator traverses the graph from the Begin node, invoking each component in order based on edge connections. It handles branching (Categorize/Switch), iteration (Loop/Iteration), user input pauses (UserFillUp), error handling with exception handlers, and streams SSE events (workflow_started, node_started, node_finished, message, message_end, user_inputs, workflow_finished).
Usage
Triggered via the POST /canvas/completion endpoint when a user sends a query to an agent.
Theoretical Basis
The execution model follows a directed acyclic graph (DAG) traversal with extensions:
- Topological ordering: Components execute based on edge dependencies
- Streaming: LLM components yield partial results for real-time display
- Branching: Categorize/Switch nodes direct flow based on content classification
- Iteration: Loop/Iteration nodes enable repeated execution patterns