agno v2.6.9 最新版发布:审批记录可直读、PgVector 前缀检索修复、Claude 0 参数终于生效,全面升级实战体验

网易专栏3小时前发布 nxnqh
1 0 0

🤖 AI总结

主题

Agno v2.6.9版本更新详解

摘要

Agno v2.6.9版本修复了PgVector前缀匹配、Claude参数为0被丢弃、Gemini agent工具调用等多个关键问题,增强了审批可观测性和代码兼容性。

关键信息

  • 1 修复了PgVector前缀匹配、Claude参数为0被丢弃等关键问题
  • 2 增强了审批记录的可观测性和GeminiInteractions的稳定性
  • 3 优化了依赖和代码兼容性

agno v2.6.9 最新版发布:审批记录可直读、PgVector 前缀检索修复、Claude 0 参数终于生效,全面升级实战体验

agno v2.6.9 最新版发布:审批记录可直读、PgVector 前缀检索修复、Claude 0 参数终于生效,全面升级实战体验

agno v2.6.9 最新版发布:审批记录可直读、PgVector 前缀检索修复、Claude 0 参数终于生效,全面升级实战体验

2026年5月22日,Agno 发布了v2.6.9
这一次更新虽然版本号不大,但内容非常扎实,属于典型的“看起来是小版本,实际上修了不少关键问题”的升级。
审批流后 Hooks 的可观测性增强,到PgVector 前缀匹配真正可用,再到Claude 系列模型 temperature/top_p/top_k=0 终于不再被静默丢弃,以及GeminiInteractions 在 agent 路径上的工具调用修复,都直接影响到开发者在真实项目中的稳定性和可控性。

如果你正在使用 Agno 构建 Agent、Workflow、知识库检索、审批流、或者接入 Claude / Gemini / PgVector,那么这次版本更新值得认真看完。
下面我会按照新特性、优化、Bug 修复、变更清单的顺序,结合本次官方发布内容,做一篇适合 CSDN 发布的技术文章整理,帮助你快速理解 v2.6.9 到底升级了什么、修了什么、为什么重要。

一、v2.6.9 发布概览

本次版本发布的核心关键词可以概括为:

审批信息更完整

  • PgVector 前缀搜索真正可用

  • Claude 的 0 参数不再失效

  • Calendar / Gmail 指令层更清晰

  • 决策日志兼容 Python 3.12

  • Gemini agent 路径工具调用错误修复

  • Chonkie 升级带来语言自动识别修复

    这些内容并不是简单的“功能堆砌”,而是围绕几个实际开发痛点进行修正:

    1.可观测性更强:后 hooks 和 observability integration 现在可以拿到完整的审批解析记录。

  • 2.检索能力更准:PgVector 的 prefix_match 不再是无效参数。

  • 3.模型参数更可靠:Claude 相关参数为 0 时终于能按预期传递。

  • 4.Agent 执行更稳定:GeminiInteractions 不再把 server-side tool calls 错误暴露为本地 tool_calls。

  • 5.配置和兼容性更干净:一些废弃写法和冗余文案被清理,减少维护成本。

    二、新特性:审批记录在 Post-Hooks 中可完整读取

    本次最值得关注的新特性之一,是审批记录在 post-hooks 和 observability integrations 中可完整读取

    1)更新前的问题

    在之前的版本里,运行结果中的审批信息暴露得比较有限。
    开发者在后置 hook、观测集成中,通常只能看到:

    • status

  • • resolution_data

    这意味着很多关键审批上下文并没有直接暴露出来,例如:

    • resolved_by

  • • resolved_at

    对于需要做审计、记录审批链路、或者在 observability 系统中还原完整审批状态的场景来说,这显然不够。

    2)本次更新的变化

    现在,完整的 resolved approval record 可以通过:

    run_response.metadata["approval"]

    来读取。

    这条信息的意义非常大,因为它被放在 metadata 中,所以具备统一性:

    • 对RunOutput生效

  • • 对TeamRunOutput生效

  • • 未来也能自然适配WorkflowRunOutput

    也就是说,Agno 不再把审批信息限制在某个特定输出对象的某个局部字段,而是统一放进 metadata 里,方便不同运行类型以一致方式读取。

    3)这对实际开发意味着什么

    这项改进主要带来三类收益:

    更完整的审计信息

  • 更方便的后处理逻辑

  • 更统一的数据结构设计

    如果你在做审批流、风控流程、运维审批、AI 辅助决策记录,那么这次更新之后,你可以更自然地在 post-hook 中拿到完整审批结果,减少二次拼装和字段缺失带来的问题。

    三、PgVector 优化:prefix_match=True 终于真正生效

    这是本次更新中非常关键的一项改进,尤其适合做知识库、FAQ 检索、站内搜索、类型联想等场景。

    1)之前的问题:prefix_match 名义存在,实际上无效

    在旧版本里,PgVector(prefix_match=True)表面上看支持前缀匹配,但实际上这是一个静默无效的参数。

    原因在于:

    • 它先拼接了*

  • • 然后走的是websearch_to_tsquery

  • • 而websearch_to_tsquery会忽略通配符

    所以最终结果就是:你以为开了 prefix_match,实际上并没有真正做前缀搜索。

    2)这次修复后的行为

    现在它会正确地路由到:

    to_tsquery('tok:*')

    并且做了正确的 tokenization。

    这意味着像下面这样的部分查询:

    ani

    现在能够在 FTS 中匹配到:

    animal

    这和文档中的预期表现一致了。

    3)适用场景

    这项修复非常适合以下应用:

    帮助中心自动补全

  • FAQ 联想搜索

  • 商品名/标签名前缀搜索

  • 知识库模糊前缀检索

  • 内容标题检索

    官方还配套提供了新的 cookbook 示例,演示帮助中心 typeahead 的使用方式。对于依赖 PgVector 做检索增强的项目来说,这个修复非常实用。

    四、PgVector 另一个修复:空 tsquery fallback 更稳了

    除了 prefix_match,这次还修了另一个和 PgVector 相关的边界问题。

    1)旧版本的问题

    原来在 hybrid_search 的 fallback 逻辑里,会使用:

    to_tsquery(language, '')

    作为空查询兜底。

    这个写法的问题在于,它依赖解析器对空输入的容忍程度。
    换句话说,不同环境下可能会表现不一致,稳定性不够理想。

    2)本次优化后的做法

    现在改成了:

    • 直接使用字面量''::tsquery

    这种方式更明确,也更稳健,不再依赖解析器如何处理空字符串。

    3)实际意义

    对于检索系统来说,空查询兜底是非常常见的边界条件。
    这项修复提升的是:

    一致性

  • 鲁棒性

  • 跨环境稳定性

    虽然这类修复不如新特性那么“显眼”,但在生产环境里往往更重要。

    五、Claude 系列模型:temperature/top_p/top_k=0 终于不再被吞掉

    这是本次更新中对模型调用影响很大的修复之一,涉及:

    • Anthropic Claude

  • • AWS Claude

  • • VertexAI Claude

    1)旧版本的隐患

    之前这些 Claude 变体会因为使用了“裸 truthiness 检查”,导致当参数值为0.0时被误判为 False,于是直接被丢弃。

    这就带来一个非常严重的问题:

    • 开发者明明显式设置了temperature=0

  • • 结果请求发出去时,这个参数根本没真正生效

  • • API 最终回落到默认值,大约是1.0

    也就是说,原本想要确定性输出,最后却变成了随机性输出。

    2)本次修复方式

    现在代码统一改成了:

    is not None

    这样一来,只要你显式传了0,它就会被正确保留并传递。

    3)这为什么重要

    对于大模型应用来说,temperature=0常用于:

    • 需要稳定复现结果

  • • 需要严格 JSON 输出

  • • 需要确定性工具调用

  • • 需要降低随机性

    如果这个参数被静默吞掉,实际影响会非常大。
    因此,这次修复可以说是修正了一个非常隐蔽但非常关键的问题

    同样地,top_p=0top_k=0也会按照预期生效,不再被误判为“没传值”。

    六、Calendar 和 Gmail context providers:指令层更清晰

    本次更新还对Calendar 和 Gmail context providers的默认指令进行了整理。

    1)之前的问题

    原先的默认读写指令非常长:

    • DEFAULT_READ_INSTRUCTIONS

  • • DEFAULT_WRITE_INSTRUCTIONS

    长度达到 157 行。

    但其中有不少内容,其实已经由 toolkit 侧的指令提供了。
    这就导致:

    • 指令层重复

  • • 角色边界不清

  • • 维护成本偏高

    2)本次调整后的变化

    现在这些默认指令被大幅压缩到了27 行

    整理后的原则是:

    Provider 负责角色与安全

  • Toolkit 负责技术参考

    也就是说,职责划分更加清晰了。

    3)实际价值

    这种调整看起来偏“内部治理”,但实际上很重要。
    因为大模型应用里,提示词层的混乱往往会导致:

    • 指令冲突

  • • 重复提示

  • • 行为不稳定

  • • 文档和实际逻辑不一致

    这次清理后,Calendar 和 Gmail 的 context provider 在结构上会更加简洁,也更容易维护。

    七、decision_log 修复:告别 datetime.utcnow() 的弃用警告

    Python 3.12 对datetime.utcnow()相关用法提出了弃用提示。
    本次更新中,decision_log模块已经改成:

    datetime.now(timezone.utc)

    1)为什么要改

    因为datetime.utcnow()已经不再是推荐写法。
    继续使用的话,在 Python 3.12 环境下会出现弃用警告。

    2)这次改动的意义

    虽然这不是功能性大改,但它能帮助项目:

    • 更好兼容 Python 3.12

  • • 消除弃用警告

  • • 提升代码现代化程度

    这是一次典型的“清理技术债”式修复。

    八、Chonkie 升级到 >=1.6.7

    本次版本将Chonkie升级到了>=1.6.7

    1)升级原因

    这是为了获取上游的语言自动检测修复

    2)这意味着什么

    对于文本处理、分块、语言识别相关流程来说,语言自动检测的准确性非常关键。
    升级后,Agno 可以直接享受到上游修复带来的收益,并且移除了之前为相关测试准备的临时 workaround。

    3)总结

    这是一次比较标准但必要的依赖升级,目标是:

    • 解决语言自动检测问题

  • • 减少临时测试补丁

  • • 让依赖链更干净

    九、Bug 修复:GeminiInteractions 的 server-side tool calls 不再误入 agent 路径

    这是本次另一个非常关键的修复点,涉及 GeminiInteractions 在 agent 模式下的行为。

    1)旧问题是什么

    在 agent 路径下,比如:

    • Antigravity

  • • Deep Research

    FunctionCallSteps 描述的是工具在server-managed sandbox中运行,而不是本地 agent 自己发起的 tool call。

    但此前系统会把这些内容错误地暴露为本地的tool_calls,于是会导致:

    Function

    not found

  • • 随后的400 invalid_request错误

    也就是说,系统把服务端执行的工具调用,误当成了客户端本地工具调用。

    2)修复方式

    现在已经对这个分支进行了门控:

    • 只有在self.agent is None时才会处理 FunctionCallStep 分支

    并且 streaming 和 non-streaming 两种模式都做了同样的修复。

    3)修复后的效果

    这会避免:

    • 错误暴露 tool_calls

  • • 工具名找不到

  • • 请求被错误判定为无效

    对于使用 GeminiInteractions 的 agent 场景来说,这是一次非常重要的稳定性修复。
    模型路径上、且带有用户声明工具的情况则保持不变。

    十、变更清单整理:本次 v2.6.9 都改了什么

    下面把官方变更内容按照更易读的方式梳理一遍,方便你快速过目。

    新特性

    • 审批记录在 post-hooks 中可读取完整 resolved approval record

  • • 审批解析信息通过 metadata 统一暴露,适用于不同输出类型

    优化项

    • PgVector 的prefix_match=True终于真正执行前缀匹配

  • • PgVector 的空 tsquery fallback 更稳健

  • • Claude 系列模型的temperature/top_p/top_k=0现在会正确生效

  • • Calendar 和 Gmail context provider 的默认指令大幅精简

  • decision_logdatetime.utcnow()改为datetime.now(timezone.utc)

  • • Chonkie 升级到>=1.6.7

    Bug 修复

    • GeminiInteractions agent 路径修复 server-side tool calls 错误暴露问题

  • • Claude 系列模型temperature=0之前被静默丢弃的问题已修复

    其他变更

    • README 中增加 UTM 参数

  • • 发布版本相关内容更新

  • • 多个 cookbook 示例同步调整与新增

    十一、从开发者视角看,这次升级最值得关注的点

    如果你问这次 v2.6.9 哪些地方最值得立刻关注,我会优先看下面这几个:

    1)如果你有审批流

    你会很需要run_response.metadata["approval"],因为它让后 hooks、审计、观测系统能拿到完整审批记录。

    2)如果你做搜索 / 知识库

    PgVector 的prefix_match=True修复非常重要。
    以前“看起来支持,实际上没生效”的问题,现在终于解决了。

    3)如果你依赖 Claude

    务必注意temperature=0top_p=0top_k=0这类参数现在才真正可控。
    这对输出稳定性影响极大。

    4)如果你用 GeminiInteractions

    一定要检查你是否处于 agent 路径。
    这次修复会直接影响工具调用是否被错误暴露。

    5)如果你在 Python 3.12 上运行

    decision_log的弃用问题已经被处理,可以减少警告。

    十二、总结:v2.6.9 是一次“修细节,但影响很大”的版本

    代码地址:github.com/agno-agi/agno

    Agno v2.6.9 表面上是一个常规小版本,实际上修复和优化的内容都非常贴近真实使用场景。

    这次更新的关键词可以概括为:

    审批可观测性增强

  • PgVector 前缀搜索修复

  • Claude 0 参数生效

  • Gemini agent 工具调用修复

  • 指令层清理

  • Python 3.12 兼容优化

  • 依赖升级带来的语言识别改善

    我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

    © 版权声明

    相关文章