-
Notifications
You must be signed in to change notification settings - Fork 13
Glossary
-
All Watched Over by Machines of Loving Grace -- Richard Brautigan poem, January 1967 ... Wikipedia article
-
Aiko Services ... Platform / framework designed to support Machine Learning, media streaming, Internet Of Things and robotics systems by providing a coherent and consistent design across each of those technical domains
- Baked into the design is manipulating function calls as data in the form of Messages ... which is aligned with LLM tool / function calling ... and enables developers to focus on APIs (instead of wire protocols)
- Design principles include lightweight, composable, distributed, embedded, extensible, interactive, observable, streaming and completely asynchronous for low-latency
- "On growing a language" (YouTube) -- Guy L Steele Jr, October 1998
- "Worse is Better" see section 2.1 The Rise of Worse is Better -- Richard P. Gabriel, 1989 ... "there is a point where less functionality ("worse") is a preferable option ("better") in terms of practicality and usability" ... Wikipedia article
-
Actor(Service) ... An implementation of the Actor Model (Carl Hewitt, 1973) for distributed computing using asynchronous Messages
- An Actor is-a Service, which means it can join a distributed system, be discovered and interacted with remotely
-
Agent(Actor) ... A software component that has agency and the ability to act autonomously with self-managing characteristics ... such as goals, reasoning, self-awareness and self-reflection ... plus Memory
- All Agents are programs, but not all programs are Agents
- See Cognitive Architectures for Language Agents (COALA), effectively an OODA Loop for Agents
- An Agent is-an Actor (or a Pipeline), which allows it to be discovered and interacted with ... just like any other distributed Actor
-
Component ... Is a composable collection of aspects, i.e software building blocks, supporting Aspect Oriented Programming (AOP) with clearly defined Interfaces and implementation
-
Distributed System ... software that deals with the 8 Fallacies of Distributed Computing, where any design gaps or implementation flaws lead to fragility, inefficiency and usually total failure. Aiko Services is reactive, push, message-driven and utilizes the PACELC theorem (2010) choosing PC/EL (see Eventual Consistency), an extension of the CAP theorem (1998). Stream processing is supported and preferred.
- Future goal: Support the Kappa architecture
-
Emergent behavior ... where a more complex entity has properties that its individual parts do not have on their own, e.g bee hives or termite mounds. This might also apply to properties of the mind
-
Eventual Consistency ... one of many data consistency models in a distributed system. Supporting the PACELC model and selecting PC/EL, means for normal conditions, i.e network is available (not partitioned) that Eventual Consistency provides the low-latency (EL) goal with consistency occurring within a second or so
-
LISP ... Early programming language that is the "Maxwell’s Equations of Software" -- Alan Kay
-
Memory ... Agent memory considered as Short-term memory, Working memory and Long-term memory (both Explicit and Implicit) ... with orthogonal persistence
-
Message ... Function calls are automatically turned into Messages for remote invocation and other purposes
- Messages are the most important concept in the Actor Model, Message Oriented Middleware and the Smalltalk programming language
-
MQTT ... Is a light-weight, asynchronous, topic-based publish-subscribe message bus, which is the default transport layer protocol used by Aiko Services
- OASIS standard messaging protocol for the Internet of Things (IoT)
- mosquitto is a robust open-source implementation of an MQTT server (broker)
-
OODA Loop ... Iterative cycle of control and feedback based on Observe, Orient, Decide and Act
-
Physical embodied A.I ... embodied cognitive science explores using physical entities, like robots, to determine how their capabilities and environment shape embodied cognition ... potentially pushing the boundaries of Agents and multimodal LLMs
-
Pipeline(PipelineElement) ... Distributed data-flow programming graph ... composed of PipelineElements
- A Pipeline is-a PipelineElement, which enables Pipelines to be made out of other Pipelines (as a hierarchy)
-
PipelineDefinition ... Describes how to construct a Pipeline
-
PipelineElement(Actor) ... One of many individual processing components that are linked together to build a Pipeline
- A PipelineElement is-an Actor, which allows it to be discovered and interacted with ... just like any other distributed Actor
-
"Programming as Theory Building" -- Peter Naur, 1985 ... in which a programmer (or a team collectively) dynamically and iteratively gains insights (builds theory) regarding the problem domain, the solution space and a mapping between them
-
Registrar(Service) ... A Service for discovering other Services ... which includes Actors, Pipelines and PipelineElements
- The Registar is-a Service, so it too can be discovered and interacted with remotely
-
S-Expressions ... Source code format for LISP programs, data structure representations and Message payloads
- WebAssembly Text format (WAT) uses S-Expressions !
-
Service(Component) ... Lowest level distributed component in Aiko Services, which can be discovered via the Registrar and interacted with remotely
-
Smalltalk ... Influential programming language, e.g introduced the modern desktop user interface, WIMP and WYSIWYG. Smalltalk continues to live on as Squeak
- Smalltalk relies on Messages as an important concept
- Smalltalk, like LISP ... is turtles all the way down !
-
Software 1.0, 2.0, 3.0 ... Eras of how we develop software, where Andrej Karpathy describes software 2.0 versus 1.0 and then Chris Olah muses about software 3.0 (expanded details)
- Software 1.0 ... From 1938 electro-mechanical computer and 1945 electronic computer onwards ... traditional human only design and implementation
- Software 2.0 ... From 2012 AlexNet CNN onwards ... humans training predictive Machine Learning (ML) models
- Software 3.0 ... From 2017 Transformer LLM onwards ... collaboration between humans and generative LLM ... plus predictive ML models
-
Stanford University Encyclopedia of Philosophy ... handy reference for cognitive science details
-
Subsumption Architecture ... reactive robotic architecture for behavior-based robotics, which decomposes overall behavior into a hierarchy of sub-behaviors. Early extensive exploration of Physical Embodied A.I
- Potentially results in emergent behaviour
-
Theory of mind ... capacity to understand other people's mental state ... especially that their beliefs, desires, emotions, intentions and thoughts may be different from one's own