eino v0.7.15 版本更新详解:ChatModel Agent 中间件与 Agent 名称修正
代码地址:github.com/cloudwego/einoChatModelAgent 在未配置工具时,中间件 after chatmodel 无法执行的问题flow agent 中 AgentName 和 RunPath 设置不准确的问题通过补充状态管理、前后置处理器以及新增测试用例,本次更新进一步增强了 adk 中 ChatModelAgent 的可用性和可预测性,为后续版本的功能扩展奠定了



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)
- 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 的前置和后置中间件也能按预期执行。
- 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 在引入中间件后的行为是否正确。
新增测试场景包括:
- 基础 ChatModelAgent + 中间件测试
测试流程说明:
- 使用 mock ChatModel,模拟 Generate 方法返回固定的 Assistant 消息
- 配置 BeforeChatModel 中间件,在 state.Messages 中追加一条用户消息
- 配置 AfterChatModel 中间件,验证 state.Messages 的长度,并确认后置中间件被执行
- 验证最终输出的 Assistant 消息内容正确
- 验证 AfterChatModel 确实被触发
该测试确保在普通非流式情况下,中间件机制可以稳定工作。
- 流式输出测试(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 的可用性和可预测性,为后续版本的功能扩展奠定了更加稳定的运行基础。
更多推荐

所有评论(0)