Learning Machines
Agents that learn and improve with every interaction.
Kern turns agents into learning machines by combining them with Learning Stores. Learning Stores are persistent backends that capture user profiles, memories, and knowledge over time.
1from kern.agent import Agent2from kern.db.sqlite import SqliteDb3from kern.models.openai import OpenAIResponses45agent = Agent(6 model=OpenAIResponses(id="gpt-5.2"),7 db=SqliteDb(db_file="tmp/agents.db"),8 learning=True,9)One line. Your agent now remembers users and improves over time.
Learning Stores
Each store captures a different type of knowledge:
| Store | What it captures | Scope |
|---|---|---|
| User Profile | Structured facts (name, role, preferences) | Per user |
| User Memory | Unstructured observations from conversations | Per user |
| Session Context | Goals, plans, and progress for the current session | Per session |
| Entity Memory | Facts about external things (companies, projects, people) | Configurable |
| Learned Knowledge | Insights that transfer across users | Configurable |
| Decision Log | Decisions with reasoning for auditing and learning | Per agent |
Stores can be enabled individually or combined. Each implements the same protocol: recall, process, build_context, get_tools.
Learning Modes
Control how and when the agent learns:
| Mode | How it works |
|---|---|
| Always | Extraction runs automatically after each response |
| Agentic | Agent receives tools and decides what to save |
| Propose | Agent proposes learnings, you approve before saving |
Namespaces
Some stores support configurable sharing scope via namespace:
| Namespace | Who can access |
|---|---|
"user" | Only the current user |
"global" | Everyone (default) |
| Custom | Explicit grouping (e.g., "engineering", "sales_west") |
Maintenance
The Curator keeps memories healthy:
1lm = agent.get_learning_machine()23# Remove memories older than 90 days4lm.curator.prune(user_id="alice", max_age_days=90)56# Remove duplicates7lm.curator.deduplicate(user_id="alice")Guides
rocket
Get Started
Enable learning in your agents
database
Learning Stores
Configure storage backends
sliders
Learning Modes
Control how and when agents learn
code
Custom Schemas
Extend stores with custom fields