Retained Memory
Durable facts, preferences, and observations retained from prior work. Hindsight and AgentCore Memory are adapter implementations below the ThinkWork memory contract.
Memory is the context layer agents use before they act. It is not a single database, vector index, or chat-history trick. It is the ThinkWork-owned layer that decides what an agent should know for the current turn, where each fact came from, how fresh it is, and whether it is durable enough to carry forward.
The clean model is:
That distinction matters. Threads answer “what happened?” Memory answers “what should the agent know before it responds or takes action?”
Memory is an umbrella over several source families. Operators see them together in Admin because they all affect what an agent can know, but each source keeps its own contract and provenance.
Retained Memory
Durable facts, preferences, and observations retained from prior work. Hindsight and AgentCore Memory are adapter implementations below the ThinkWork memory contract.
Pages
Compiled pages: entity, topic, and decision pages distilled from memory records and source citations.
Business Ontology
Tenant-governed business types, relationships, facet templates, and mappings that shape durable memory materialization.
Knowledge Bases
Operator-curated documents backed by Bedrock Knowledge Bases and Aurora pgvector. Best for policies, runbooks, product docs, and other authored source material.
Workspace Files
Permissioned files from an agent workspace, template workspace, or tenant defaults.
Approved MCP Tools
Read-only, search-safe external tools that an admin has explicitly allowed to participate in context lookup.
Source Routing
The internal query_context contract that fans out to eligible sources and
returns normalized hits plus per-source status.
Most agent systems expose memory, RAG, workspace search, and external search as separate tools. That makes agents choose implementation details mid-turn and makes operators debug the wrong layer: was the answer bad because the memory engine missed, the KB was stale, or the agent never called the right tool?
Memory puts those sources behind one product boundary:
At turn time, Memory can assemble context from recent thread history, memory recall, compiled pages, knowledge-base chunks, workspace files, and approved MCP tools. The router ranks and budgets those results before the model sees them.
User message arrives in a thread │ ▼ Memory source routing │ ├─ Recent thread history ├─ Memory recall ├─ Compiled pages ├─ Knowledge-base chunks ├─ Workspace files └─ Approved MCP search tools │ ▼ Assembled context → model/runtime │ ▼ Response + tool calls → threadEvery source is optional. A focused support bot may only need a knowledge base. A long-running sales agent may use memory, compiled customer pages, workspace files, and approved operational search tools.
Memory treats source trust as a product concern, not a prompt afterthought.
In Admin, Memory lives at /knowledge and has four tabs:
| Tab | Purpose |
|---|---|
| Memory | Browse, search, edit, and visualize retained memory records |
| Pages | Inspect compiled pages and graph/search output |
| Knowledge Bases | Manage Bedrock KBs, document uploads, and sync status |
| Sources | Configure and verify the provider layer used by query_context |
Ontology Studio lives under Manage → Ontology because it governs tenant-level business vocabulary rather than one source family. Operators use it to scan for suggestions, review change sets, approve definitions, and monitor reprocess jobs.
The route path still says /knowledge for compatibility, but the visible module name is Memory.
query_context assembles source hits