File size: 1,546 Bytes
fc4d46d
f7ad7b0
 
 
 
 
 
 
 
 
fc4d46d
f7ad7b0
fc4d46d
f7ad7b0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---

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.