Institutional learning

Share reviewed insights across agents and teams through a global learning namespace.

Use a shared learning store to carry reviewed insights from one research cycle into the next. Agno's LearningMachine with a global namespace makes those learnings available to every agent and team that uses the store.

These are composition examples adapted from the Investment Team application. Follow its clone, database, credentials, and research-loading setup for a complete application. Its agents/, teams/, and workflows/ define the components referenced here; agents/settings.py supplies shared knowledge and paths.

Import those components into your application module, or define your own before composing them. The application uses Gemini; the OpenAI variants on these pages require uv pip install "agno[openai]" and OPENAI_API_KEY as well. Shared knowledge/storage still needs the application's database and embedding-provider setup. Prose context, analyst-output variables, and local archives must be supplied by your application.

from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.learn import LearnedKnowledgeConfig, LearningMachine, LearningMode
from agno.models.openai import OpenAIResponses

# team_learnings is a Knowledge instance backed by a vector database, on its own
# table so learnings stay out of the research library's search results.
from agents.settings import team_learnings

db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")


def institutional_learning() -> LearningMachine:
    return LearningMachine(
        knowledge=team_learnings,
        learned_knowledge=LearnedKnowledgeConfig(
            mode=LearningMode.AGENTIC,
            namespace="global",
        ),
    )


learning_instructions = (
    "Use save_learning to store reusable insights. "
    "Use search_learnings to find prior knowledge before forming a view."
)

analyst = Agent(
    name="Financial Analyst",
    model=OpenAIResponses(id="gpt-5.5"),
    db=db,
    instructions=learning_instructions,
    learning=institutional_learning(),
)

risk_officer = Agent(
    name="Risk Officer",
    model=OpenAIResponses(id="gpt-5.5"),
    db=db,
    instructions=learning_instructions,
    learning=institutional_learning(),
)

# The risk officer captures an insight:
risk_officer.print_response(
    "Save this insight: analyst estimates lag this sector by about a quarter."
)

# Later, a different agent reads it back from the shared store:
analyst.learning_machine.learned_knowledge_store.print(query="estimate lag")

The learning is available to every agent and team sharing the store. In Agentic mode, retrieve it with search_learnings. A configured Knowledge instance backs the store. Missing knowledge configuration causes saves and searches to log a warning; state remains unchanged.

Per-agent vs institutional

User memoryInstitutional learning
ScopeOne user across agents sharing the databaseEvery agent and team that shares the store
NamespaceScoped by user_id"global"
EffectUser preferences and facts remain available across sessionsReviewed insights remain available across research cycles

Use institutional learning to keep reviewed team judgment available across research cycles.

What to capture

Save to shared learningKeep in context or source data
"Analyst estimates lag this sector by a quarter"One-off query results stay with the run
"This data source double-counts renewals"The mandate stays in static context
A correction to a conclusion that was wrongSource summaries stay in the research library

Capture corrections and transferable insights. Leave durable facts to the research library and rules to the static context.

Modes

ModeBehaviorUse for
ALWAYSStart extraction from the current input on every runSteady accumulation of observations
AGENTICThe agent decides what is worth keepingResearch, where signal-to-noise matters
PROPOSEThe model proposes a learning and asks before saving; approval is prompt-basedLow-risk review where soft approval is sufficient

The data agent self-correction pattern uses the same machine with a per-warehouse store. This research pattern uses the shared institutional store.

Next steps

TaskGuide
Feed it grounded context tooGrounding research
Audit what changed the team's mindStructured deliverable

Developer Resources