Memory¶
Memory components give agents persistent knowledge that survives across executions. They connect to agents as sub-component tools via the amber diamond memory handle, allowing an agent to read from, write to, and personalize interactions using a global memory system.
Overview¶
There are three memory component types:
| Component | Purpose | Connection |
|---|---|---|
| Memory Read | Recall stored facts, episodes, and procedures | Sub-component tool (memory handle) |
| Memory Write | Store new facts and knowledge | Sub-component tool (memory handle) |
| Identify User | Identify who is talking and load their context | Direct node (standard edges) |
How memory components work¶
Memory Read and Memory Write are sub-component tools -- they connect to agent nodes via the amber diamond memory handle and become available as LangChain tools inside the agent's reasoning loop. The agent decides when to recall or remember information based on the conversation.
Identify User is different -- it is a direct node in the workflow graph that runs before the agent, extracting user identity from trigger payloads and loading personalized context into the workflow state.
flowchart LR
T[Chat Trigger] --> IU[Identify User]
IU --> A[Agent]
M[AI Model] -.->|model| A
MR[Memory Read] -.->|memory| A
MW[Memory Write] -.->|memory| A Memory types¶
The global memory system stores three types of knowledge:
| Type | Description | Example |
|---|---|---|
| Facts | Key-value pairs with confidence scores | user_name = Alice (0.95) |
| Episodes | Time-stamped event summaries | User asked about pricing on 2024-03-15 |
| Procedures | Named workflows with steps and context | deploy_app: Build, test, push to production |
Memory Read can search across one type or all types simultaneously. Memory Write stores facts with configurable type classification.
Memory scope¶
All memory operations use a global scope by default. Facts written by one workflow are readable by any other workflow on the same platform instance. This enables shared knowledge across agents -- for example, one agent can learn a user's preferences while another agent uses that knowledge to personalize responses.
Connecting memory to agents¶
- Add a Memory Read and/or Memory Write node from the Node Palette
- Connect them to an agent node via the amber diamond memory handle at the bottom
- Optionally add an Identify User node before the agent to load user-specific context
The agent's LLM will then have recall and remember tools available for reading and writing memory during its reasoning loop.
Memory is optional
An agent does not require any memory components. Without memory, the agent has no persistent knowledge between executions (though it can still use conversation memory via the conversation_memory toggle for within-session continuity).