agno-9-Culture

Agno 的 Culture(文化) 是一个实验性功能,旨在为你的多智能体(Multi-Agent)系统提供一个共享的知识层。它允许不同的 Agent 存储和检索通用的原则、最佳实践和可复用的经验。

简单来说,Culture 让智能体能够"共同成长"。一个 Agent 从交互中学到的宝贵经验,可以通过 Culture 分享给所有其他 Agent,让整个系统从集体智慧中获益

为什么需要 Culture?

Culture 解决了智能体系统中的一个根本问题:知识的孤立性。没有 Culture,每个 Agent 都从零开始,学到的经验无法积累和传承。

  • 一致性 (Consistency):所有 Agent 遵循统一的沟通标准、格式规范和最佳实践。

  • 进化性 (Evolution):系统会随着时间的推移,从 Agent 的成功和失败中不断学习和改进。

  • 效率性 (Efficiency):Agent 无需反复"重新学习"同样的教训。

  • 广泛应用场景:

    • 技术文档团队:保持统一的写作风格和结构。

    • 客户支持团队:应用经过验证的问题解决模式。

    • 开发助手:遵循组织的编码标准。

    • 内容生成:遵守品牌语调和格式指南。

Culture vs. Memory:共享知识 vs. 个人记忆

理解 Culture 的核心,在于区分它与 Memory(记忆)的不同。

特性 Culture (文化) Memory (记忆)
知识类型 通用原则、最佳实践、共享经验 用户特定的事实、偏好和个性化信息
作用范围 所有智能体、所有用户、所有会话 特定用户、特定会话
类比 "我们这儿(公司/团队)的做事方式" "我对你的了解"
示例 "技术文档应遵循'操作性思维'原则" "用户 Sarah 喜欢用电子邮件沟通"

Culture 如何工作?

其工作流程可以概括为:

  1. 加载 (Load):Agent 在开始任务时,会自动加载相关的文化知识到上下文中。

  2. 应用 (Apply):Agent 在推理和生成回复时会应用这些知识。

  3. 反思 (Reflect):任务完成后,Agent 会反思整个交互过程。

  4. 更新 (Update):基于反思,Agent 会更新或添加新的文化知识到数据库中

三种 Culture 管理模式

Agno 提供了三种由浅入深的管理模式,你可以根据需求选择。

1. 自动模式 (Automatic Culture)

这是最简单、最推荐的模式。设置 update_cultural_knowledge=True 后,系统会在每次 Agent 运行后自动反思交互并更新文化知识。

复制代码
from agno.agent import Agent
from agno.models.deepseek import DeepSeek
from dotenv import load_dotenv
load_dotenv()

deepseek = DeepSeek(id="deepseek-chat")

agent = Agent(
    model=deepseek,
    instructions=["你是一个智能助手,可以调用工具来执行操作。"],
    markdown=True,
    add_culture_to_context=True,      # 读取文化
    update_cultural_knowledge=True,   # 自动更新文化
)
agent.print_response("你好,请介绍一下自己", stream=True)
2. 智能体模式 (Agentic Culture)

设置 enable_agentic_culture=True,Agent 将获得创建、读取、更新和删除文化知识的工具,由 Agent 自己决定何时以及如何管理文化。

复制代码
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from dotenv import load_dotenv
from agno.models.deepseek import DeepSeek

load_dotenv()

deepseek = DeepSeek(id="deepseek-chat")
db = SqliteDb(db_file="agno.db")

agent = Agent(
    model=deepseek,
    db=db,
    add_culture_to_context=True,
    enable_agentic_memory=True,     # 👈 自动提取记忆
    user_id="xiaoxiaoer",
    instructions=["你是一个智能助手"],
)

agent.print_response("你好,请介绍一下自己", stream=True)
3. 手动模式 (Manual Culture)

可以通过 CultureManager 手动创建和管理文化知识。这种方式最灵活,适合需要精确控制文化内容的场景

复制代码
from agno.agent import Agent
from agno.culture.manager import CultureManager
from agno.db.sqlite import SqliteDb
from dotenv import load_dotenv
from agno.models.deepseek import DeepSeek

load_dotenv()

deepseek = DeepSeek(id="deepseek-chat")
db = SqliteDb(db_file="tmp/demo.db")

culture_manager = CultureManager(db=db, model=deepseek)
# 2. 定义一条文化原则[reference:44]
message = (
    "所有技术指南都应遵循'操作性思维'原则:\n"
    "1. **陈述目标** --- 我们要实现什么结果以及为什么。\n"
    "2. **展示步骤** --- 列出清晰、可复现的步骤。\n"
    "3. **揭示陷阱** --- 提及常出错的地方以及如何及早发现。\n"
    "4. **定义验证** --- 如何确认它正常工作。\n"
    "5. **闭环** --- 建议下一步的迭代或改进。\n"
)

# 3. 创建文化知识条目[reference:45]
culture_manager.create_cultural_knowledge(message=message)

# 4. 查看所有文化知识[reference:46]
cultural_knowledge = culture_manager.get_all_knowledge()

agent = Agent(
    model=deepseek,
    db=db,  #使用一个db会自动加载文化知识
    add_culture_to_context=True,
    user_id="xiaoxiaoer",
    instructions=["你是一个智能助手"],
)

agent.print_response("你好,请介绍一下自己", stream=True)
相关推荐
AI小白Lin1 小时前
我用三个 Python 脚本,让 AI 学会了"记得自己是谁"
人工智能
Godspeed Zhao1 小时前
具身智能中的无线技术——总览
人工智能·具身智能·无线技术
在书中成长1 小时前
HarmonyOS 小游戏《对战五子棋》开发第12篇 - 简单AI实现:规则引擎与优先级策略
人工智能·华为·harmonyos
凡科建站1 小时前
2026年AI网页快速制作方法,AI自动生成响应式页面
人工智能
用户938515635071 小时前
从“问答机器”到“智能体”:AI Agent 是如何自主工作的?
javascript·人工智能·全栈
秦先生在广东1 小时前
Loop Engineering:用系统设计取代手动提示,构建 AI 编码代理的自动化循环
人工智能
知足常乐3201 小时前
【Agent失败复盘】从 ReAct 到白箱工作流:一个数据分析 Agent 被现实按着重构的过程
人工智能
Kel1 小时前
多 Tab 聊天不翻车:纯前端实现跨标签页消息同步的三层协同架构
前端·javascript·人工智能
林泽毅1 小时前
Qwen3.5 DPO 模型对齐实战(pytrio训练版)
人工智能·python·算法