Enable your agents to share universal knowledge, principles, and best practices that compound across all interactions.
Imagine agents that learn from every interaction and share those learnings with each other.
A support agent discovers that customers prefer step-by-step solutions with code examples.
A technical writer agent learns that “Operational Thinking” produces better documentation.
These insights shouldn’t be lost—they should become part of a shared culture that benefits all agents, forever. Culture turns these patterns into reusable rules your agents can follow from day one.
Culture provides a shared knowledge layer where agents store universal principles, best practices, and reusable insights that apply across all interactions. Unlike Memory, which stores user-specific facts (“Sarah prefers email”), Culture stores universal knowledge that benefits everyone (“Always provide actionable solutions with clear next steps”).When an agent completes a task, it can reflect on what worked well and distill that into cultural knowledge. Later, when any agent faces a similar situation, it automatically accesses this shared culture and applies those learnings.
Culture ≠ Memory: Culture stores universal principles and best practices that apply to all interactions. Memory stores user-specific facts and preferences. Think of Culture as “how we do things here” and Memory as “what I know about you.”
Notice: Culture is an experimental feature and is subject to change. The current goal is helping agents stay consistent in tone, reasoning, and behavior. The eventual goal is to transform isolated agents into a living, evolving system of collective intelligence.
After each agent run, the system automatically reflects on the interaction and updates cultural knowledge. This is the recommended approach for most production use cases.
Copy
Ask AI
from agno.agent import Agentfrom agno.db.sqlite import SqliteDbdb = SqliteDb(db_file="agno.db")agent = Agent( db=db, add_culture_to_context=True, # Read culture update_cultural_knowledge=True, # Update culture automatically)# The agent will learn from this interactionagent.print_response( "How do I set up a FastAPI service using Docker?", stream=True,)
Best for: Production systems where you want agents to continuously improve their approach based on what works.
With agentic culture, the agent is equipped with tools to manage cultural knowledge when it deems relevant during the conversation itself, not just after completion.Best for: Complex workflows where the agent should actively decide what principles to establish or update during the task.
Create cultural knowledge explicitly using the CultureManager or by directly instantiating CulturalKnowledge objects. Perfect for seeding organizational standards.
Copy
Ask AI
from agno.culture.manager import CultureManagerfrom agno.db.schemas.culture import CulturalKnowledgefrom agno.db.sqlite import SqliteDbfrom agno.models.anthropic import Claudedb = SqliteDb(db_file="agno.db")# Option A: Use CultureManager with a model to process principlesculture_manager = CultureManager( db=db, model=Claude(id="claude-sonnet-4-5"),)message = """All technical guidance should follow 'Operational Thinking':1. State the Objective — What outcome and why2. Show the Procedure — Clear, reproducible steps3. Surface Pitfalls — What usually fails4. Define Validation — How to confirm it works5. Close the Loop — Suggest next iterations"""culture_manager.create_cultural_knowledge(message=message)# Option B: Manually add cultural knowledge without a modelresponse_format = CulturalKnowledge( name="Response Format Standard", summary="Keep responses concise, scannable, and runnable-first", categories=["communication", "ux"], content=( "- Lead with minimal runnable snippet\n" "- Use numbered steps for procedures\n" "- End with validation checklist" ), notes=["Derived from user feedback"],)culture_manager.add_cultural_knowledge(response_format)
Best for: Seeding initial organizational principles, onboarding standards, or brand guidelines that all agents should follow.
Cultural knowledge is stored in the database you connect to your agent. Agno supports all major database systems: Postgres, SQLite, MongoDB, and more. Check the Database documentation for the full list.By default, cultural knowledge is stored in the agno_cultural_knowledge table (or collection for document databases). A custom table name can also be configured. If this table doesn’t exist, Agno creates it automatically.
You can manually retrieve cultural knowledge using the CultureManager:
Copy
Ask AI
from agno.culture.manager import CultureManagerfrom agno.db.sqlite import SqliteDbdb = SqliteDb(db_file="agno.db")culture_manager = CultureManager(db=db)# Get all cultural knowledgeall_knowledge = culture_manager.get_all_knowledge()print(all_knowledge)# Preview cultural knowledge (truncated for readability)for knowledge in all_knowledge: print(knowledge.preview())
# Seed documentation standardsdoc_standard = CulturalKnowledge( name="Documentation Standard", summary="All docs follow structure: Example → Explanation → Validation", categories=["documentation", "engineering"], content=( "1. Start with a minimal working example\n" "2. Explain key concepts and decisions\n" "3. Provide validation steps\n" "4. Link to related resources" ),)