Building a Visual Workflow Designer for LLM Multi-Agent Systems
This project is a prototype that brings together visual workflow composition, agent orchestration, retrieval-augmented generation (RAG), and runtime inspection in a single experience.

Introduction
Imagine building LLM applications not by writing glue code, but by dragging and connecting blocks on a canvas. This project turns that idea into a working prototype: a browser-based visual editor for multi-agent workflows, backed by a Python service that executes the workflow in topological order.
It is designed for:
rapid experimentation
explainable agent orchestration
retrieval-enhanced responses
tool integration
local and hosted LLM backends
What the app feels like
On the frontend, users can:
drag nodes around
connect inputs, agents, tools, retrievers, and outputs
configure nodes with provider settings and prompts
validate workflows before execution
run workflows and watch node-by-node results
inspect retrieval hits and metadata
The interface is intentionally interactive and exploratory, allowing you to build data flows visually rather than code flows textually.
Core concepts
The tool centers on a few key concepts:
Nodes
Each node represents a workflow step: input, agent, tool, retriever, or output.
Nodes can be configured individually, including the agent provider and retrieval collection.
Edges
Edges define the flow of data between nodes.
The engine validates these connections and ensures the graph is executable.
Providers
The prototype supports multiple backend providers:
a local mock provider for fast demos
Ollama for local LLM execution
Hugging Face router support for hosted model calls
Retrieval
RAG is built into the workflow engine.
Documents can be ingested and indexed into vector collections.
Retriever nodes can fetch relevant chunks and surface them back through the workflow.
Why this project is interesting ?
This is not just a visual editor. It is an end-to-end prototype that combines:
user-facing workflow design
execution semantics
lightweight persistence
retrieval, embedding, and vector store support
provider abstraction so the same workflow can switch between mock and real models
That means it is a useful tool for thinking about how multi-agent systems should be designed, while also being runnable in practice.
Execution model
At runtime, the backend does the following:
validates the workflow structure
computes an execution order based on dependencies
executes nodes in sequence
accumulates outputs and logs
tracks stats such as agent calls, tool calls, retrievals, and runtime
returns structured results and per-node status information
This model allows the frontend to render execution state cleanly and show which nodes succeeded, which ones returned retrieval hits, and which ones produced final output.
Retrieval and locally indexable data
A strong feature of the prototype is its retrieval support:
document ingestion can accept plain text or common document formats
the system can fall back to a local JSON vector store if a heavyweight backend is unavailable
it can also use Chroma when installed for a more production-like experience
That means even a local demo can showcase retrieval-enhanced conversations, not just vanilla prompt passing.
Why it works for multi-agent systems
Multi-agent workflows are inherently graph-like:
agents often need structured inputs
tool calls should be explicit
retrieval should be traceable
output aggregation must be visible
By mapping these concerns onto a visual graph, the project makes complex LLM orchestration easier to understand and debug. It also lets developers experiment with new pipeline shapes without committing to a full code rewrite.
The project is built in a way that supports:
local development with a React frontend and Python backend
exporting the workflow into Python code
saving and loading workflow definitions
exploring example pipelines
switching agent providers without rebuilding the entire workflow
This makes it a strong base for anyone wanting to prototype agent orchestration tools or dashboard-driven AI workflows.
Final thoughts
This prototype demonstrates an important shift in how we can build LLM applications:
from code-first pipelines
to visual, composable workflows
with clear execution observability
and integrated retrieval support


