Ainz-OS was built by engineers who got tired of building ad-hoc orchestration layers.
You decide to build a system with multiple agents. Each handles a specific job well:
Now you need to route 1000s of tasks to these agents. What could go wrong?
Everything, actually.
Without orchestration, you end up with ad-hoc solutions: tasks get assigned randomly, one agent maxes out while others sit idle, there's no priority system, agents crash mid-task and you have no idea what happened.
The implementation is clean and well-organized. Read the code. It's straightforward. Start with kernel.py, then agent.py, then scheduler.py.
Ainz-OS doesn't auto-recover failed agents. You control that. But it tells you what's broken. Your code, your decisions.
26+ tests passing. Measured performance. Real-world load testing. We use this in production.
We open-sourced it because the problem is common and the solution should be boring (not custom-engineered for every project).
Type safety. We use Pydantic models for Agent, Task, and other core objects. Catches bugs early (wrong field type, missing required fields). Makes the code self-documenting.
We don't want to run your code. That's your responsibility. Ainz-OS manages coordination, not execution. If you want to use Ainz-OS with real agents, you wrap them and call them from your orchestration code.
Some work matters more. It's OK if batch jobs wait. Make it explicit in your design.
Soft limits fail in production. Hard limits are predictable. If an agent says capacity=5, it will never have 6 concurrent tasks. Period.
MIT License - You can use this in production, modify it, fork it, whatever. No restrictions.