
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 中间件把它计入上下文长度TokenUsage的ReasoningTokens记下用了多少推理 token。如何开启 eino reasoning_content最快配置方法没有额外开关字段本来就在Message上。选一个支持推理模式的模型如 DeepSeek 推理系列调用后直接读字段resp, err : chatModel.Generate(ctx, messages) if err nil resp.ReasoningContent ! { fmt.Println(resp.ReasoningContent) }流式模式下每个分片消息同样带一段ReasoningContenteino 会自动拼好你不用手写拼装。上手后的实际效果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),仅供参考