Overview
Resource
External knowledge and rules
- Long-term, static
- User adds
Memory
Agent’s cognition
- Long-term, dynamic
- Agent records
Skill
Callable capabilities
- Long-term, static
- Agent invokes
| Type | Purpose | Lifecycle | Initiative |
|---|---|---|---|
| Resource | Knowledge and rules | Long-term, relatively static | User adds |
| Memory | Agent’s cognition | Long-term, dynamically updated | Agent records |
| Skill | Callable capabilities | Long-term, static | Agent invokes |
Resource
Resources are external knowledge that Agents can reference - such as documentation, code repositories, research papers, and product manuals.Characteristics
User-driven
User-driven
Resource information actively added by users to supplement LLM knowledge, such as product manuals and code repositories.
Static content
Static content
Content rarely changes after addition, usually modified by users rather than Agents.
Structured storage
Structured storage
Organized by project or topic in directory hierarchy, with multi-layer information extraction (L0/L1/L2).
Examples
- API documentation and product manuals
- FAQ databases and code repositories
- Research papers and technical specifications
- Web pages and articles
Usage
Storage Structure
Memory
Memories are divided into user memories and Agent memories, representing learned knowledge about users and the world.Characteristics
Agent-driven
Agent-driven
Memory information actively extracted and recorded by Agent from interactions.
Dynamic updates
Dynamic updates
Continuously updated from interactions by Agent, reflecting learning and adaptation.
Personalized
Personalized
Learned for specific users or specific Agents, creating personalized experiences.
6 Memory Categories
OpenViking extracts memories into 6 categories, each with different update strategies:
| Category | Location | Description | Update Strategy |
|---|---|---|---|
| profile | user/memories/.overview.md | User basic info and identity | ✅ Appendable |
| preferences | user/memories/preferences/ | User preferences by topic | ✅ Appendable |
| entities | user/memories/entities/ | Entity memories (people, projects) | ✅ Appendable |
| events | user/memories/events/ | Event records (decisions, milestones) | ❌ No update |
| cases | agent/memories/cases/ | Learned cases from interactions | ❌ No update |
| patterns | agent/memories/patterns/ | Reusable patterns and best practices | ❌ No update |
User Memories
- Profile
- Preferences
- Entities
- Events
User basic information and identityStored in
viking://user/{user_id}/.overview.mdExamples:- Name, role, occupation
- Technical background
- Communication style
Agent Memories
- Cases
- Patterns
Specific problems and solutionsStored in
viking://agent/{agent_id}/memories/cases/Examples:- How to debug a specific error
- Solution to a particular API integration issue
- Workaround for a known limitation
Usage
Skill
Skills are capabilities that Agents can invoke, defined using the Claude Skills protocol format.Characteristics
Defined capabilities
Defined capabilities
Tool definitions for completing specific tasks, with clear input/output specifications.
Relatively static
Relatively static
Skill definitions don’t change at runtime, but usage memories related to tools are updated in memory.
Callable
Callable
Agent decides when to use which skill based on task requirements.
Storage Location
Usage
Unified Search
OpenViking supports unified search across all three context types, providing comprehensive information based on Agent’s needs.
Context Type Implementation
Related Concepts
Architecture
System architecture and data flow
Context Layers
L0/L1/L2 progressive loading model
Viking URI
URI specification and structure
Session Management
Memory extraction mechanism
