在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

eino 发布了 v0.7.15 最新版本,发布时间为 2025 年 12 月 29 日。本次版本更新主要集中在 adk(Agent Development Kit)模块,对 ChatModel Agent 的执行流程和 Agent 名称设置进行了修复和完善。以下内容基于官方发布记录与代码变更进行完整翻译与说明,不包含额外扩展内容。

一、版本概览

版本号:v0.7.15
发布时间:2025 年 12 月 29 日

本次版本包含 2 次提交,涉及 3 个文件的修改,共计新增 94 行代码,删除 11 行代码。共有 1 位贡献者参与。

提交时间分布如下:

  • 2025 年 12 月 26 日:修复在未配置工具的情况下,after chatmodel 无法生效的问题
  • 2025 年 12 月 29 日:修复 agent 名称设置不正确的问题

二、更新内容说明(What’s Changed)

  1. adk 修复:在未配置工具的情况下支持 after chatmodel

在此前版本中,当 ChatModelAgent 未配置工具时,AfterChatModel 中间件不会被正确执行。本次更新通过调整 ChatModelAgent 的链式执行逻辑,使得 AfterChatModel 在没有工具配置的情况下也能够正常触发。

具体改动体现在 chatmodel.go 文件中,对 buildRunFunc 方法进行了修改:

  • 在构建 Chain 时引入本地状态生成函数,用于初始化 ChatModelAgentState
  • 在 ChatModel 执行前,通过 StatePreHandler 更新并处理 state.Messages,同时顺序执行 BeforeChatModel 中间件
  • 在 ChatModel 执行后,通过 StatePostHandler 将模型输出追加到 state.Messages,并顺序执行 AfterChatModel 中间件
  • 保证 BeforeChatModel 和 AfterChatModel 都围绕 ChatModel 的执行过程正确生效

通过这一调整,即使未配置工具调用能力,ChatModel 的前置和后置中间件也能按预期执行。

  1. adk 修复:agent 名称设置修正

在 flow.go 中,对 agent 运行时的 AgentName 和 RunPath 设置逻辑进行了修正。

更新后的逻辑说明如下:

  • 始终使用当前 agent 的名称作为 event.AgentName
  • 当 event.RunPath 已存在时,将框架生成的 RunPath 与自定义 RunPath 合并,避免重复或错误的路径段
  • 当 event.RunPath 不存在时,直接使用当前运行上下文中的 RunPath
  • 保证事件记录策略中,RunPath 能够准确匹配当前 agent 的执行路径,避免因路径重复导致的事件不记录问题

该修复解决了在运行流式 agent 时,AgentName 和 RunPath 可能配置错误的问题。

三、测试用例新增说明

在 chatmodel_test.go 中,本次版本新增了完整的单元测试,用于验证 ChatModelAgent 在引入中间件后的行为是否正确。

新增测试场景包括:

  1. 基础 ChatModelAgent + 中间件测试

测试流程说明:

  • 使用 mock ChatModel,模拟 Generate 方法返回固定的 Assistant 消息
  • 配置 BeforeChatModel 中间件,在 state.Messages 中追加一条用户消息
  • 配置 AfterChatModel 中间件,验证 state.Messages 的长度,并确认后置中间件被执行
  • 验证最终输出的 Assistant 消息内容正确
  • 验证 AfterChatModel 确实被触发

该测试确保在普通非流式情况下,中间件机制可以稳定工作。

  1. 流式输出测试(StreamOutput)

在同一测试文件中,继续保留并执行流式输出相关测试,确保本次改动不会影响原有流式处理逻辑。

四、代码变更统计

本次版本的代码改动统计如下:

  • chatmodel.go:37 处改动(27 行新增,10 行删除)
  • chatmodel_test.go:新增 66 行测试代码
  • flow.go:1 行新增,1 行删除

五、版本总结

代码地址:github.com/cloudwego/eino

eino v0.7.15 是一次以稳定性和一致性为目标的修复版本,重点解决了两个问题:

  • ChatModelAgent 在未配置工具时,中间件 after chatmodel 无法执行的问题
  • flow agent 中 AgentName 和 RunPath 设置不准确的问题

通过补充状态管理、前后置处理器以及新增测试用例,本次更新进一步增强了 adk 中 ChatModelAgent 的可用性和可预测性,为后续版本的功能扩展奠定了更加稳定的运行基础。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐