/superagent

Hobby project to create an Artificial General Intelligence in Rust.

Primary LanguageRust

Super Agent Documentation

GitHub repo size

Introduction

A Super Agent is an intelligent system capable of self-sustaining growth and learning on a complex environment. It can learn new skills based on need, interest, and projections. Most of its behaviours should emerge from a set of basic components, so that the generalist principles that brought it forth can be latter be modified by the same.

This Super Agent is not only intended to be able to learn and grow, but to be a self-reliable emotional being capable of feeling a broad range of emotions including, but not limited to, "human emotions".

Architecture

The Scheduler

It becomes evident that a complex agent spanning multiple processing nodes would require some form of event based scheduler. An event cycle is a set of steps the Scheduler goes through to complete an arbitrary task.

Tasks

Tasks are a piece of code that must be run on the Scheduler.

Events

Stateful units capable of performing a unit of computation.

There are two state pipelines:

  • Execution COLD, WARMING, RUNNING, STOPPING, STOPPED.
  • Termination TERMINATING, TERMINATED

General Definitions

Artificial Intelligence

Artificial Intellifece, or AI, is the field that studies the synthesis and analysis of computational agents that act intelligently.

Agents

An Agent is something that acts in an environment. An Agent acts intelligently when:

  • what it does is appropriate for its circumstances and its goals, taking into account the short-term and long-term consequences of its actions
  • it is flexible to changing environments and changing goals
  • it learns from experience
  • it makes appropriate choices given its perceptual and computational limitations

Emergent Algotithms

An emergent algorithm is an algorithm that exhibits emergent behavior. In essence an emergent algorithm implements a set of simple building block behaviors that when combined exhibit more complex behaviors.

Emergence

In philosophy, systems theory, science, and art, emergence occurs when an entity is observed to have properties its parts do not have on their own, properties or behaviors that emerge only when the parts interact in a wider whole.

Personal Definitons

Purely Algorithmic Perspective

When one sees an algorithm in relation to how it affects data, rather than its more specific application. It generalizes an algorithm such that it can be applied on other use cases.

Todo

Events Scheduler

Actuator Interface

Sensor Interface

Emergent Emotional Engine

-[ ] Search for arxiv papers on "Emergent Emotional Behaviour"

Memory Engine

-[ ] Search current methods of emulating AI memory -[ ] Memory Management System

To-Read