Part 1: The Agents

Nov 8, 2025

Posts in this series:

AI Agents

Artificial machine intelligence, and indeed, artificial "general" intelligence, is the core concept that binds the rest of these efforts.

In Vivarium, the "agent" is a container for an intelligence. It forms the boundary through which the agent interacts with the world.

As such, the agent concept is agnostic to what form that intelligence may take. In fact, the way a human interacts with the Vivarium system "from the inside" is via an agent proxy.

In this way, an agent in Vivarium can immediately be implemented using an existing LLM API.

But because the agent concept is agnostic about what intelligence it contains, it provides a key capability to decoupling from the existing dominant LLM paradigm but still being able to use and evaluate it, while seamlessly incorporating various other research paradigms, including our own.

The AI agent also is central to being able to distribute training, evolution, and usage across consumer-grade mobile devices, tablets, and laptops. This enables the location for the compute of the agent to be separated from the computing device providing the resource under the rest of the Vivarium instance.

How to Think About the Language Interface

The language and language-related tools (e.g. the compiler assembly, including the JIT machinery) are obviously useful in a stand-alone manner because languages and compilers have been used to build many kinds of applications.

But since general purpose languages are so useful, most programmers don't consider language tools to be that useful. They have something "good enough" in the general purpose language they use for primarily the domain they work with (roughly: Ruby for webapps, Python for data science, numerical computing, and AI models, Go for networked distributed systems, Rust for "systems programming", C for stack overflows).

So apart from a distinct component, the AI agent also provides context for the utility of the language element of this system.

The "AI agent" container component of this system is agnostic to the sort of "AI" within the agent. The agent interface is an abstraction of communication with the agent. Agents may communicate with each other, with tools, and with the environment.

It is possible for a person to "inhabit" an agent to participate in the world and communicate with other agents. This uniformity of agents containing intelligence clarifies and simplifies the architecture without loss of generality.

Necessary Attributes of (Ideal) Agents

The goal is to experimentally create real intelligence, where learning, understanding, and sense-making transfer to new domains with ever-improving accuracy and power. This would contrast sharply with the current scheme, which has an inverse relationship between generality and accuracy (i.e. the more general, the less accurate inescapably).

The following are structural elements of agents, where they:

  • Inhabit a world;
  • Have a "language interface" for input and output;
  • Have a "language interface" to tools;
  • Have an operational (most likely "language") interface to the world they exist within;
  • Produce telemetry that is combined with the world and tool telemetry;
  • Are able to use the telemetry as feedback.

And these (or many of them) should be required core functions or capabilities:

  • Embedded and located in a world with space-time. This is essential to causality;
  • Sensorimotor capabilities in the broadest sense. The ability to perceive and act;
  • Intentionality, acting in pursuit of a goal;
  • Boredom, essentially an internal state of insufficient novelty in recent experience;
  • Curiosity, and urge to question and pursue "What would happen if...?";
  • Purpose, these are individual, internal;
  • Goals, these are external and can be collective, must be multiple and often will be in conflict;
  • Motivation, the direction of attention and energy toward a goal;
  • Drive, a force moving forward;
  • Learning not training, may be externally (goals provided) or internally (curiosity) guided;
  • Understanding, closes the loop between perception, learning, intentionality, acting.

The concepts of perception, goals, causality, etc are used in the most general sense. An agent could "intend to find the error in a piece of code by understanding the looping structure where the error is happening and trying changes, potentially, but hopefully not exclusively at random".

All of these concepts should be rigorously defined and vigorously de-anthropomorphized. This itself constitutes a significant amount of work on the agent aspect of Vivarium.

This is Just the Start

Of course, no short introduction like this can possibly do justice to the incredible complexity of intelligent agents, but there is a truly enormous amount of prior art, some of it linked in the introductory post.

Dynamic Field Theory has already established quite substantial progress on many of these but it appears to lack good surrounding infrastructure.

There is a lot more to write on this topic, but for now, let's move on to some details of the language component.