ORCH is a domain-specific language for building and orchestrating systems made up of multiple intelligent agents. You write agents, give them tasks and memory, and use a central Route block to control which agent runs when.
Programs in ORCH are structured as a graph of agents. Each agent is an independent unit with its own private state and task logic. A single orchestrator file ties them all together, defining which agents exist and how execution flows between them.
ORCH is not just another agent-chaining framework; it is a purpose-built Domain-Specific Language integrated closely with a Python execution engine (orch-lib). The combination of this domain-specific grammar and robust routing runtime yields several standout features:
Unlike implicit state-machine or message-bus setups where agents call each other, ORCH centralizes the orchestrator flow.
Route block decides which node/agent operates.Route block restricts agent scope to simple execution of Tasks.The ORCH execution flow introduces a compiler pipeline composed of two layers:
main.exe executable guarantees the stability and structural soundness of the written DSL. It parses AST structures at high speed.converter.py), resulting in highly integrated and performant executable code.Func blocks)You are not constrained to an obscure declarative language’s limits. The Func block directly surfaces unrestricted, native Python.
If your agent needs to perform an API call or run a Machine Learning model, the logic lives securely inside a Func {}.
You do not need to deal with event queues to get memory working between agents.
Public.Private.
orch-lib translates this behind the scenes directly into structured contexts for every single agent and task.Through the simple array syntax Include AgentB{5}, ORCH will silently duplicate, register, and provision 5 totally disjoint instances of AgentB, handling all the memory initialization.
ORCH’s Task body behaves identically to basic Python expression assignments with complete support for conditional checks (IF / ELSE), logic bindings (AND, OR), and math operations (+, -, /, *), without needing the verbosity of a full language.