gebo aims to make humans and machines interchangeable. A gebo is an agent. A human is also an agent. Agents interact with other social agents to form a society. Within this society, humans communicate with machines the same way machines communicate with each other.
The gebo server
gebos are not yet autonomous. As such, it is not really fair to call them full agents. Until full agency is established (whatever that may be), the gebo is primarily a server. A gebo will act only when it has a received a request to do so, though this will change.
The human-agent interface (HAI)
Humans require an intermediary interface if they are to participate in a gebo society. The mechanism through which human interaction is mediated is distinguished from a Graphical User Interface (GUI). While the components that comprise a GUI allow a human agent to wield a tool, a gebo HAI enforces a strict conversational structure as the first order mode of communication between agents, be it human-to-gebo or human-to-human, as mediated by a gebo.
Object-oriented programming (OOP) is an awkward and unwieldy medium through which to express yourself, as verbs are owned by nouns. Agent-oriented programming, on the other hand, organizes a collaborative effort amongst agents that are able to perform actions. Agents acting in concert may produce synergy.
To date, gebo has been used primarily as a delivery framework for web applications and software services.
Since inception, gebo has always been pursued and developed with the intent of creating artificial, social agents. It was inspired by the Collaborative Agent System Architecture (CASA). Though CASA is not a commercially viable multi-agent system (MAS), it provides a useful benchmark against which to evaluate the gebo. At this point, CASA agents are far more expressive than gebos. In these terms, gebo is about 40% implemented.
gebo stands for Grunt Express Bootstrap OAuth2. This is a workflow-inspired acroynym in the same vein as Mongo Express Angular Node (MEAN). In fact, gebo is built with mongo, express, and node. And its HAIs have been written in Angular (though I’ve come to prefer React).