mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-05-18 14:48:12 +00:00
Some checks failed
Publish AI SDK / publish (push) Has been cancelled
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
141 lines
4.1 KiB
Text
141 lines
4.1 KiB
Text
---
|
|
title: "User Profiles"
|
|
sidebarTitle: "User Profiles"
|
|
description: "Automatically maintained context about your users"
|
|
icon: "circle-user"
|
|
---
|
|
|
|
User profiles are **automatically maintained collections of facts about your users** that Supermemory builds from all their interactions. Think of it as a persistent "about me" document that's always up-to-date.
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Instant Context" icon="bolt">
|
|
No search needed — comprehensive user info always ready
|
|
</Card>
|
|
<Card title="Auto-Updated" icon="rotate">
|
|
Profiles update as users interact with your system
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Why Profiles?
|
|
|
|
Traditional memory systems rely entirely on search:
|
|
|
|
| Problem | Search Only | With Profiles |
|
|
|---------|------------|---------------|
|
|
| Context retrieval | 3-5 queries | 1 call |
|
|
| Response time | 200-500ms | 50-100ms |
|
|
| Basic user info | Requires specific queries | Always available |
|
|
|
|
**Search is too narrow**: When you search for "project updates", you miss that the user prefers bullet points, works in PST, and uses specific terminology.
|
|
|
|
**Profiles provide the foundation**: Instead of searching for basic context, profiles give your LLM a complete picture of who the user is.
|
|
|
|
---
|
|
|
|
## Static vs Dynamic
|
|
|
|
Profiles separate two types of information:
|
|
|
|
### Static Profile
|
|
|
|
Long-term, stable facts:
|
|
|
|
- "Sarah is a senior software engineer at TechCorp"
|
|
- "Sarah specializes in distributed systems"
|
|
- "Sarah prefers technical docs over video tutorials"
|
|
|
|
### Dynamic Profile
|
|
|
|
Recent context and temporary states:
|
|
|
|
- "Sarah is migrating the payment service to microservices"
|
|
- "Sarah is preparing for a conference talk next month"
|
|
- "Sarah is debugging a memory leak in auth service"
|
|
|
|
---
|
|
|
|
## How It Works
|
|
|
|
Profiles are built automatically through ingestion:
|
|
|
|
1. **Ingest content** — Users [add documents](/add-memories), chat, or any content
|
|
2. **Extract facts** — AI analyzes content for facts about the user
|
|
3. **Update profile** — System adds, updates, or removes facts
|
|
4. **Always current** — Profiles reflect the latest information
|
|
|
|
<Note>
|
|
You don't manually manage profiles — they build themselves as users interact. Start by [adding content](/add-memories) to see profiles in action.
|
|
</Note>
|
|
|
|
---
|
|
|
|
## Profiles + Search
|
|
|
|
Profiles don't replace search — they complement it:
|
|
|
|
- **Profile** = broad foundation (who the user is, preferences, background)
|
|
- **Search** = specific details (exact memories matching a query)
|
|
|
|
### Example
|
|
|
|
User asks: **"Can you help me debug this?"**
|
|
|
|
**Without profiles**: LLM has no context about expertise, projects, or preferences.
|
|
|
|
**With profiles**: LLM knows:
|
|
- Senior engineer (adjust technical level)
|
|
- Working on payment service (likely context)
|
|
- Prefers CLI tools (tool suggestions)
|
|
- Recent memory leak issues (possible connection)
|
|
|
|
---
|
|
|
|
## Use Cases
|
|
|
|
### Personalized AI Assistants
|
|
|
|
Profiles provide: expertise level, communication preferences, tools used, current projects.
|
|
|
|
```typescript
|
|
const systemPrompt = `You are assisting ${userName}.
|
|
|
|
Background: ${profile.static.join('\n')}
|
|
Current focus: ${profile.dynamic.join('\n')}
|
|
|
|
Adjust responses to their expertise and preferences.`;
|
|
```
|
|
|
|
### Customer Support
|
|
|
|
Profiles provide: product usage, previous issues, tech proficiency.
|
|
|
|
- No more "let me look up your account"
|
|
- Agents immediately understand context
|
|
- AI support references past interactions naturally
|
|
|
|
### Educational Platforms
|
|
|
|
Profiles provide: learning style, completed courses, strengths/weaknesses.
|
|
|
|
### Development Tools
|
|
|
|
Profiles provide: preferred languages, coding style, current project context.
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="User Profiles API" icon="code" href="/user-profiles">
|
|
Fetch and use profiles via the API
|
|
</Card>
|
|
<Card title="Graph Memory" icon="network" href="/concepts/graph-memory">
|
|
How the underlying knowledge graph works
|
|
</Card>
|
|
<Card title="AI SDK Integration" icon="triangle" href="/integrations/ai-sdk">
|
|
Automatic profile injection with AI SDK
|
|
</Card>
|
|
<Card title="Add Memories" icon="plus" href="/add-memories">
|
|
Build profiles by adding content
|
|
</Card>
|
|
</CardGroup>
|