Identity OS¶
The personality operating system for AI agents.
Your agent has tools and memory — but does it know who it is?
5 deterministic control dimensions. No LLM cooperation required.
5 Control Dimensions
666 Automated Tests
<1ms Per Cycle
29% LLM Decision Change
Works with Claude Agent SDK · LangGraph · CrewAI · OpenAI Agents SDK
Where do I start?¶
:material-rocket-launch: Try it now
Install the SDK, create an agent, process your first observation — in 5 minutes.
:material-book-open-variant: Understand the model
7 behavioral modes, stress model, drift detection, and the Execution Contract.
:material-puzzle: Integrate
Claude Agent SDK, LangGraph, CrewAI, or OpenAI Agents SDK — pick your framework.
Why not just guardrails or memory?¶
Guardrails (NeMo, etc.)
Block bad outputs with rules. No identity. No learning. No timing. LLM can sometimes bypass.
0 control dimensions
Memory (Letta, Mem0)
Store and retrieve facts. Static persona text. No adaptation. LLM can always ignore it.
0 control dimensions
Identity OS :material-check-bold:
Deterministic behavioral control. Identity computed from experience. LLM cannot bypass. 5 dimensions.
5 control dimensions
5 Deterministic Control Dimensions¶
Every dimension is enforced by the engine. The LLM has no say.
:material-tools: Action Space
Which tools are available. Narrows under stress, expands during growth.
25/25 critical goals rejected in crisis.
:material-timer-sand: Timing
When to stop. should_pause, should_escalate, max_steps.
Not advisory. Enforced by framework.
:material-filter: Goals
Accept, defer, or reject tasks before the LLM sees them.
Based on energy, stress, identity alignment.
:material-handshake: Trust
How much to delegate. Stressed agents trust less. Incoherent agents demand verification.
Autonomous/supervised/paired.
Self-Model: Your Agent Knows Itself¶
Three metrics computed from behavioral history — learned, not configured:
| Metric | Measures | Effect |
|---|---|---|
stress_resilience | Recovery speed from stress | Low → more cautious at MED stress |
trait_stability | Behavioral consistency | High → more sensitive to drift |
energy_efficiency | Output per energy unit | Informs conservation strategy |
An agent that survived 3 crises behaves differently from one that hasn't.
Live Demo: Aria Evolves on X¶
Aria · Generation 01 · @identityos_dev
An AI agent with persistent identity that evolves through weekly generational lifecycles. Each generation inherits wisdom but starts with fresh behavioral state.
Energy: 96% · Coherence: 98% · Phase: growing
Validated Results¶
| Experiment | Scale | Result |
|---|---|---|
| Engine adaptation (Y3) | 320 cycles × 3 groups | +0.32 action delta (2.7x vs stateless) |
| LLM influence (Path C) | 48 A/B pairs | 29% decision change (CI: 18-43%) |
| Personality divergence | 4 archetypes × 1000 cycles | 4 distinct profiles |
| Goal filtering | 320 cycles, all dims | 25/25 rejected in crisis |
| vs Letta | 6 triples | IOS 4.2/5 vs Letta 3.8/5 |
666 automated tests · 2,500+ cycles/sec · < 1ms per cycle
Quick Start¶
from identity_os.engine import IdentityEngine
from identity_os.engine.config import F6Config
from identity_os.models.types import EngineState, Observation, IdentityProfileConfig
from identity_os.models.enums import Mode
config = F6Config.personality_os() # all layers enabled
engine = IdentityEngine(config)
state = EngineState(
identity_profile=IdentityProfileConfig(
core_modes=["exploration", "connection"],
risk_posture="seeking",
description="A curious research agent",
),
)
state, drift = engine.process(state, Observation(
mode_target=Mode.EXPLORATION, signal_strength=0.7,
))
contract = engine.get_execution_contract(state, drift)
print(contract.allowed_actions) # what tools are available
print(contract.should_pause) # should the agent stop?
print(contract.trust_profile) # delegation parameters
print(contract.narrative_prompt) # "A curious research agent..."
Pricing¶
| Free | Indie | Pro | |
|---|---|---|---|
| Instances | 3 | 50 | Unlimited |
| API calls/mo | 10K | 100K | 500K |
| Price | $0 | $29/mo | $99/mo |