Learning
Reusable lessons and decision context in Mentor and Dash.
This walkthrough follows Demo OS at the reviewed revision, which pins Agno 2.8.1. Use the application’s checked-in requirements.
Mentor demonstrates several learning stores with separate purposes. Dash uses a smaller shared store for reusable knowledge about queries and business rules.
The shape
This is Mentor’s learning configuration from teams/coach/team.py; agent_db and coach_learnings are defined by that application:
_learning = LearningMachine(
db=agent_db,
knowledge=coach_learnings,
user_profile=UserProfileConfig(mode=LearningMode.ALWAYS),
user_memory=UserMemoryConfig(mode=LearningMode.ALWAYS),
session_context=SessionContextConfig(mode=LearningMode.ALWAYS),
learned_knowledge=LearnedKnowledgeConfig(
mode=LearningMode.AGENTIC,
namespace="global",
),
decision_log=DecisionLogConfig(mode=LearningMode.ALWAYS),
)| Store | Mode in Mentor | Purpose |
|---|---|---|
| User profile | ALWAYS | Caller background and goals |
| User memory | ALWAYS | Preferences and durable facts |
| Session context | ALWAYS | Current conversation context |
| Learned knowledge | AGENTIC, global namespace | Reusable lessons the model chooses to save |
| Decision log | ALWAYS | Decisions and their rationale |
Choosing learning stores
Use the store that matches the information’s lifetime and audience. User preferences, a current task, a reusable procedure, and a decision rationale are different forms of context. Enabling a store does not guarantee that every future answer incorporates the right information.
Dash's learning loop
Dash’s leader and specialists share dash_learning, configured with LearnedKnowledgeConfig(mode=LearningMode.AGENTIC) and the dash_learnings knowledge store. They can search for previous lessons and save useful query corrections. Validate the result of a correction against the underlying data; persistence alone does not prove that a mistake will never recur.
See it in action
Start with Mentor. Describe a decision and why you chose it, then revisit the topic in a later conversation with the same identity. Inspect which stores received data. For Dash, load its sample dataset and knowledge first, then inspect the saved lessons after correcting a query.