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)
相关推荐
weixin_727535627 分钟前
Loop 已死,Graph 新生:AI 工作流的范式革命
android·人工智能·rxjava
KaneLogger20 分钟前
一套系统,让 AI 写代码的速度变成生产力
人工智能·程序员·代码规范
眼泪划过的星空28 分钟前
LangChain 两大基础提示词模板:PromptTemplate 与 ChatPromptTemplate 详解
人工智能·python·langchain
小码哥哥32 分钟前
如何评价“构建企业级 AI 知识库“这一趋势?从技术架构到落地实践的完整分析
人工智能·架构
小罗水36 分钟前
第18章 接口回归、异常演练与轻量压测
人工智能·数据挖掘·回归
卷福同学44 分钟前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端
逻辑君1 小时前
ANNA 认知引擎 · Humanoid 机器人训练白皮书
人工智能·深度学习·机器学习·机器人
hans汉斯1 小时前
计算机科学与应用|改进MeanShift算法在智能监控视频中的应用研究
图像处理·人工智能·功能测试·深度学习·算法·音视频
重庆传粉科技1 小时前
AI推荐生态下品牌内容筛选标准重构与GEO优化路径
人工智能
CIO_Alliance1 小时前
2026年最新iPaaS选型核心关键指标整合
人工智能·ai·ai+ipaas·企业cio联盟·企业级ai化转型