I Gave My AI Agents an Org Chart
Most agent frameworks hand you a pile of scripts and wish you luck. You wire up three agents, write the orchestration glue yourself, and six weeks later you have a system nobody can explain. I kept running into this, so I built something with a different shape: a company.
It is called Botropolis. Twenty specialist agents across ten departments, one CEO orchestrator, and a training pipeline so each agent can eventually get its own fine-tuned model. It is open source, MIT licensed, and it runs with no API keys.
The idea
Companies figured out coordination centuries ago. When work gets complex, you do not throw twenty generalists into a chat room. You create departments, give people job titles, and let a manager break big requests into pieces. Botropolis is that idea in Python.
You ask Manoj, the CEO, for something. He looks at the request, decides which departments need to be involved, and routes the work. Research goes to Scout, code goes to Coder, the numbers go to Analyst. Each agent has a YAML spec: name, title, specialty, tools it may call, example tasks. Anyone reading the repo can see who does what, the way an org chart tells you who owns what.
What it actually does
The roster covers ten departments: research, health, finance, code, data, legal, marketing, ops, security, and support. Some highlights:
- Teaming. One agent alone is fine, a team is better. You name the agents and the rounds, and they draft, critique, and revise in sequence. Each agent sees everything its teammates produced before it. Manoj writes the final synthesis.
- Real tools, no vendor lock-in. Agents with toolkits run a think-act-observe loop over a plain-text protocol. No provider function calling involved, so it works with OpenAI, Anthropic, Gemini, Ollama, or a model you trained yourself. Fourteen tools ship in the box: web search, shell, file tools, Gmail, calendar, a shared company notebook.
- A web UI with no build step. Plain HTML, CSS, and JS served by the same FastAPI process. Chat with the CEO, a war room for talking to one agent directly with live tool-call streaming, teaming controls, per-agent analytics, and a roster browser. It works on a phone.
- Training pipeline. Datasets, configs, an eval harness, and model cards are all in the repo. I trained Scout-tiny from scratch as a proof of concept: a 5.49M-parameter transformer on 300 Q&A pairs, validation perplexity 5.17. Demo scale, honestly labeled as such. The real path is LoRA on a small open model, and the scaffolding for that is documented.
The honest parts
It runs with zero API keys against an offline stub that labels its output as stub output. Clone it, run python examples/demo.py, and watch the whole company work before spending anything.
The safety model is pragmatic, not paranoid. File and shell tools are sandboxed to a workspace directory with timeouts and a denylist for destructive patterns. Agents draft emails; humans send them. Health and legal agents carry explicit disclaimers in their prompts.
Try it
git clone https://github.com/kagithamanoj/botropolis.git
cd botropolis
pip install -e ".[dev]"
python examples/demo.py
Or skip the clone and talk to the CEO directly:
from botropolis.core.orchestrator import CEO
report = CEO().handle("Research vector databases and compare pricing")
print(report.summary)
The org chart grows by pull request. If you have ever wanted an agent with a job title, come add a department.
Botropolis is built and maintained by Manoj Kumar Kagitha, a Senior Cloud Engineer working on production cloud infrastructure. Nine papers, seven books, and now one company of bots.
Top comments (0)