--- sidebar_position: 1 slug: / --- # Overview ## Why Hindsight? AI agents forget everything between sessions. Every conversation starts from zero—no context about who you are, what you've discussed, or what the assistant has learned. This isn't just an implementation detail; it fundamentally limits what AI Agents can do. **The problem is harder than it looks:** - **Simple vector search isn't enough** — "What did Alice do last spring?" requires temporal reasoning, not just semantic similarity - **Facts get disconnected** — Knowing "Alice works at Google" and "Google is in Mountain View" should let you answer "Where does Alice work?" even if you never stored that directly - **AI Agents needs to form opinions** — A coding assistant that remembers "the user prefers functional programming" should weigh that when making recommendations - **Context matters** — The same information means different things to different memory banks with different personalities Hindsight solves these problems with a memory system designed specifically for AI agents. ## What Hindsight Does ```mermaid graph TB subgraph app[Your Application] Agent[AI Agent] end subgraph hindsight[Hindsight] API[API Server] subgraph bank[Memory Bank] Documents[Documents] Memories[Memories] Entities[Entities] end end Agent -->|retain| API Agent -->|recall| API Agent -->|reflect| API API --> Documents API --> Memories API --> Entities ``` **Your AI agent** stores information via `retain()`, searches with `recall()`, and reasons with `reflect()` — all interactions with its dedicated **memory bank** ## Key Components ### Three Memory Types Hindsight separates memories by type for epistemic clarity: | Type | What it stores | Example | |------|----------------|---------| | **World** | Objective facts received | "Alice works at Google" | | **Bank** | Bank's own actions | "I recommended Python to Bob" | | **Opinion** | Formed beliefs + confidence | "Python is best for ML" (0.85) | ### Multi-Strategy Retrieval (TEMPR) Four search strategies run in parallel: ```mermaid graph LR Q[Query] --> S[Semantic] Q --> K[Keyword] Q --> G[Graph] Q --> T[Temporal] S --> RRF[RRF Fusion] K --> RRF G --> RRF T --> RRF RRF --> CE[Cross-Encoder] CE --> R[Results] ``` | Strategy | Best for | |----------|----------| | **Semantic** | Conceptual similarity, paraphrasing | | **Keyword (BM25)** | Names, technical terms, exact matches | | **Graph** | Related entities, indirect connections | | **Temporal** | "last spring", "in June", time ranges | ### Personality Framework (CARA) Memory banks have Big Five personality traits that influence opinion formation: | Trait | Low | High | |-------|-----|------| | **Openness** | Prefers proven methods | Embraces new ideas | | **Conscientiousness** | Flexible, spontaneous | Systematic, organized | | **Extraversion** | Independent | Collaborative | | **Agreeableness** | Direct, analytical | Diplomatic, harmonious | | **Neuroticism** | Calm, optimistic | Risk-aware, cautious | The `bias_strength` parameter (0-1) controls how much personality influences opinions. ## Next Steps ### Getting Started - [**Quick Start**](/developer/api/quickstart) — Install and get up and running in 60 seconds ### Core Concepts - [**Retain**](/developer/retain) — How memories are stored with multi-dimensional facts - [**Recall**](/developer/retrieval) — How TEMPR's 4-way search retrieves memories - [**Reflect**](/developer/reflect) — How personality influences reasoning and opinion formation ### API Methods - [**Retain**](/developer/api/retain) — Store information in memory banks - [**Recall**](/developer/api/recall) — Search and retrieve memories - [**Reflect**](/developer/api/reflect) — Reason with personality - [**Memory Banks**](/developer/api/memory-banks) — Configure personality and background - [**Entities**](/developer/api/entities) — Track people, places, and concepts - [**Documents**](/developer/api/documents) — Manage document sources - [**Operations**](/developer/api/operations) — Monitor async tasks ### Deployment - [**Server Setup**](/developer/installation) — Deploy with Docker Compose, Helm, or pip