ORCAI is a multi-agent AI orchestration platform designed to solve complex problems that require expertise across multiple domains. Instead of relying on a single LLM to analyze all available information, ORCAI delegates tasks to specialized AI agents, each responsible for understanding a specific type of data. The results from these agents are then consolidated into a single, easy-to-understand response for the user.
-
Improve analysis accuracy by using specialized AI agents.
-
Support multiple data types (logs, metrics, configurations, documents, etc.).
-
Execute agents in parallel to reduce analysis time.
-
Detect and recover from agent failures automatically.
-
Provide users with a single summarized response.
-
AI planning
-
Task orchestration
-
Specialized AI agents
-
Fault detection and recovery
-
Response summarization
-
Multi-file and multi-data-type analysis
-
Infrastructure provisioning
-
Manual log analysis
-
Agent model training
Traditional LLMs struggle when:
-
Multiple data sources must be analyzed together.
-
Data exceeds the model's context window.
-
Different datasets require domain-specific expertise.
-
Long-running analysis must tolerate failures.
ORCAI addresses these limitations by orchestrating multiple specialized AI agents under a centralized execution framework.
Initiates a request by providing a prompt and optional input data such as logs, metrics, or configuration files.
-
Receive user prompt and input files.
-
Understand the user's objective.
-
Determine which specialized agents are required.
-
Generate an execution plan in JSON format.
-
Send the execution plan to the Executor.
-
User Prompt
-
Uploaded Data
- Execution Plan (JSON)
-
Read the execution plan.
-
Create and manage specialized agents.
-
Assign work to each agent.
-
Monitor execution progress.
-
Collect agent outputs.
-
Forward results to the LLM.
- Planner Execution Plan
- Aggregated Agent Results
Each agent is responsible for one data type or domain.
Examples:
-
Linux Log Agent
-
Database Agent
-
Network Agent
-
Kubernetes Agent
-
Application Log Agent
-
Security Agent
-
Analyze assigned dataset.
-
Produce structured findings.
-
Return results to the Executor.
-
Monitor agent health.
-
Detect failures or timeouts.
-
Restart failed agents.
-
Notify the Executor when recovery is complete.
-
Receive outputs from all agents.
-
Correlate findings.
-
Generate a single natural-language response.
-
Present root cause analysis and recommendations.
-
User submits a prompt and uploads supporting data.
-
Planner analyzes the request.
-
Planner generates an execution plan.
-
Executor receives the plan.
-
Executor launches required specialized agents.
-
Each agent analyzes its assigned dataset.
-
Fault Terminal monitors all running agents.
-
Failed agents are restarted automatically.
-
Executor collects successful agent outputs.
-
LLM consolidates all findings.
-
Final response is returned to the user.
Server Failure Root Cause Analysis
Identify the root cause of a server outage by analyzing multiple datasets simultaneously.
Reduce Mean Time to Resolution (MTTR) by automating cross-domain analysis.
-
User
-
Planner
-
Executor
-
Linux Log Agent
-
Network Agent
-
Database Agent
-
Fault Terminal
-
LLM
-
User is authenticated.
-
Input files are uploaded.
-
Required agents are available.
-
Executor service is running.
User submits:
"Why did Production Server A go down yesterday?"
-
System Logs
-
Application Logs
-
Database Logs
-
Network Logs
-
User Prompt
-
User uploads all available logs.
-
Planner analyzes the request.
-
Planner identifies required agents.
-
Planner generates execution JSON.
-
Executor creates specialized agents.
-
Linux Agent analyzes system logs.
-
Database Agent analyzes database logs.
-
Network Agent analyzes network events.
-
Agents return structured findings.
-
Executor aggregates results.
-
LLM summarizes findings.
-
User receives the final report.
A1
Some logs are missing.
System notifies the user and continues analyzing available data.
A2
Only one dataset is uploaded.
Planner creates a single-agent execution plan.
E1
Agent crashes.
Fault Terminal restarts the failed agent.
E2
Agent timeout.
Executor retries according to the retry policy.
E3
Planner cannot determine the file type.
System requests additional user input.
-
Root cause report generated.
-
Analysis stored.
-
User receives recommendations.
Example:
Root Cause:
Database storage reached 100%, causing application failures.
Supporting Evidence:
-
Linux Agent detected disk full.
-
Database Agent detected write failures.
-
Application Agent detected connection errors.
Recommendation:
Increase storage capacity and enable storage monitoring alerts.
| ID | Requirement |
|---|---|
| FR-001 | Accept user prompts. |
| FR-002 | Accept multiple file uploads. |
| FR-003 | Planner shall generate execution plans. |
| FR-004 | Executor shall create specialized agents. |
| FR-005 | Agents shall process assigned datasets independently. |
| FR-006 | Executor shall collect all agent outputs. |
| FR-007 | Fault Terminal shall restart failed agents automatically. |
| FR-008 | LLM shall generate a unified response. |
-
Parallel execution of agents.
-
Support large datasets.
-
Automatic retry for failed agents.
-
Fault tolerance.
-
Dynamically add new agent types.
-
Execute multiple agents concurrently.
-
Secure file upload.
-
Role-based access control.
-
Encryption for data in transit.
-
Execution logs.
-
Agent metrics.
-
Audit trail.
-
Planner always returns valid execution JSON.
-
All agents implement a common interface.
-
Executor can communicate with all agents.
-
LLM is available during execution.
-
Dynamic agent discovery
-
Agent marketplace
-
Agent prioritization
-
Multi-LLM support
-
Human approval workflow
-
Learning from previous executions
-
Agent caching
-
Distributed execution across multiple servers
This repository contains a small FastAPI proof of concept for the ORCAI flow:
- The user submits a prompt and one or more data artifacts.
- A planner uses the OpenAI Python SDK Responses API to create a JSON plan.
- An executor summons specialist agents through the OpenAI Agents Python SDK.
- A fault terminal wraps agent execution with retry, circuit breaker, and fallback behavior.
- A final LLM response summarizes the specialist findings into one answer.
The app runs in demo mode without credentials. Set OPENAI_API_KEY to use OpenAI-backed planner, agents, and summarization.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export OPENAI_API_KEY="sk-..."
uvicorn app.main:app --reloadOpen http://127.0.0.1:8000.
GET /- Bootstrap UIGET /health- SDK and resilience library statusPOST /api/analyze- JSON API for planner, executor, agents, and final summary
app/fault_tolerance.py mixes:
tenacityfor async retries with exponential jitter.aiobreakerfor async circuit breaking.pybreakeras a synchronous circuit-breaker fallback.pyresilienceas an optional resilience provider indicator, kept optional because package APIs differ across releases.