2026年7月27日agno 正式发布 v2.8.4 最新版本。本次版本共包含 5 个提交、92 个文件变更并由 9 位贡献者参与。整体代码变更规模达到 9,675 行新增、3,736 行删除。从本次更新内容来看v2.8.4 的核心重点并不只是常规修复而是围绕学习系统中的实体记忆能力进行了一次明显的架构调整。原有实体记忆的自动提取模式被收敛新的设计将实体记忆明确调整为仅支持 AGENTIC 工作方式也就是由智能体主动通过工具调用完成实体信息的记录、关联、检索和遗忘。与此同时本次版本还修复了嵌套执行器需求序列化问题、Skill 脚本与引用工具处理空路径参数的问题并新增 TrustedRouter 作为 OpenAILike 模型类。一、本次 v2.8.4 更新概览v2.8.4 于 2026 年 7 月 27 日发布更新内容包括以下五项修复嵌套执行器需求无法正确序列化的问题修复 Skill 脚本工具和引用工具无法接受空路径参数的问题新增 TrustedRouter使其作为 OpenAILike 模型类接入重构第二大脑中的实体记忆能力完成 v2.8.4 正式版本发布流程从提交时间看前三项修复与新增功能在 2026 年 7 月 26 日完成实体记忆改造以及版本发布提交则在 2026 年 7 月 27 日完成。本次变更涉及 92 个文件说明实体记忆改造并非单点功能更新而是牵动了示例、学习模块、团队学习示例、测试日志以及实体记忆专题示例等多个部分。二、修复嵌套执行器需求序列化问题本次版本首先修复了嵌套执行器需求的序列化问题。对于具备多层执行结构的场景执行器之间可能存在嵌套的依赖需求。当这些需求需要被保存、传递或重新构建时若序列化过程无法正确处理嵌套层级就可能导致配置丢失、结构异常或执行行为不一致。v2.8.4 对这一问题进行了修复使嵌套执行器需求能够被正确序列化。虽然本次提供的内容没有展示该修复的具体实现代码但提交说明已经明确指出该问题属于嵌套执行器 requirements 的序列化修复。这意味着新版在处理复杂执行器配置时将更好地保留原始需求结构。三、Skill 脚本与引用工具支持空路径参数第二项修复涉及 Skill 系统中的脚本工具与引用工具。此前当路径参数为空值时相关工具可能无法正确接受或处理该参数。本次 v2.8.4 更新后Skill 脚本工具和引用工具均支持接收空路径参数。这一修复的目标非常明确让工具调用在路径信息缺失或显式传入空值的情况下仍然能够按照预期完成参数处理而不是直接因为空路径导致失败。本次提交说明中使用的是“accept null path args”即接受空路径参数。该更新属于工具调用参数兼容性修复有助于减少调用链路中的参数异常。四、新增 TrustedRouter 作为 OpenAILike 模型类v2.8.4 新增了 TrustedRouter并将其纳入 OpenAILike 模型类体系。这项更新意味着 TrustedRouter 可以按照 OpenAILike 模型类的方式进行使用和集成。对于项目中已经采用 OpenAILike 模型接口或模型抽象方式的场景而言TrustedRouter 的加入使其能够进入统一的模型使用结构。本次提供的更新内容没有给出 TrustedRouter 的具体初始化方式、参数结构或调用示例因此可以确认的信息是TrustedRouter 已被新增TrustedRouter 被定义为 OpenAILike 模型类该功能已作为 v2.8.4 的正式更新内容发布五、实体记忆迎来核心改造从自动提取转向四工具驱动本次 v2.8.4 最值得关注的变化是第二大脑中的实体记忆重构。实体记忆用于保存智能体对外部世界的知识。它关注的不是用户本身而是用户周围的人、项目、公司、系统以及其他外部实体。可以将两类记忆区分为用户记忆关于用户自己的信息实体记忆关于用户所在世界中的人、项目、公司、系统等信息在 v2.8.4 之前实体记忆示例中存在 ALWAYS 模式和 AGENTIC 模式两种方式。而本次更新后实体记忆被明确调整为仅支持 AGENTIC 模式。也就是说实体记忆不再通过自动提取流程进行维护而是由智能体借助四个工具主动记录、关联、搜索和遗忘实体信息。新的实体记忆能力围绕以下四个工具构建remember_aboutlink_entitiessearch_entitiesforget这四个工具共同构成实体记忆的新操作界面。六、四个实体记忆工具分别解决什么问题v2.8.4 中实体记忆被定义为智能体关于世界的知识库。智能体围绕实体信息执行记录、关系建立、检索和清理操作。1. remember_about记录或更新实体信息remember_about 用于根据名称新增或更新实体。它可以记录的信息包括实体事实实体事件实体描述笔记指针在这个过程中实体名称的解析和统一由存储层负责。实体标识会根据名称进行 slug 化处理因此即使名称存在大小写差异也可以被识别为同一个实体。例如某个名称以不同大小写形式出现时存储层会将它们解析到同一个人或同一个实体上而不会因为输入形式不同创建多个重复记录。这项机制的重点在于智能体负责表达要记录什么存储层负责处理实体标识、名称规范化和实体归并。2. link_entities建立实体之间的关系link_entities 用于记录实体之间的关系。例如一个项目与某位负责人之间可以形成关系一个公司与其负责人、产品、系统之间也可以形成关系。本次更新特别说明关系边会保存在两个实体上。也就是说当两个实体被建立关联后这条关系不是只保存在单侧而是会同时体现在双方实体记录中。这种设计使实体关系能够从不同方向被访问和检索。3. search_entities搜索实体或按最近使用情况列出实体search_entities 用于查找实体。它支持两种核心使用方式根据查询条件搜索相关实体不传入查询条件时按照最近使用情况列出实体这意味着 search_entities 不只承担关键词搜索职责也可以用于查看近期实体目录。在实体记忆中实体目录和相关性召回共同参与上下文构建。即使是新的会话只要系统能够根据当前问题找到相关实体之前记录的信息仍然可以被注入到当前对话上下文中。4. forget遗忘事实或归档整个实体forget 用于处理过时、不再需要或应当归档的记忆。它支持两类操作退役某一条事实归档整个实体这里的“退役事实”并不等于物理删除。实体记忆强调的是事实的演进过程。对于出现修正的信息系统不会简单粗暴地覆盖旧内容而是将旧事实标记为失效或退役让新事实成为当前有效信息。七、事实修正机制新事实会自动取代旧事实v2.8.4 的实体记忆改造中一个非常关键的能力是事实 supersession也就是事实替代或事实继任机制。当新的事实与旧的事实发生冲突时新的信息会使旧信息退役。例如一个项目此前处于“因审核受阻”的状态之后又明确说明该项目已经完成上线。此时“受阻”这一旧状态不会继续作为当前有效事实存在而会被新的“已上线”事实替代。本次更新明确说明修正信息本身就是新事实新事实会自动使旧事实退役被替代的旧事实不会被直接删除事实展示时会携带截至日期信息较新的事实优先于较旧的事实这种方式保证了实体记忆不只是保存一个静态结果还能够表达信息的时间演变。因此实体记忆中的“已退役”事实仍然保留历史价值但在当前知识表达中最新事实拥有更高优先级。八、基础示例合并5_entity_memory.py 成为新的实体记忆入口在基础学习示例目录中v2.8.4 新增了cookbook/08_learning/01_basics/5_entity_memory.py这个文件将原来的两个实体记忆示例统一为一个新的示例入口。原先的两个文件被删除cookbook/08_learning/01_basics/5a_entity_memory_always.pycookbook/08_learning/01_basics/5b_entity_memory_agentic.py新的文件标题为“Entity Memory: The Four Tools”即实体记忆四个工具。示例文件开头对实体记忆的定义非常明确实体记忆是智能体关于世界的知识它关注用户周围的人、项目、公司和系统它不同于用户记忆用户记忆关注用户自身实体记忆仅支持 AGENTIC 方式智能体通过四个工具进行记录存储层负责处理名称、标识和事实替代该示例使用 PostgreSQL 作为数据库dbPostgresDb(db_urlpostgresqlpsycopg://ai:ailocalhost:5532/ai)同时为了保证每次运行演示时都拥有独立的干净空间示例通过随机字符串生成命名空间NAMESPACEfbasics_{uuid4().hex[:6]}这种写法的目的是让每次演示运行从一个新的命名空间开始避免历史演示数据互相干扰。智能体初始化时配置了实体记忆learningLearningMachine(entity_memoryEntityMemoryConfig(namespaceNAMESPACE),)这里不再配置实体记忆的 ALWAYS 模式而是直接配置带命名空间的 EntityMemoryConfig。示例中的智能体定位为销售助手并要求对笔记进行简短确认。首次对话中用户提供了一家公司、公司规模、所在地以及技术负责人等信息。智能体在第一个会话中记录这些实体信息。随后示例切换到一个新的会话并询问“我们知道这家公司什么信息”。这里要验证的核心能力是会话已经变化实体目录仍然存在相关性召回仍然能够带回相关知识回答问题时不必再执行工具调用已记录的实体信息可以直接通过注入上下文被用于回答这也说明实体记忆的价值不局限于单一会话而在于跨会话的世界知识延续。九、团队学习示例同步调整在团队学习示例中文件cookbook/03_teams/12_learning/03_team_entity_memory.py也进行了调整。原先的配置中实体记忆使用了 ALWAYS 模式entity_memoryEntityMemoryConfig(modeLearningMode.ALWAYS,),在 v2.8.4 中这段配置被替换为entity_memoryEntityMemoryConfig(),并附带说明# AGENTIC-only: the agent records through its four tools这句说明直接点明了 v2.8.4 的设计变化实体记忆仅支持 AGENTIC智能体通过四个工具完成记录。该团队示例中用户档案仍然保持 ALWAYS 模式user_profileUserProfileConfig(modeLearningMode.ALWAYS,),这进一步体现了用户档案与实体记忆的区别。用户档案可以继续采用 ALWAYS 模式实体记忆则不再采用自动提取模式。十、团队 Agentic Learning 示例修正导入文件cookbook/03_teams/12_learning/10_team_agentic_learning.py中还包含一个导入调整。更新前后出现的变化是 LearningMode 的导入来源调整。原先存在从一个位置导入 LearningMode 的写法更新后使用了fromagno.learn.modeimportLearningMode本次提供的差异信息显示旧导入被删除并保留了新的导入方式。这项改动属于示例代码导入路径的整理与实体记忆重构同步出现。十一、提取限制示例移除实体记忆相关内容文件cookbook/08_learning/01_basics/6_extraction_limits.py在 v2.8.4 中删除了实体记忆相关配置和展示逻辑。原先该示例中包含EntityMemoryConfig并且在 LearningMachine 配置中设置了实体记忆的 ALWAYS 模式及独立限制entity_memoryEntityMemoryConfig(modeLearningMode.ALWAYS,max_updates_per_run15),原有注释说明了不同存储的更新上限关系LearningMachine 全局max_updates_per_run5user_profile 继承全局上限 5user_memory 显式覆盖为 3entity_memory 显式覆盖为 15更新后实体记忆相关导入被删除实体记忆配置也被删除。保留下来的限制逻辑聚焦于用户档案用户记忆其中用户档案使用 ALWAYS 模式用户记忆使用 ALWAYS 模式并指定每次运行最多更新 3 次。原先用于打印实体记忆搜索结果的代码也被删除包括entitieslm.entity_memory_store.search(querytechcorp,limit20)以及打印实体记忆结果的逻辑。原因已经在测试日志和 README 说明中明确实体记忆已经没有自动提取流程因此不再适用于 extraction limits也就不存在提取过程中的更新次数限制问题。换句话说max_updates_per_run示例现在只用于用户档案和用户记忆而不再覆盖实体记忆。十二、基础学习 README 更新文件cookbook/08_learning/01_basics/README.md同步更新了实体记忆示例列表。旧版本中包含两个实体记忆示例5a_entity_memory_always.pyALWAYS 模式下的实体记忆提取5b_entity_memory_agentic.pyAGENTIC 模式下的实体记忆管理v2.8.4 中这两个条目被删除替换为5_entity_memory.py四个实体工具且在 2.8.4 中仅支持 AGENTICREADME 的变化准确反映了本次实体记忆能力的迁移结果两个模式示例合并为一个示例ALWAYS 模式实体记忆示例不再保留四工具成为实体记忆的统一操作方式实体记忆仅保留 AGENTIC 模式十三、测试日志记录了实体记忆改造的验证结果文件cookbook/08_learning/01_basics/TEST_LOG.md也同步记录了这次实体记忆重构的测试情况。测试日志新增说明指出原来的 5a 和 5b 示例已被5_entity_memory.py替代实体记忆在四工具表面下仅支持 AGENTIC新示例已经使用 gpt-5.5 实际运行验证在第一个会话中公司实体被成功记录公司属性和技术负责人关系被成功记录在第二个会话中系统能够基于注入的信息回答问题第二个会话的回答没有调用工具6_extraction_limits.py不再包含实体记忆原因是实体记忆没有提取流程因此不存在需要限制的提取次数测试日志中新的5_entity_memory.py状态为 PASS。其验证描述是通过四个实体工具完成记录在一个会话中完成信息捕获在全新的会话中完成信息召回测试结果说明实体记忆已经能够在首个会话中保存实体与关系并在后续新会话中借助上下文注入完成回答。与此同时6_extraction_limits.py的说明调整为max_updates_per_run只限制 user_profile 和 user_memory实体记忆已从该示例中移除原因是实体记忆不存在需要限制的提取过程十四、实体记忆专题示例重构在实体记忆专题目录中原文件cookbook/08_learning/04_entity_memory/01_facts_and_events.py已被删除。新的文件为cookbook/08_learning/04_entity_memory/01_the_four_tools.py该文件新增 86 行内容完整展示了实体记忆的四工具工作方式以及事实替代机制。示例同样使用 PostgreSQL 数据库dbPostgresDb(db_urlpostgresqlpsycopg://ai:ailocalhost:5532/ai)并生成每次运行独立的命名空间NAMESPACEffour_tools_{uuid4().hex[:6]}示例特别指出演示环境中使用新的命名空间以便每次运行都从干净状态开始真实部署环境中应固定一个命名空间持久化本身正是实体记忆存在的意义智能体初始化配置如下learningLearningMachine(entity_memoryEntityMemoryConfig(namespaceNAMESPACE),)智能体的角色是项目跟踪助手要求在接收到信息后简短记录。十五、专题示例演示了三轮实体记忆交互新的01_the_four_tools.py示例包含三轮关键交互。第一轮记录项目与人员关系第一轮中用户要求追踪一个项目并说明该项目当前被安全审核阻塞某位人员是该项目的设计负责人这一轮的目标是让智能体通过实体记忆工具记录项目实体项目当前状态人员实体人员与项目之间的关系这正对应 remember_about 和 link_entities 的使用方向。第二轮提交修正信息触发事实替代第二轮中用户提供新的状态信息项目第一版已经在当天上线到生产环境这条信息与第一轮中的“项目被审核阻塞”形成了状态演变。示例明确指出此时事实替代机制会让旧的“受阻”事实退役而不是删除。随后示例会打印该项目当前有效的事实store.print(entity_idradar,entity_typeproject,namespaceNAMESPACE)打印时关注的是“仍然有效的事实”。旧的受阻信息虽然没有被物理删除但已经退役因此当前展示的重点是新的上线状态。第三轮在新的会话中完成召回第三轮中示例再次切换到一个新的会话并询问项目相关信息。此时要验证的是会话已经是全新的实体目录仍然可用相关性召回能够识别当前问题涉及的实体系统能够将相关实体信息注入当前上下文智能体可以回答关于该项目的问题示例注释明确指出实体目录加上相关性召回会注入当前轮次所关注的信息。这与基础示例中跨会话召回公司的信息形成了呼应实体记忆并不依赖原始会话持续存在而是通过持久化实体信息和相关性召回为新会话提供知识支持。十六、v2.8.4 中实体记忆的最终使用方式综合本次全部示例和代码变化可以清晰看到 v2.8.4 对实体记忆的最终定位。实体记忆不再使用 ALWAYS 自动提取模式。实体记忆的操作方式收敛为四个工具remember_about记录或更新实体事实、事件、描述与笔记指针link_entities建立实体关系并在双方实体上保存关系边search_entities按条件检索实体或在没有查询条件时按最近使用情况列出实体forget退役事实或归档实体实体解析由存储层完成包括名称 slug 化大小写归一同名实体合并实体标识处理事实演进由 supersession 机制处理包括新事实自动替代旧事实旧事实退役而非删除事实附带截至日期新事实优先级高于旧事实实体记忆支持通过命名空间隔离不同的数据空间。在示例中随机命名空间用于保证演示环境的干净状态在实际部署中固定命名空间用于获得长期持久化的实体知识。十七、总结v2.8.4 的关键变化代码地址github.com/agno-agi/agnoagno v2.8.4 的更新重点可以总结为以下几个方面修复嵌套执行器需求序列化问题修复 Skill 脚本与引用工具的空路径参数兼容问题新增 TrustedRouter 作为 OpenAILike 模型类全面重构第二大脑中的实体记忆删除实体记忆 ALWAYS 模式示例删除实体记忆自动提取限制相关配置将实体记忆统一收敛为 AGENTIC 四工具模式新增统一基础示例5_entity_memory.py新增实体记忆专题示例01_the_four_tools.py使用事实替代机制处理状态修正和知识演进支持跨会话的实体目录与相关性召回在测试日志中确认新实体记忆示例已通过实际运行验证对于 v2.8.4 而言实体记忆的变化不仅是 API 或示例文件名称的调整更是学习机制使用方式的明确收敛。用户档案和用户记忆仍然可以按照自动学习方式进行更新而实体记忆则被定位为由智能体主动管理的世界知识库。通过记住实体、关联实体、搜索实体和遗忘实体智能体能够持续构建关于项目、公司、人员和系统的结构化认知并在新的会话中重新召回与当前问题最相关的信息。
agno v2.8.4 发布:实体记忆全面改造,四工具驱动第二大脑能力升级
2026年7月27日agno 正式发布 v2.8.4 最新版本。本次版本共包含 5 个提交、92 个文件变更并由 9 位贡献者参与。整体代码变更规模达到 9,675 行新增、3,736 行删除。从本次更新内容来看v2.8.4 的核心重点并不只是常规修复而是围绕学习系统中的实体记忆能力进行了一次明显的架构调整。原有实体记忆的自动提取模式被收敛新的设计将实体记忆明确调整为仅支持 AGENTIC 工作方式也就是由智能体主动通过工具调用完成实体信息的记录、关联、检索和遗忘。与此同时本次版本还修复了嵌套执行器需求序列化问题、Skill 脚本与引用工具处理空路径参数的问题并新增 TrustedRouter 作为 OpenAILike 模型类。一、本次 v2.8.4 更新概览v2.8.4 于 2026 年 7 月 27 日发布更新内容包括以下五项修复嵌套执行器需求无法正确序列化的问题修复 Skill 脚本工具和引用工具无法接受空路径参数的问题新增 TrustedRouter使其作为 OpenAILike 模型类接入重构第二大脑中的实体记忆能力完成 v2.8.4 正式版本发布流程从提交时间看前三项修复与新增功能在 2026 年 7 月 26 日完成实体记忆改造以及版本发布提交则在 2026 年 7 月 27 日完成。本次变更涉及 92 个文件说明实体记忆改造并非单点功能更新而是牵动了示例、学习模块、团队学习示例、测试日志以及实体记忆专题示例等多个部分。二、修复嵌套执行器需求序列化问题本次版本首先修复了嵌套执行器需求的序列化问题。对于具备多层执行结构的场景执行器之间可能存在嵌套的依赖需求。当这些需求需要被保存、传递或重新构建时若序列化过程无法正确处理嵌套层级就可能导致配置丢失、结构异常或执行行为不一致。v2.8.4 对这一问题进行了修复使嵌套执行器需求能够被正确序列化。虽然本次提供的内容没有展示该修复的具体实现代码但提交说明已经明确指出该问题属于嵌套执行器 requirements 的序列化修复。这意味着新版在处理复杂执行器配置时将更好地保留原始需求结构。三、Skill 脚本与引用工具支持空路径参数第二项修复涉及 Skill 系统中的脚本工具与引用工具。此前当路径参数为空值时相关工具可能无法正确接受或处理该参数。本次 v2.8.4 更新后Skill 脚本工具和引用工具均支持接收空路径参数。这一修复的目标非常明确让工具调用在路径信息缺失或显式传入空值的情况下仍然能够按照预期完成参数处理而不是直接因为空路径导致失败。本次提交说明中使用的是“accept null path args”即接受空路径参数。该更新属于工具调用参数兼容性修复有助于减少调用链路中的参数异常。四、新增 TrustedRouter 作为 OpenAILike 模型类v2.8.4 新增了 TrustedRouter并将其纳入 OpenAILike 模型类体系。这项更新意味着 TrustedRouter 可以按照 OpenAILike 模型类的方式进行使用和集成。对于项目中已经采用 OpenAILike 模型接口或模型抽象方式的场景而言TrustedRouter 的加入使其能够进入统一的模型使用结构。本次提供的更新内容没有给出 TrustedRouter 的具体初始化方式、参数结构或调用示例因此可以确认的信息是TrustedRouter 已被新增TrustedRouter 被定义为 OpenAILike 模型类该功能已作为 v2.8.4 的正式更新内容发布五、实体记忆迎来核心改造从自动提取转向四工具驱动本次 v2.8.4 最值得关注的变化是第二大脑中的实体记忆重构。实体记忆用于保存智能体对外部世界的知识。它关注的不是用户本身而是用户周围的人、项目、公司、系统以及其他外部实体。可以将两类记忆区分为用户记忆关于用户自己的信息实体记忆关于用户所在世界中的人、项目、公司、系统等信息在 v2.8.4 之前实体记忆示例中存在 ALWAYS 模式和 AGENTIC 模式两种方式。而本次更新后实体记忆被明确调整为仅支持 AGENTIC 模式。也就是说实体记忆不再通过自动提取流程进行维护而是由智能体借助四个工具主动记录、关联、搜索和遗忘实体信息。新的实体记忆能力围绕以下四个工具构建remember_aboutlink_entitiessearch_entitiesforget这四个工具共同构成实体记忆的新操作界面。六、四个实体记忆工具分别解决什么问题v2.8.4 中实体记忆被定义为智能体关于世界的知识库。智能体围绕实体信息执行记录、关系建立、检索和清理操作。1. remember_about记录或更新实体信息remember_about 用于根据名称新增或更新实体。它可以记录的信息包括实体事实实体事件实体描述笔记指针在这个过程中实体名称的解析和统一由存储层负责。实体标识会根据名称进行 slug 化处理因此即使名称存在大小写差异也可以被识别为同一个实体。例如某个名称以不同大小写形式出现时存储层会将它们解析到同一个人或同一个实体上而不会因为输入形式不同创建多个重复记录。这项机制的重点在于智能体负责表达要记录什么存储层负责处理实体标识、名称规范化和实体归并。2. link_entities建立实体之间的关系link_entities 用于记录实体之间的关系。例如一个项目与某位负责人之间可以形成关系一个公司与其负责人、产品、系统之间也可以形成关系。本次更新特别说明关系边会保存在两个实体上。也就是说当两个实体被建立关联后这条关系不是只保存在单侧而是会同时体现在双方实体记录中。这种设计使实体关系能够从不同方向被访问和检索。3. search_entities搜索实体或按最近使用情况列出实体search_entities 用于查找实体。它支持两种核心使用方式根据查询条件搜索相关实体不传入查询条件时按照最近使用情况列出实体这意味着 search_entities 不只承担关键词搜索职责也可以用于查看近期实体目录。在实体记忆中实体目录和相关性召回共同参与上下文构建。即使是新的会话只要系统能够根据当前问题找到相关实体之前记录的信息仍然可以被注入到当前对话上下文中。4. forget遗忘事实或归档整个实体forget 用于处理过时、不再需要或应当归档的记忆。它支持两类操作退役某一条事实归档整个实体这里的“退役事实”并不等于物理删除。实体记忆强调的是事实的演进过程。对于出现修正的信息系统不会简单粗暴地覆盖旧内容而是将旧事实标记为失效或退役让新事实成为当前有效信息。七、事实修正机制新事实会自动取代旧事实v2.8.4 的实体记忆改造中一个非常关键的能力是事实 supersession也就是事实替代或事实继任机制。当新的事实与旧的事实发生冲突时新的信息会使旧信息退役。例如一个项目此前处于“因审核受阻”的状态之后又明确说明该项目已经完成上线。此时“受阻”这一旧状态不会继续作为当前有效事实存在而会被新的“已上线”事实替代。本次更新明确说明修正信息本身就是新事实新事实会自动使旧事实退役被替代的旧事实不会被直接删除事实展示时会携带截至日期信息较新的事实优先于较旧的事实这种方式保证了实体记忆不只是保存一个静态结果还能够表达信息的时间演变。因此实体记忆中的“已退役”事实仍然保留历史价值但在当前知识表达中最新事实拥有更高优先级。八、基础示例合并5_entity_memory.py 成为新的实体记忆入口在基础学习示例目录中v2.8.4 新增了cookbook/08_learning/01_basics/5_entity_memory.py这个文件将原来的两个实体记忆示例统一为一个新的示例入口。原先的两个文件被删除cookbook/08_learning/01_basics/5a_entity_memory_always.pycookbook/08_learning/01_basics/5b_entity_memory_agentic.py新的文件标题为“Entity Memory: The Four Tools”即实体记忆四个工具。示例文件开头对实体记忆的定义非常明确实体记忆是智能体关于世界的知识它关注用户周围的人、项目、公司和系统它不同于用户记忆用户记忆关注用户自身实体记忆仅支持 AGENTIC 方式智能体通过四个工具进行记录存储层负责处理名称、标识和事实替代该示例使用 PostgreSQL 作为数据库dbPostgresDb(db_urlpostgresqlpsycopg://ai:ailocalhost:5532/ai)同时为了保证每次运行演示时都拥有独立的干净空间示例通过随机字符串生成命名空间NAMESPACEfbasics_{uuid4().hex[:6]}这种写法的目的是让每次演示运行从一个新的命名空间开始避免历史演示数据互相干扰。智能体初始化时配置了实体记忆learningLearningMachine(entity_memoryEntityMemoryConfig(namespaceNAMESPACE),)这里不再配置实体记忆的 ALWAYS 模式而是直接配置带命名空间的 EntityMemoryConfig。示例中的智能体定位为销售助手并要求对笔记进行简短确认。首次对话中用户提供了一家公司、公司规模、所在地以及技术负责人等信息。智能体在第一个会话中记录这些实体信息。随后示例切换到一个新的会话并询问“我们知道这家公司什么信息”。这里要验证的核心能力是会话已经变化实体目录仍然存在相关性召回仍然能够带回相关知识回答问题时不必再执行工具调用已记录的实体信息可以直接通过注入上下文被用于回答这也说明实体记忆的价值不局限于单一会话而在于跨会话的世界知识延续。九、团队学习示例同步调整在团队学习示例中文件cookbook/03_teams/12_learning/03_team_entity_memory.py也进行了调整。原先的配置中实体记忆使用了 ALWAYS 模式entity_memoryEntityMemoryConfig(modeLearningMode.ALWAYS,),在 v2.8.4 中这段配置被替换为entity_memoryEntityMemoryConfig(),并附带说明# AGENTIC-only: the agent records through its four tools这句说明直接点明了 v2.8.4 的设计变化实体记忆仅支持 AGENTIC智能体通过四个工具完成记录。该团队示例中用户档案仍然保持 ALWAYS 模式user_profileUserProfileConfig(modeLearningMode.ALWAYS,),这进一步体现了用户档案与实体记忆的区别。用户档案可以继续采用 ALWAYS 模式实体记忆则不再采用自动提取模式。十、团队 Agentic Learning 示例修正导入文件cookbook/03_teams/12_learning/10_team_agentic_learning.py中还包含一个导入调整。更新前后出现的变化是 LearningMode 的导入来源调整。原先存在从一个位置导入 LearningMode 的写法更新后使用了fromagno.learn.modeimportLearningMode本次提供的差异信息显示旧导入被删除并保留了新的导入方式。这项改动属于示例代码导入路径的整理与实体记忆重构同步出现。十一、提取限制示例移除实体记忆相关内容文件cookbook/08_learning/01_basics/6_extraction_limits.py在 v2.8.4 中删除了实体记忆相关配置和展示逻辑。原先该示例中包含EntityMemoryConfig并且在 LearningMachine 配置中设置了实体记忆的 ALWAYS 模式及独立限制entity_memoryEntityMemoryConfig(modeLearningMode.ALWAYS,max_updates_per_run15),原有注释说明了不同存储的更新上限关系LearningMachine 全局max_updates_per_run5user_profile 继承全局上限 5user_memory 显式覆盖为 3entity_memory 显式覆盖为 15更新后实体记忆相关导入被删除实体记忆配置也被删除。保留下来的限制逻辑聚焦于用户档案用户记忆其中用户档案使用 ALWAYS 模式用户记忆使用 ALWAYS 模式并指定每次运行最多更新 3 次。原先用于打印实体记忆搜索结果的代码也被删除包括entitieslm.entity_memory_store.search(querytechcorp,limit20)以及打印实体记忆结果的逻辑。原因已经在测试日志和 README 说明中明确实体记忆已经没有自动提取流程因此不再适用于 extraction limits也就不存在提取过程中的更新次数限制问题。换句话说max_updates_per_run示例现在只用于用户档案和用户记忆而不再覆盖实体记忆。十二、基础学习 README 更新文件cookbook/08_learning/01_basics/README.md同步更新了实体记忆示例列表。旧版本中包含两个实体记忆示例5a_entity_memory_always.pyALWAYS 模式下的实体记忆提取5b_entity_memory_agentic.pyAGENTIC 模式下的实体记忆管理v2.8.4 中这两个条目被删除替换为5_entity_memory.py四个实体工具且在 2.8.4 中仅支持 AGENTICREADME 的变化准确反映了本次实体记忆能力的迁移结果两个模式示例合并为一个示例ALWAYS 模式实体记忆示例不再保留四工具成为实体记忆的统一操作方式实体记忆仅保留 AGENTIC 模式十三、测试日志记录了实体记忆改造的验证结果文件cookbook/08_learning/01_basics/TEST_LOG.md也同步记录了这次实体记忆重构的测试情况。测试日志新增说明指出原来的 5a 和 5b 示例已被5_entity_memory.py替代实体记忆在四工具表面下仅支持 AGENTIC新示例已经使用 gpt-5.5 实际运行验证在第一个会话中公司实体被成功记录公司属性和技术负责人关系被成功记录在第二个会话中系统能够基于注入的信息回答问题第二个会话的回答没有调用工具6_extraction_limits.py不再包含实体记忆原因是实体记忆没有提取流程因此不存在需要限制的提取次数测试日志中新的5_entity_memory.py状态为 PASS。其验证描述是通过四个实体工具完成记录在一个会话中完成信息捕获在全新的会话中完成信息召回测试结果说明实体记忆已经能够在首个会话中保存实体与关系并在后续新会话中借助上下文注入完成回答。与此同时6_extraction_limits.py的说明调整为max_updates_per_run只限制 user_profile 和 user_memory实体记忆已从该示例中移除原因是实体记忆不存在需要限制的提取过程十四、实体记忆专题示例重构在实体记忆专题目录中原文件cookbook/08_learning/04_entity_memory/01_facts_and_events.py已被删除。新的文件为cookbook/08_learning/04_entity_memory/01_the_four_tools.py该文件新增 86 行内容完整展示了实体记忆的四工具工作方式以及事实替代机制。示例同样使用 PostgreSQL 数据库dbPostgresDb(db_urlpostgresqlpsycopg://ai:ailocalhost:5532/ai)并生成每次运行独立的命名空间NAMESPACEffour_tools_{uuid4().hex[:6]}示例特别指出演示环境中使用新的命名空间以便每次运行都从干净状态开始真实部署环境中应固定一个命名空间持久化本身正是实体记忆存在的意义智能体初始化配置如下learningLearningMachine(entity_memoryEntityMemoryConfig(namespaceNAMESPACE),)智能体的角色是项目跟踪助手要求在接收到信息后简短记录。十五、专题示例演示了三轮实体记忆交互新的01_the_four_tools.py示例包含三轮关键交互。第一轮记录项目与人员关系第一轮中用户要求追踪一个项目并说明该项目当前被安全审核阻塞某位人员是该项目的设计负责人这一轮的目标是让智能体通过实体记忆工具记录项目实体项目当前状态人员实体人员与项目之间的关系这正对应 remember_about 和 link_entities 的使用方向。第二轮提交修正信息触发事实替代第二轮中用户提供新的状态信息项目第一版已经在当天上线到生产环境这条信息与第一轮中的“项目被审核阻塞”形成了状态演变。示例明确指出此时事实替代机制会让旧的“受阻”事实退役而不是删除。随后示例会打印该项目当前有效的事实store.print(entity_idradar,entity_typeproject,namespaceNAMESPACE)打印时关注的是“仍然有效的事实”。旧的受阻信息虽然没有被物理删除但已经退役因此当前展示的重点是新的上线状态。第三轮在新的会话中完成召回第三轮中示例再次切换到一个新的会话并询问项目相关信息。此时要验证的是会话已经是全新的实体目录仍然可用相关性召回能够识别当前问题涉及的实体系统能够将相关实体信息注入当前上下文智能体可以回答关于该项目的问题示例注释明确指出实体目录加上相关性召回会注入当前轮次所关注的信息。这与基础示例中跨会话召回公司的信息形成了呼应实体记忆并不依赖原始会话持续存在而是通过持久化实体信息和相关性召回为新会话提供知识支持。十六、v2.8.4 中实体记忆的最终使用方式综合本次全部示例和代码变化可以清晰看到 v2.8.4 对实体记忆的最终定位。实体记忆不再使用 ALWAYS 自动提取模式。实体记忆的操作方式收敛为四个工具remember_about记录或更新实体事实、事件、描述与笔记指针link_entities建立实体关系并在双方实体上保存关系边search_entities按条件检索实体或在没有查询条件时按最近使用情况列出实体forget退役事实或归档实体实体解析由存储层完成包括名称 slug 化大小写归一同名实体合并实体标识处理事实演进由 supersession 机制处理包括新事实自动替代旧事实旧事实退役而非删除事实附带截至日期新事实优先级高于旧事实实体记忆支持通过命名空间隔离不同的数据空间。在示例中随机命名空间用于保证演示环境的干净状态在实际部署中固定命名空间用于获得长期持久化的实体知识。十七、总结v2.8.4 的关键变化代码地址github.com/agno-agi/agnoagno v2.8.4 的更新重点可以总结为以下几个方面修复嵌套执行器需求序列化问题修复 Skill 脚本与引用工具的空路径参数兼容问题新增 TrustedRouter 作为 OpenAILike 模型类全面重构第二大脑中的实体记忆删除实体记忆 ALWAYS 模式示例删除实体记忆自动提取限制相关配置将实体记忆统一收敛为 AGENTIC 四工具模式新增统一基础示例5_entity_memory.py新增实体记忆专题示例01_the_four_tools.py使用事实替代机制处理状态修正和知识演进支持跨会话的实体目录与相关性召回在测试日志中确认新实体记忆示例已通过实际运行验证对于 v2.8.4 而言实体记忆的变化不仅是 API 或示例文件名称的调整更是学习机制使用方式的明确收敛。用户档案和用户记忆仍然可以按照自动学习方式进行更新而实体记忆则被定位为由智能体主动管理的世界知识库。通过记住实体、关联实体、搜索实体和遗忘实体智能体能够持续构建关于项目、公司、人员和系统的结构化认知并在新的会话中重新召回与当前问题最相关的信息。