A platform for customizable AI
~(o_o)~

The mission of this project was to design a user oriented AI platform that is highly customizable, transparent and accessible. The work here was part of a larger group project. My contribution was the multibot architecture and high-level interaction model described below.


Most consumer AI products adapt to user needs by mining his or her behavioral data. Though this strategy can be very effective, it has some serious drawbacks.

the issues

Transparency

The user has little knowledge of what personal information is being collected and how it is being used.

Inflexibility

The opaque nature of this model makes it difficult for the user to augment or add capabilities to the UI.

Closed

The monolithic structure of this model makes it difficult for AIs to directly cooperate and share resources.

the solution

Cooperative
Multi-Bot
Architectures

As opposed to a single, opaque, monolithic AI, Multi-Bot Architectures allow an AI to be composed from many specialized collaborating agents

Most AI platforms are a black box. The user has no idea what’s inside it. or how it is thinking. The user has few options as to how the bot is configured.

The Multi-bot model composes complex AIs from smaller, more specialized AIs. The user can, at any time, see how a bot is composed.

The user can remove or add sub-bots to change the superbot’s behavior. Users can share the bots they have created with other users.

would this work?

The Generative
Multi-Bot
Cycle

Each user’s multi-bot environment is represented by a single encompassing superbot. The user begins by establishing an initial configuration. At any point, the user can inspect and augment the system. New sub-bots can be introduced while existing ones can be augmented or removed completely. The user trains the system by weighing the responses provided by certain bots to guide their future behavior. The super-bot can also be given directives to guide the entire system.


This environment does not only consist of the bots themselves, but also the relationships between them. These relationships might be supervisory, security, aggregation, data provision, coordination, etc. These too are evolving and configured by the user.