| ---
|
| language:
|
| - en
|
| tags:
|
| - agents
|
| - orchestration
|
| - tool-calling
|
| - controller
|
| - planning
|
| - routing
|
| license: apache-2.0
|
| pipeline_tag: text-generation
|
| ---
|
|
|
| # 🎛️ Multi-Agent Orchestrator
|
|
|
| `multiagent-orchestrator` is a small **planning & coordination** model built on **Llama3.2:1b** that acts as a _conductor_ for your AI **agents** and **tools**.
|
|
|
| It is **not** a general chatbot. Instead, it reads a **task state** and an **agent/tool registry** and returns the **next action** as strict JSON:
|
|
|
| ```json
|
| {
|
| "action": "call_agent" | "call_tool" | "ask_user" | "finish",
|
| "target": "agent_or_tool_name_or_null",
|
| "arguments": { "any": "json" },
|
| "final_answer": "string or null",
|
| "reason": "short natural language rationale"
|
| }
|
| ```
|
|
|
| You run your own loop that:
|
|
|
| 1. Calls this model to get the next action
|
| 2. Executes the chosen agent/tool
|
| 3. Updates task state
|
| 4. Repeats until action == "finish"
|
|
|
| ### Example (pseudo-usage)
|
|
|
| ```python
|
| action = orchestrator(agents=agent_registry, state=task_state)
|
|
|
| if action["action"] == "call_agent":
|
| result = call_agent(action["target"], action["arguments"])
|
| elif action["action"] == "call_tool":
|
| result = call_tool(action["target"], action["arguments"])
|
| ...
|
|
|
| task_state = update_state(task_state, action, result)
|
|
|
| ```
|
|
|
| ## Intended use:
|
|
|
| As a controller in multi-agent / tool-using systems (researcher + coder agents, RAG pipelines, etc.), where you want a central brain choosing what happens next, not generating the final content itself. |