Skip to main content

Ontology-Driven AI System

ABI is an AI Operating System: build your own AI using ontologies as the unifying field connecting data, models, workflows, and systems.


The core idea

Most AI systems treat data, models, and workflows as separate concerns stitched together with glue code. ABI takes a different approach: ontologies are the unifying field.

An ontology is a formal, machine-readable description of the world: what entities exist, how they relate, and what operations can be performed on them. When your data, agents, workflows, and integrations all speak the same ontological language, they become composable by design rather than by accident.

     Data sources          Knowledge Graph (RDF/OWL)
───────────── ──────────────────────────────────────
CRM, ERP, Entities, relationships, facts, inferred
APIs, files knowledge, queryable via SPARQL

↕ ↕

Agents Workflows & Pipelines
────────────────── ────────────────────────────
LLM-powered interfaces Business logic operating on
that route intent and the knowledge graph, triggered
invoke tools by events or schedules

Everything in ABI (agents, pipelines, workflows, integrations) operates on the same shared knowledge graph. There is no ETL to a vector store, no separate "AI layer". The ontology IS the integration layer.


Why an operating system

An OS provides shared primitives that every application uses without reimplementing: memory, I/O, scheduling, inter-process communication.

ABI provides the same for AI:

OS primitiveABI equivalent
File systemKnowledge graph (triple store)
Process modelAgent runtime (LangGraph state machines)
IPC / messagingBus service (RabbitMQ or in-memory)
Package managerModule system (installable, versioned capabilities)
Shell / CLIabi chat, MCP server, REST API
SchedulerDagster pipelines and workflow triggers

You bring the domain. ABI provides the runtime.


The agent layer

Agents are the user-facing interface to the system. Each agent is a LangGraph state machine with:

  • A system prompt defining its role and behavior
  • A tool list (workflows, integrations, or other agents it can invoke)
  • An intent declaration controlling how the supervisor routes to it
  • Optional persistent memory (PostgreSQL-backed conversation history)

Intent routing

A SupervisorAgent receives all incoming messages and routes them to the correct specialized agent using semantic intent matching (vector similarity over registered intent descriptions).

Each agent declares a scope:

ScopeBehavior
supervisorVisible in the default routing table: production agents users can access directly
integrationAvailable for direct invocation, excluded from supervisor routing, for agents requiring specific credentials
researchExcluded from production routing: experimental or evaluation agents

Agent composition

Agents can use other agents as tools, enabling delegation hierarchies:

SupervisorAgent
├── ContentAgent → LinkedIn integration tools
├── CRMAgent → Salesforce + knowledge graph tools
├── FinanceAgent → QuickBooks + SPARQL workflows
└── ResearchAgent → web search + OntologyEngineerAgent
└── OntologyEngineerAgent (scope: research)

Built-in agents

AgentRole
AbiAgentRoot supervisor: routes all queries via intent matching
OntologyEngineerAgentDesigns and extends ontologies using BFO/CCO
KnowledgeGraphBuilderAgentConverts unstructured descriptions into RDF triples
EntityToSPARQLAgentConverts natural-language queries into SPARQL

Model layer

All agents accept a ChatModel interface, not a specific provider. The default uses OpenRouter; one API key gives access to every supported model.

For local or air-gapped deployments, models are served via Ollama:

ModelCommandUse case
Qwen3 8Bollama pull qwen3:8bMultilingual, code-capable
DeepSeek R1 8Bollama pull deepseek-r1:8bAdvanced reasoning
Gemma3 4Bollama pull gemma3:4bLightweight and fast

How agents are exposed

Every agent is automatically available on three interfaces without additional configuration:

InterfaceEndpoint
REST APIPOST /agents/{agent_name}/completion and /stream-completion
MCP toolDynamically registered at MCP server startup
CLIabi chat --agent {name}

Bearer token authentication is required for all REST endpoints.


Further reading