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)
相关推荐
龙亘川1 分钟前
数字化赋能基层协同治理:亘川智城一网统管平台落地实践思考
大数据·人工智能·智慧城市·开源软件·数据可视化
坏小虎13 分钟前
Codex 中的 Current checkout 和 New worktree 怎么选?
人工智能
陈天伟教授14 分钟前
DeepSeek Harness 生态里的学术写作插件
人工智能·自然语言处理
浪子明X14 分钟前
注意力不是全连接层换名字:多头自注意力的张量实验
人工智能
打工仔折腾 AI22 分钟前
从Attention到BERT:双向预训练语言模型到底解决了什么问题
人工智能·后端·python·深度学习·语言模型·bert
正经教主24 分钟前
【FDE系列】阶段3:Day 56:评测体系入门 — 建立你的黄金评测集
人工智能·fde
鲲穹AI种草25 分钟前
自媒体矩阵批量剪辑怎么选?鲲剪短视频批量处理工具横向评测
人工智能·音视频·媒体
正经教主1 小时前
【FDE系列】阶段3:Day 58:Prompt 安全 — 注入、越狱与防护
网络·人工智能·安全·prompt·fde
TechEdu2026061 小时前
[人工智能]Python09:numpy.random.Statistics统计实战指南
人工智能·numpy
可乐ea1 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测