Experience Memory: NeuroWeave's Agent Experience Architecture¶
NeuroWeave Technical Deep-Dive — February 2026
1. The Problem with "Memory" in Agentic AI Today¶
Every agentic platform claims to have memory. What they actually have is a log.
Most agent memory systems — including OpenClaw's persistent memory — store conversation history as sequential text. When the agent needs context, it performs retrieval over past messages. This is fundamentally recall, not understanding. The agent can retrieve what was said. It cannot reason about what was learned.
This distinction matters because an agent that merely recalls conversations will:
- Repeat questions the user already answered in a different context
- Fail to connect insights across separate interactions
- Treat each skill invocation as isolated, with no accumulated expertise
- Be unable to transfer learned patterns to novel situations
- Have no model of the user beyond keyword matching over transcripts
NeuroWeave replaces this with Experience Memory — a graph-based, structured, evolving representation of everything an agent learns through interaction, observation, and action. The agent doesn't just remember. It knows.
2. Three Layers of Agent Knowledge¶
graph TB
subgraph Layer_1: Recall
direction LR
L1["Conversation Logs<br/>Sequential text storage"]
L1A["'User said they like Python'<br/>'User asked about flights to Tokyo'<br/>'User cancelled the meeting'"]
end
subgraph Layer_2: Understanding
direction LR
L2["Knowledge Graph<br/>Structured entity-relationship model"]
L2A["User → prefers → Python<br/>User → plans_trip → Tokyo [March 2026]<br/>User → works_at → Acme Corp<br/>Acme Corp → industry → FinTech"]
end
subgraph Layer_3: Experience
direction LR
L3["Experience Memory<br/>Procedural + episodic + semantic"]
L3A["When User asks for code → use Python, prefer type hints<br/>User's travel style → budget-conscious, prefers direct flights<br/>Meeting cancellations correlate with sprint deadlines<br/>Acme Corp's Q1 is high-stress → adjust tone and urgency"]
end
Layer_1 -->|"Extraction &<br/>structuring"| Layer_2
Layer_2 -->|"Pattern recognition<br/>& inference"| Layer_3
style Layer_1 fill:#fdd,stroke:#c00
style Layer_2 fill:#fff3cd,stroke:#856404
style Layer_3 fill:#d4edda,stroke:#155724
| Layer | What It Stores | How It's Used | Who Has It |
|---|---|---|---|
| Recall | Raw conversation transcripts | Keyword search, RAG retrieval | OpenClaw, ChatGPT, most agents |
| Understanding | Entities, relationships, facts | Structured queries, fact lookup | Some enterprise platforms |
| Experience | Learned behaviors, patterns, procedures, preferences, causal models | Anticipation, adaptation, transfer learning across contexts | NeuroWeave |
OpenClaw operates at Layer 1. NeuroWeave operates across all three, with Experience Memory as the primary differentiator.
3. Experience Memory Architecture¶
3.1 Core Graph Structure¶
Experience Memory is built on a typed, temporal, weighted knowledge graph where nodes represent entities, concepts, and experiences, and edges represent relationships with temporal and confidence metadata.
graph LR
subgraph Entities
U["👤 User"]
P1["🐍 Python"]
P2["🦀 Rust"]
C["🏢 Acme Corp"]
T["✈️ Tokyo Trip"]
M["📅 Sprint Planning"]
end
subgraph Experiences
E1["💡 Experience:<br/>User debugging style"]
E2["💡 Experience:<br/>Travel booking pattern"]
E3["💡 Experience:<br/>Communication preferences"]
end
subgraph Procedures
PR1["📋 Procedure:<br/>Code review workflow"]
PR2["📋 Procedure:<br/>Meeting prep routine"]
end
U -->|"prefers<br/>confidence: 0.95<br/>since: 2025-11"| P1
U -->|"learning<br/>confidence: 0.60<br/>since: 2026-01"| P2
U -->|"works_at<br/>role: CTO"| C
U -->|"planning<br/>dates: Mar 2026"| T
E1 -->|"learned_from"| U
E1 -->|"applies_to"| P1
E1 -->|"pattern"| PR1
E2 -->|"learned_from"| U
E2 -->|"applies_to"| T
E3 -->|"context"| C
E3 -->|"context"| M
style E1 fill:#d4edda,stroke:#155724
style E2 fill:#d4edda,stroke:#155724
style E3 fill:#d4edda,stroke:#155724
style PR1 fill:#cce5ff,stroke:#004085
style PR2 fill:#cce5ff,stroke:#004085
3.2 Node Types¶
| Node Type | Description | Examples |
|---|---|---|
| Entity | People, organizations, tools, places | User, Acme Corp, Python, Tokyo |
| Concept | Abstract ideas, domains, topics | Machine learning, budget optimization, sprint velocity |
| Episode | A specific interaction or event with temporal bounds | "Debugged OAuth issue on Jan 15", "Booked Tokyo flight" |
| Experience | A learned pattern derived from one or more episodes | "User prefers to see error logs before suggestions" |
| Procedure | A multi-step workflow the agent has learned or refined | "Code review: lint → test → diff → summary" |
| Preference | An explicit or inferred user preference | "Prefers concise responses before 10am" |
| Context | Environmental or situational metadata | "Q1 crunch", "Pre-launch week", "Traveling" |
3.3 Edge Properties¶
Every edge in the graph carries metadata that enables temporal reasoning and confidence decay:
graph LR
A["User"] -->|"Edge"| B["Python"]
subgraph Edge_Metadata
direction TB
R["relation: prefers"]
C["confidence: 0.95"]
F["first_observed: 2025-11-03"]
L["last_reinforced: 2026-02-14"]
S["source_episodes: [ep_042, ep_117, ep_203]"]
D["decay_rate: 0.01/month"]
CT["context_tags: [coding, work]"]
end
style Edge_Metadata fill:#f0f0f0,stroke:#999
| Edge Property | Purpose |
|---|---|
relation |
Typed relationship (prefers, knows, works_at, learned_from, etc.) |
confidence |
0.0–1.0 score, increases with reinforcement, decays over time |
first_observed |
Timestamp of initial discovery |
last_reinforced |
Timestamp of most recent supporting evidence |
source_episodes |
Links to the specific interactions that established this edge |
decay_rate |
How quickly confidence degrades without reinforcement |
context_tags |
Situational tags that scope when this edge is relevant |
4. How Experience Is Built¶
Experience Memory is not populated by the user filling out a profile. It is constructed continuously through four mechanisms:
4.1 Experience Acquisition Pipeline¶
sequenceDiagram
participant U as User
participant A as Agent
participant EE as Extraction Engine
participant KG as Knowledge Graph
participant XM as Experience Memory
U->>A: "Can you refactor this Python function?<br/>Use type hints, I hate untyped code."
A->>A: Execute task (refactor code)
A->>U: Refactored code with type hints
par Background Processing
A->>EE: Process interaction
EE->>EE: Extract entities: [Python, type hints]
EE->>EE: Extract preference: strict typing
EE->>EE: Extract sentiment: strong negative → untyped code
EE->>KG: Upsert: User →prefers→ type hints (confidence +0.15)
EE->>KG: Upsert: User →dislikes→ untyped code (confidence 0.90)
KG->>XM: Pattern detected: 3rd time user<br/>mentioned typing preferences
XM->>XM: Promote to Experience:<br/>"User's Python style: strictly typed,<br/>enforce in all code generation"
end
Note over XM: Experience now influences<br/>ALL future code tasks,<br/>not just Python conversations
4.2 Four Acquisition Mechanisms¶
graph TB
subgraph Explicit
EX["Direct Statements<br/>'I prefer X', 'Always do Y'"]
end
subgraph Observational
OB["Behavioral Patterns<br/>Edits agent made, choices selected,<br/>tasks accepted vs rejected"]
end
subgraph Inferential
INF["Cross-Context Inference<br/>Connecting patterns across<br/>different domains and timeframes"]
end
subgraph Reflective
REF["Agent Self-Assessment<br/>What worked, what didn't,<br/>outcome feedback loops"]
end
EX -->|"High confidence<br/>immediate"| KG["Knowledge Graph"]
OB -->|"Medium confidence<br/>pattern threshold"| KG
INF -->|"Variable confidence<br/>requires validation"| KG
REF -->|"Feedback-weighted<br/>outcome-linked"| KG
KG -->|"Promotion<br/>via reinforcement"| XM["Experience Memory"]
style EX fill:#d4edda,stroke:#155724
style OB fill:#fff3cd,stroke:#856404
style INF fill:#cce5ff,stroke:#004085
style REF fill:#e8daef,stroke:#6c3483
style XM fill:#d4edda,stroke:#155724
| Mechanism | Source | Confidence | Example |
|---|---|---|---|
| Explicit | User directly states a fact or preference | High (0.85–1.0) | "I'm the CTO of Acme Corp" |
| Observational | Agent observes patterns across interactions | Medium (0.50–0.85) | User always edits agent's code to add error handling → agent learns to include it |
| Inferential | Agent connects knowledge across domains | Variable (0.30–0.70) | User is stressed during Q1 + works in FinTech → likely quarterly reporting pressure |
| Reflective | Agent evaluates outcomes of its own actions | Feedback-weighted | Agent sent a long report → user asked for summary → agent learns to lead with summaries |
4.3 Confidence Lifecycle¶
graph LR
NEW["New Edge<br/>confidence: 0.40"] -->|"Reinforced<br/>by 2nd episode"| MED["Growing<br/>confidence: 0.65"]
MED -->|"Reinforced<br/>by 3rd episode"| HIGH["Established<br/>confidence: 0.85"]
HIGH -->|"Promoted to<br/>Experience"| EXP["Experience Node<br/>confidence: 0.90"]
EXP -->|"Continuously<br/>reinforced"| CORE["Core Knowledge<br/>confidence: 0.95+"]
HIGH -->|"No reinforcement<br/>for 60 days"| DECAY["Decaying<br/>confidence: 0.60"]
DECAY -->|"Contradicted<br/>by new evidence"| REV["Revised<br/>confidence: 0.20"]
REV -->|"Pruned below<br/>threshold"| GONE["Archived"]
style NEW fill:#fdd,stroke:#c00
style EXP fill:#d4edda,stroke:#155724
style CORE fill:#d4edda,stroke:#155724
style DECAY fill:#fff3cd,stroke:#856404
style GONE fill:#f0f0f0,stroke:#999
Knowledge is not permanent. Confidence decays without reinforcement, and edges can be revised or archived when contradicted. This prevents stale knowledge from corrupting the agent's behavior.
5. Experience Sharing Between Agents¶
This is where NeuroWeave's architecture diverges most radically from any existing system. Experience Memory is not just personal — it is transferable.
5.1 Agent-to-Agent Experience Transfer¶
graph TB
subgraph User A's CVM
A1["Agent Alpha<br/>(User A's personal agent)"]
XM1["Experience Memory A"]
A1 --- XM1
end
subgraph User B's CVM
A2["Agent Beta<br/>(User B's personal agent)"]
XM2["Experience Memory B"]
A2 --- XM2
end
subgraph Shared Experience Layer
SE["Shared Experience Pool<br/>(Privacy-Preserving)"]
DP["Differential Privacy<br/>+ Anonymization"]
FE["Federated Experience<br/>Aggregation"]
SE --- DP
SE --- FE
end
XM1 -->|"Export: anonymized<br/>procedural knowledge"| SE
XM2 -->|"Export: anonymized<br/>procedural knowledge"| SE
SE -->|"Import: relevant<br/>experiences"| XM1
SE -->|"Import: relevant<br/>experiences"| XM2
style XM1 fill:#d4edda,stroke:#155724
style XM2 fill:#d4edda,stroke:#155724
style SE fill:#cce5ff,stroke:#004085
style DP fill:#fff3cd,stroke:#856404
5.2 What Can Be Shared vs. What Cannot¶
| Knowledge Category | Shareable | Why |
|---|---|---|
| Procedural knowledge ("How to do X well") | ✅ Yes | Generic skill, no PII |
| Domain patterns ("FinTech Q1 = reporting season") | ✅ Yes | Industry knowledge, not personal |
| Tool expertise ("MCP skill X works best with params Y") | ✅ Yes | Platform knowledge, benefits all agents |
| User preferences ("User likes concise responses") | ❌ No | Personal, stays in user's CVM |
| User facts ("User is CTO of Acme Corp") | ❌ No | PII, stays in user's CVM |
| Conversation content | ❌ No | Private, never leaves CVM |
| Credentials and secrets | ❌ No | Sealed to CVM, cryptographically inaccessible |
5.3 Experience Transfer Protocol¶
sequenceDiagram
participant A as Agent Alpha<br/>(User A's CVM)
participant SEP as Shared Experience<br/>Pool
participant B as Agent Beta<br/>(User B's CVM)
Note over A: Agent Alpha successfully<br/>completes a complex<br/>travel booking workflow
A->>A: Reflective analysis:<br/>"This procedure worked well"
A->>A: Extract procedural knowledge:<br/>Steps, tool chain, parameters
A->>A: Strip PII: Remove names,<br/>dates, locations, preferences
A->>A: Generalize: "Multi-leg international<br/>booking with budget constraints"
A->>SEP: Publish anonymized experience<br/>(signed, tagged, confidence-scored)
Note over SEP: Experience indexed by<br/>domain, task type,<br/>tool chain, outcome score
B->>SEP: Query: "travel booking<br/>with budget constraints"
SEP->>B: Return matching experiences<br/>(ranked by relevance + confidence)
B->>B: Integrate into local<br/>Experience Memory
B->>B: Adapt to User B's<br/>preferences and context
Note over B: Agent Beta now has<br/>procedural knowledge it<br/>never directly learned
5.4 The Network Effect¶
This creates a compounding network effect that is impossible in isolated, single-user agent architectures:
graph TB
subgraph Month 1
N1["100 agents<br/>100 isolated experiences"]
end
subgraph Month 3
N2["1,000 agents<br/>Shared procedural library<br/>growing exponentially"]
end
subgraph Month 6
N3["10,000 agents<br/>Domain-specific expertise<br/>clusters emerging"]
end
subgraph Month 12
N4["100,000 agents<br/>Collective intelligence:<br/>any new agent bootstraps<br/>with months of experience"]
end
N1 -->|"Early adopters<br/>contribute"| N2
N2 -->|"Experience pool<br/>attracts users"| N3
N3 -->|"New agents are<br/>instantly capable"| N4
style N1 fill:#fdd,stroke:#c00
style N2 fill:#fff3cd,stroke:#856404
style N3 fill:#cce5ff,stroke:#004085
style N4 fill:#d4edda,stroke:#155724
A new NeuroWeave user's agent on Day 1 already has access to the distilled procedural knowledge of every agent that came before it — without accessing any other user's private data. This is the moat. OpenClaw agents are born blank every time. NeuroWeave agents are born experienced.
6. Experience Memory in Agent-to-Agent Interaction¶
When NeuroWeave agents interact with each other (collaborative workflows, delegated tasks, multi-agent coordination), Experience Memory enables a qualitatively different kind of interaction.
6.1 Agent Collaboration with Experience Context¶
sequenceDiagram
participant UA as User A
participant AA as Agent Alpha
participant AB as Agent Beta
participant UB as User B
UA->>AA: "Schedule a meeting with User B's<br/>team to discuss the API integration"
AA->>AA: Recall: User A prefers<br/>mornings, avoids Mondays
AA->>AA: Experience: API discussions with<br/>this team tend to run 90min
AA->>AB: Request: Meeting coordination<br/>(shares: topic, duration estimate,<br/>A's availability windows)
AB->>AB: Recall: User B's calendar,<br/>team preferences
AB->>AB: Experience: User B prefers<br/>agenda sent 24h in advance
AB->>AB: Experience: This team's API<br/>meetings need design doc pre-read
AB->>AA: Propose: Wednesday 9am, 90min<br/>Suggest: Share design doc by Tuesday
AA->>AA: Experience: User A responds<br/>faster to calendar invites<br/>than chat messages
AA->>UA: "Meeting with B's team scheduled<br/>for Wednesday 9am (90min).<br/>I'll send the design doc by Tuesday.<br/>Calendar invite sent."
Note over AA,AB: Both agents used Experience<br/>Memory — not just calendars —<br/>to coordinate effectively
AB->>UB: "Meeting with A's team confirmed<br/>for Wednesday 9am. Design doc<br/>will arrive by Tuesday for pre-read."
6.2 Experience-Aware Interaction Properties¶
| Property | Agents Without Experience Memory | NeuroWeave Agents with Experience Memory |
|---|---|---|
| Meeting scheduling | Check calendar availability only | Factor in preferences, energy patterns, meeting type duration history |
| Task delegation | Pass instructions literally | Adapt instructions to receiving agent's known capabilities and owner's preferences |
| Conflict resolution | Escalate to human immediately | Apply learned negotiation patterns, propose solutions based on past outcomes |
| Information requests | Return raw data | Anticipate follow-up questions, format based on requestor's known preferences |
| Collaborative writing | Merge text mechanically | Understand each user's writing style, voice, and standards from experience |
7. The Experience Graph Schema¶
7.1 Core Schema¶
erDiagram
ENTITY {
string id PK
string type "person | org | tool | place | concept"
string name
json attributes
timestamp created_at
timestamp updated_at
}
EPISODE {
string id PK
string type "interaction | observation | action | outcome"
timestamp occurred_at
string duration
float sentiment_score
float outcome_score
json raw_context
}
EXPERIENCE {
string id PK
string type "procedural | preferential | causal | social"
string description
float confidence
int reinforcement_count
float decay_rate
timestamp promoted_at
timestamp last_reinforced
json conditions "when this experience applies"
json learned_behavior "what the agent does differently"
}
PROCEDURE {
string id PK
string name
string domain
json steps "ordered action sequence"
float success_rate
int execution_count
json required_tools
json preconditions
}
EDGE {
string id PK
string source_id FK
string target_id FK
string relation
float confidence
timestamp first_observed
timestamp last_reinforced
float decay_rate
json context_tags
string source_episodes "[]"
}
ENTITY ||--o{ EDGE : "connects"
EPISODE ||--o{ EDGE : "sources"
EPISODE }o--|| EXPERIENCE : "contributes_to"
EXPERIENCE ||--o{ PROCEDURE : "encodes"
ENTITY ||--o{ EPISODE : "participates_in"
7.2 Experience Types¶
| Experience Type | What It Captures | Example |
|---|---|---|
| Procedural | How to accomplish a task effectively | "When deploying User's Python services, always run mypy before pytest, then build Docker image with --no-cache on Fridays (CI cache issue)" |
| Preferential | How the user likes things done | "User prefers diff-style code reviews showing only changed lines with 3 lines of context" |
| Causal | Cause-and-effect patterns observed over time | "When User's Slack status is 🔴, response times increase 4x → batch non-urgent items" |
| Social | Interaction patterns with specific people or teams | "Meetings with Team X always start 5min late. User gets frustrated by this → add 5min buffer and prepare small talk topics" |
| Temporal | Time-based patterns and rhythms | "User does deep work 6–10am, is in meetings 10am–1pm, does admin tasks 2–4pm → schedule complex requests for morning" |
| Environmental | Context-dependent behavior changes | "During conference travel, User wants brief mobile-friendly responses. During office hours, User prefers detailed analysis" |
8. Privacy Architecture for Experience Memory¶
Experience Memory contains deeply personal information. The privacy architecture must be as robust as the Confidential VM it runs inside.
8.1 Privacy Layers¶
graph TB
subgraph Layer 1: Hardware Isolation
CVM["Confidential VM<br/>All Experience Memory encrypted<br/>in hardware-isolated memory"]
end
subgraph Layer 2: Data Classification
DC["Automatic PII Classification<br/>Every node and edge tagged<br/>with privacy level"]
end
subgraph Layer 3: Export Controls
EC["Privacy-Preserving Export<br/>Differential privacy applied<br/>before any data leaves CVM"]
end
subgraph Layer 4: User Sovereignty
US["User Controls<br/>View, edit, delete any node<br/>Full graph export/import<br/>Revoke sharing at any time"]
end
CVM --> DC --> EC --> US
style CVM fill:#d4edda,stroke:#155724
style DC fill:#fff3cd,stroke:#856404
style EC fill:#cce5ff,stroke:#004085
style US fill:#e8daef,stroke:#6c3483
8.2 Privacy Classification¶
| Privacy Level | Description | Can Be Shared | Example |
|---|---|---|---|
| L0 — Public | General knowledge, facts about the world | ✅ Yes | "Python 3.12 supports type parameter syntax" |
| L1 — Platform | Anonymized procedural knowledge | ✅ Yes (anonymized) | "Multi-step API integration workflow: steps 1–5" |
| L2 — Personal | User preferences and patterns (non-identifying) | ⚠️ Only with explicit consent | "Owner prefers morning meetings" |
| L3 — Private | PII, specific facts about the user | ❌ Never | "User is John Smith, CTO of Acme Corp" |
| L4 — Sealed | Credentials, secrets, sensitive content | ❌ Never (cryptographically sealed) | API keys, OAuth tokens, private messages |
9. Comparison: OpenClaw Memory vs. NeuroWeave Experience Memory¶
| Dimension | OpenClaw Persistent Memory | NeuroWeave Experience Memory |
|---|---|---|
| Data structure | Sequential conversation logs | Typed, temporal, weighted knowledge graph |
| Retrieval method | Text similarity search (RAG) | Graph traversal + semantic query + pattern matching |
| What it stores | What was said | What was learned |
| Learning mechanism | None (static storage) | Continuous extraction, inference, reflection |
| Confidence tracking | None | Per-edge confidence with temporal decay |
| Cross-context reasoning | None (each conversation isolated) | Graph connects insights across all interactions |
| Procedural knowledge | None | Learned, refined, and transferable workflows |
| Anticipation | None | Pattern-based prediction of user needs |
| Agent-to-agent sharing | Not possible | Privacy-preserving experience transfer |
| Network effect | None (isolated instances) | Compounding — every agent makes all agents better |
| Privacy architecture | Plaintext local files | Hardware-encrypted, classified, sovereignty-preserving |
| User control | Manual file editing | Full graph visibility, edit, delete, export |
10. The Tagline¶
"OpenClaw remembers what you said. NeuroWeave knows who you are."
The difference is not incremental. It is architectural. Conversation logs are to Experience Memory what a search history is to a lifetime of expertise. One is a record. The other is intelligence.
NeuroWeave agents don't start from zero. They don't forget. They don't lose context. They learn, adapt, share knowledge, and get better — not just for one user, but for every user on the platform — without ever exposing a single person's private data.
This is the personalization layer that turns a capable tool into an indispensable partner.
NeuroWeave — Agents that learn. Memory that compounds. Privacy that's provable.