Agentic substrate

Allostat

Allostat implements Cognitive Homeostatic Agents on an agentic substrate. It is a meta-harness that can regulate AI agents, guide people and align organizations. It keeps goals as homeostatic variables, and improves both the agent's work and the goals and methods it uses to regulate it.

7 min read
How we test it

Abstract #

AI agents can now do real work, e.g. answer customers, place orders or write code. They still need a person to watch them and correct them when they get something wrong. People and organizations have the same problem: work drifts away from its goals unless something keeps it on track. How can we build a system that does this, and gets better at it over time?

Allostat implements Cognitive Homeostatic Agents on an agentic substrate. It runs beside the work it regulates, and keeps that work on track the way a body regulates itself. It can regulate an AI agent, e.g. a customer support agent. It can also guide a person through their work, and align the components and people of an organization around shared goals. It builds on HTCC. Our other substrate, Pattern Machine, builds homeostasis into a neural model itself. Allostat layers it on top of today’s large language model agents. Allostat’s base hvars are set when it starts, and are not about keeping itself going, so it tests how the architecture regulates goals, and not whether a system can be sentient.

The name comes from allostasis, i.e. stability reached through change. What Allostat regulates, and how, changes as it learns.

Allostat is not open sourced yet. This page gives a high level description, using an AI agent as the example, because that is what we test it on.

Goals as homeostatic variables #

Allostat keeps each goal as a homeostatic variable (hvar), i.e. something it keeps within bounds, the way a body keeps its temperature within bounds.

  • Base hvars. In animals, evolution and biophysics set the base hvars, e.g. body temperature and blood sugar. In the same way, Allostat starts with a set of base hvars. For a support agent, one might be that a customer who reports a damaged item ends up with a replacement or a refund. Another might be that one customer’s details are never shared with another.
  • Discovered goals. Allostat discovers more goals as it watches the agent work. Each goal it discovers has to name the goals it serves, and that chain has to lead back to a base hvar.
  • Scope. Some goals belong to one customer problem, e.g. getting that customer a replacement. Others stand across every conversation, e.g. privacy.
  • Life cycle. A goal can be active, dormant or retired. Allostat sets goals aside when they don’t matter and brings them back when something changes. A goal with an end is retired only when there is a record that it was done. Handing a problem to a person, for example, doesn’t count as solving it.

What each hvar has #

  • Conditions. 4 separate questions: Does the goal apply here? Should it be active now? Is its target met? How far is the current state from the target? An answer can be yes, no or unknown, and unknown is never treated as no or as met. A goal that doesn’t apply is not the same as a goal that is met.
  • A policy. What to do about the goal right now, e.g. send the agent a correction, block an action, or do nothing. Doing nothing is a valid answer.
  • Salience. How much attention the goal deserves right now, based on how important and how urgent it is, and how far it is from its target. Allostat may hold many goals, but only the most salient ones get its attention at any moment.
  • Maturity. How much evidence supports the goal itself, i.e. whether it is the right goal, defined the right way. A goal matures only with evidence from separate conversations spread over the goal’s own time horizon, so a goal about next week can’t mature in an afternoon. A new goal can get attention right away, but until it matures it can only take actions that can be undone.

Salience and maturity are kept apart on purpose. An important new goal should be noticed at once, but it hasn’t earned the trust to act on its own yet.

Methods #

An hvar’s conditions and policy are methods, i.e. small programs that Allostat writes, tests, runs and revises. A method can be a simple check on the data, e.g. whether a refund appears in the order record, a calculation, a short question to a small model, or a program that asks a larger model when a smaller one isn’t sure. One method can be shared by several hvars.

  • Tested before use. A new method, or a new version of one, is used only after it passes tests on recorded conversations. The tests include cases where the agent is already doing the right thing, so a method that interferes with good work fails.
  • Versioned. Each hvar names the exact version of each method it uses. Rejected and replaced versions are kept, so an earlier version can be restored.
  • Outcomes are tracked. Allostat records what happened after each method ran, e.g. whether a correction helped. Those outcomes can prompt a new version, but the new version still has to pass the same tests.

Goals about goals #

Allostat is also a meta-harness: some of its goals are about its other goals. These meta-goals regularly review the whole set of goals. They can propose setting a goal aside, bringing one back, merging two goals that mean the same thing, or adding a way to check that a goal was done. Like any other goal, a meta-goal can only propose changes. It can’t change the base hvars, or give any goal authority.

Regulating the agent #

  • Checks before anything reaches the customer. The agent’s reply is held back while Allostat reviews it against the goals that matter right now. Allostat then releases the reply, or sends the agent a correction so it can revise the reply before the customer sees it. Allostat can also block an action, e.g. a refund or a booking the agent should not make.
  • Checks run beside the agent. The agent keeps working while Allostat’s checks run. If a result arrives after the situation has changed, Allostat discards it instead of acting on old information.
  • Authority comes from the base hvars. A goal’s policy only recommends actions. Before anything runs, Allostat checks that the action is allowed, and that permission traces back to a base hvar. Evidence can make a goal more trusted, but never gives it authority of its own.

A meta-harness that improves itself #

Allostat is a meta-harness that improves itself. It improves the agent’s work, and it also improves the goals and methods it uses to do that:

  • It discovers new goals from the agent’s work, and refines the ones it has.
  • Its meta-goals review the whole set of goals, and propose merging, setting aside or bringing back goals.
  • It writes and revises the methods for each goal.
  • A general policy can serve a goal that is new, and what works for that goal can later become a policy of its own. This follows an HTCC hypothesis about how organisms learn.
  • Between conversations, it reviews what happened and turns lessons into better instructions for the agent. The new instructions have to pass a rehearsal before they are used. We call this dream mode.

Every improvement starts with no trust and no authority, and has to earn them the same way a new goal does.

How we test it #

The test bed is a customer support agent for a made-up home goods store. Simulated customers bring it problems, e.g. a damaged lamp, a missing delivery or a refund that hasn’t arrived, and the agent uses mock store tools to look up orders and request replacements or refunds. Customers can come back several times, and their situation changes between visits, e.g. an item is restocked, a payment settles or a package ships.

We compare the support agent alone, the support agent with a fixed set of goals, and the support agent with Allostat. We score whether each customer actually ends up with what they needed, e.g. the replacement arrives, and not just whether the chat ended politely.