eino reasoning_content 完整指南:5 分钟拿到模型的思考过程
2026/9/13 4:45:54 网站建设 项目流程

eino reasoning_content 完整指南:5 分钟拿到模型的思考过程

【免费下载链接】einoThe ultimate LLM/AI application development framework in Go.项目地址: https://gitcode.com/GitHub_Trending/ei/eino

模型答错时,你手里只有最后一句答案,看不到它为什么这么想。在 eino 里,reasoning_content 字段就是为此设计的:模型回答前的思考过程会被写进消息结构体,Go 代码里直接就能读。

这个特性解决了什么问题

Agent 调错了工具。react agent 选错工具时,你手里只有最终的 tool call。reasoning_content 让你看到它当时盯着哪些参数、为什么选了这条路,而不是只看到结果。

答案碰对了,过程是歪的。数学应用题答案凑对、推导链条却站不住,质检和审计场景里你只认过程。这个字段就是那条证据链。

推理 token 算不清账。不少厂商对推理 token 单独计费,eino 在 TokenUsage 里把这笔账单独记了下来,成本核算不用靠猜。

它是怎么工作的

字段定义在数据层:schema/message.go 中Message结构体带一个可选的ReasoningContent字符串,json 标签是reasoning_content,omitempty。它从哪家厂商的响应里解析出来,由模型实现(eino-ext 中)决定,核心框架只管存。

流式响应下思考是分段到达的,eino 的消息拼接逻辑按顺序把每个分片的ReasoningContent接回完整文本;OpenAI 系模型还有 schema/openai/extension.go 里的ReasoningExtension做带索引的拼装。

下游消费有三处:Message.String()打日志时会输出它;summarization 中间件把它计入上下文长度;TokenUsageReasoningTokens记下用了多少推理 token。

如何开启 eino reasoning_content:最快配置方法

没有额外开关,字段本来就在Message上。选一个支持推理模式的模型(如 DeepSeek 推理系列),调用后直接读字段:

resp, err := chatModel.Generate(ctx, messages) if err == nil && resp.ReasoningContent != "" { fmt.Println(resp.ReasoningContent) }

流式模式下每个分片消息同样带一段ReasoningContent,eino 会自动拼好,你不用手写拼装。

上手后的实际效果:reasoning_content 输出前后对比

改之前:resp.Content里只有"答案:B",被质疑时说不清依据。

改之后:resp.ReasoningContent先给出"题目给了三个条件,先排除 A、C……",Content再给 B。答错时你能定位到判断断在哪一步。

同时,日志里String()的输出会多出一段reasoning content:,排查时不用再临时加调试代码。

常见坑与排查:reasoning_content 不生效怎么办

为什么 resp.ReasoningContent 一直是空字符串?

先确认模型是否真支持推理模式、参数是否开启。字段带omitempty,非推理模型的 JSON 响应里也没有这个字段,空值是正常情况,不是报错。

流式输出报 "mix indexed and non-indexed" 怎么办?

OpenAI 系扩展的拼接要求分片要么全带索引、要么全不带,混用会直接报错。检查你用的模型实现和真实厂商是否匹配,别把两种模型封装混在一个流里。

上下文长度怎么突然涨了?

summarization 中间件会把ReasoningContent计入总长度,长思考链会吃掉窗口。调高摘要触发阈值,或主动裁剪旧的推理内容。

进阶用法

上下文预算管理:配合adk/middlewares/summarization的 summarization 中间件使用,上下文超阈值时自动摘要,推理内容也被纳入预算,不会悄悄撑爆窗口。

成本分析:读TokenUsage.CompletionTokensDetails.ReasoningTokens,把"思考花费"和"回答花费"分开评估,再决定要不要换更便宜的模型。

想看字段完整定义和流式拼接实现,读 schema/message.go;更多框架用法参考中文文档 README.zh_CN.md。

【免费下载链接】einoThe ultimate LLM/AI application development framework in Go.项目地址: https://gitcode.com/GitHub_Trending/ei/eino

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询