Star Topology (Hub and Spoke)
The number one thing to know about MARAGI is that it is a star topology (hub and spoke). The hub of the architecture is the Nexus (hence the name). Numerous other microservices all contribute to the Nexus via REST API, syslog, AMQP, ODBC, or other kind of interface. The key point here is that the Nexus is the heart of the MARAGI architecture.
MARAGI is a type of Natural Language Cognitive Architecture. All of its "thoughts" and sensations are written in natural language, such as English. This ensures that it is transparent and explainable. It also means that any LLM (or other NLP tech) can participate as a microservice.
The Nexus is primarily a database where all thoughts, memories, sensations, actions, and decisions are stored as a time-series set of logs. The Nexus allows for a central collection point of memories. This allows for an arbitrary number of other microservices to contribute to the MARAGI stream of consciousness. The Nexus service provides three primary interfaces:
Add - create a new memory in the nexus
Search - perform semantic search to find all relevant memories
Time bound - retrieve all memories within a given time window
This approximates human memory, which is temporal and associative. Every entry in the nexus requires a few fields:
Timestamp (for temporal search)
Content (natural language payload)
Vector of Content (for semantic search)
The Conductor implements "cognitive control," which means that it helps set priorities and measure performance. It functions by observing all logs in the Nexus and providing feedback. It asks questions such as the following:
What should we be focusing on? What is the most important thing to be doing?
How are we performing? Are we doing the right things?
Do we need to speed up, slow down, or make other changes?
Are we adhering to our principles and purpose? How well aligned are we?
The Conductor answers these questions and puts the answers back into the Nexus. Other microservices must then honor the feedback of the Conductor and modify its behavior. This can be achieved through NLP tasks.