news 2026/5/31 13:27:23

Xiaomi MiMo API reasoning_content回传详解:Agent多轮对话400错误解决方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Xiaomi MiMo API reasoning_content回传详解:Agent多轮对话400错误解决方案

Xiaomi MiMo API reasoning_content回传详解:Agent多轮对话400错误解决方案

SEO关键词:Xiaomi MiMo API、MiMo-V2.5、reasoning_content、Agent开发、OpenAI兼容协议、Cursor接入MiMo、TRAE接入MiMo、GitHub Copilot CLI、工具调用Tool Call、多轮会话上下文、400错误解决方案

作为一名前端开发工程师,最近在研究 Agent 应用开发时,发现 Xiaomi MiMo 官方发布了一则重要公告。如果你正在使用Cursor、TRAE、Roo Code、GitHub Copilot CLI、AutoGen、Goose等 Agent 产品接入 Xiaomi MiMo 模型,那么这次更新一定要关注。
https://platform.xiaomimimo.com/docs/zh-CN/usage-guide/passing-back-reasoning_content

不少开发者在升级到MiMo-V2.5 系列模型后,可能会遇到一个问题:

HTTP400Bad Request

而且问题通常出现在:

  • 开启思考模式(Thinking)
  • 使用 Tool Call 工具调用
  • 多轮对话场景

经过官方说明确认,根本原因与reasoning_content 回传机制有关。

本文详细解析 Xiaomi MiMo 最新要求,以及如何正确实现多轮 Agent 对话。


一、官方公告核心内容

Xiaomi MiMo API 开放平台近期发布了关于 Agent 产品的重要兼容性说明:

当 Agent 类产品开启 MiMo 思考模式,并且历史会话存在工具调用时,后续所有 user 交互轮次中回传的 assistant 消息如果包含工具调用,必须完整保留 reasoning_content 字段。

否则将直接返回:

400Bad Request

二、为什么必须回传 reasoning_content

很多开发者在保存聊天记录时通常只保留:

{"role":"assistant","content":"最终回答内容"}

或者:

{"role":"assistant","tool_calls":[...]}

而忽略:

{"reasoning_content":"模型思考过程"}

对于普通模型可能问题不大。

但 MiMo 思考模型内部会依赖 reasoning_content 来维护推理链路。

如果历史记录中丢失:

reasoning_content

则模型看到的上下文变成:

用户提问 ↓ 工具调用结果 ↓ 最终回答

而缺少:

模型为什么调用工具 模型如何分析问题 模型如何规划执行步骤

这会导致:

问题表现
指令遵循下降模型更容易跑偏
上下文理解变弱忘记前面推理内容
幻觉增加生成不存在的信息
Tool Call决策错误重复调用工具
API报错直接返回400

因此 Xiaomi MiMo 要求:

历史 assistant 消息必须完整保留 reasoning_content。


三、哪些产品会受到影响

OpenAI兼容协议

Agent产品
TRAE
Cursor
Roo Code
Codex
GitHub Copilot CLI
Zed
AutoGen
Goose

Anthropic兼容协议

Agent产品
TRAE
GitHub Copilot CLI
AutoGen
Goose
OpenClaw
OpenCode
Kilo Code

四、受影响模型列表

目前涉及以下模型:

mimo-v2.5-pro mimo-v2.5 mimo-v2-pro mimo-v2-omni mimo-v2-flash

如果你正在使用这些模型,需要特别注意。


五、错误实现方式

很多 Agent 框架的实现类似这样:

messages.append({"role":"assistant","content":assistant_message.content})

结果保存后的上下文:

[{"role":"user","content":"北京天气"},{"role":"assistant","content":"北京25℃"}]

reasoning_content 被丢弃。

第二轮请求:

client.chat.completions.create(model="mimo-v2.5-pro",messages=messages)

此时 MiMo 检测到:

历史存在工具调用 ↓ 缺失reasoning_content ↓ 返回400错误

六、正确实现方式

官方推荐方案:

不要手动构造 assistant 消息。

而是直接保存 SDK 返回对象:

assistant_message=response.choices[0].message messages.append(assistant_message)

这样会自动保留:

{"role":"assistant","content":"...","tool_calls":[...],"reasoning_content":"..."}

七、多轮Agent执行流程解析

第一轮

用户提问:

北京天气如何? 现在几点?

Step1:模型分析

MiMo 推理:

需要获取天气 需要获取时间 两个工具可以并行执行

对应:

reasoning_content

内容类似:

The user wants to know two things...

Step2:发起Tool Call

get_current_weather()get_time()

Step3:工具返回

Sunny25°C2026-05-1216:37

Step4:生成最终答案

北京天气晴朗 25℃ 当前时间16:37

八、第二轮为什么还能知道北京25℃

用户继续追问:

上海天气怎么样? 比北京热还是冷?

此时模型只调用:

get_current_weather("Shanghai")

而没有再次查询北京。

原因在于:

历史上下文中已经保留:

reasoning_content

以及:

tool result

所以模型已经知道:

北京 = 25℃

只需查询:

上海 = 22℃

即可直接得出:

上海比北京低3℃

九、推荐的消息存储结构

实际开发 Agent 时建议完整保存:

messages=[{"role":"user","content":"..."},{"role":"assistant","content":"...","reasoning_content":"...","tool_calls":[...]},{"role":"tool","tool_call_id":"...","content":"..."}]

不要删除:

reasoning_content

不要过滤:

tool_calls

不要只保存:

content

否则后续轮次容易出现问题。


十、完整示例代码

下面是官方提供的多轮 Agent 调用示例核心代码:

response=client.chat.completions.create(model="mimo-v2.5-pro",messages=messages,tools=tools,extra_body={"thinking":{"type":"enabled"}})assistant_message=response.choices[0].message messages.append(assistant_message)

关键点只有一句:

messages.append(assistant_message)

它保证:

reasoning_content content tool_calls

全部被保存下来。


十一、开发建议

如果你正在维护:

  • Cursor插件
  • TRAE插件
  • AI编程助手
  • AutoGen工作流
  • OpenAI兼容Agent
  • 企业知识库Agent

建议检查以下内容:

检查1

是否开启:

thinking

检查2

是否使用:

Tool Call

检查3

是否保留:

reasoning_content

检查4

是否序列化丢失:

assistant_message

很多框架在:

json.dumps()

过程中会自动过滤未知字段。

需要特别留意。


总结

Xiaomi MiMo 最新公告实际上明确了一项重要规范:

在开启思考模式且涉及工具调用的多轮 Agent 场景中,必须完整回传 reasoning_content。

否则可能出现:

  • 400错误
  • 上下文丢失
  • Tool Call异常
  • 幻觉增加
  • 推理能力下降

当前受影响模型包括:

mimo-v2.5-pro mimo-v2.5 mimo-v2-pro mimo-v2-omni mimo-v2-flash

受影响平台包括:

Cursor TRAE Roo Code GitHub Copilot CLI AutoGen Goose Zed Codex

对于 Agent 开发者来说,最简单且最安全的做法就是:

messages.append(assistant_message)

完整保留模型返回内容,而不是手动拼接消息对象。这样既能避免 400 错误,也能最大程度发挥 Xiaomi MiMo 推理模型的能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 13:27:20

Betaflight开源飞控:5大核心功能带你轻松玩转无人机飞行控制

Betaflight开源飞控:5大核心功能带你轻松玩转无人机飞行控制 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight是一款专为多旋翼和固定翼飞行器设计的开源飞控固件&a…

作者头像 李华
网站建设 2026/5/31 13:25:01

终极指南:使用LeetDown为A6/A7设备降级iOS系统

终极指南:使用LeetDown为A6/A7设备降级iOS系统 【免费下载链接】LeetDown a macOS app that downgrades A6 and A7 iDevices to OTA signed firmwares 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 你是否有一台老旧的iPhone 5s或iPad Air躺在抽屉…

作者头像 李华
网站建设 2026/5/31 13:24:23

电路设计多元应用:从创客工作坊到智能生活实践

1. 项目概述:当电路设计走出实验室提起电路设计,很多人的第一印象可能是实验室里复杂的示波器、满桌的芯片和工程师们紧锁的眉头。这确实是它的一个侧面,但绝不是全部。作为一名在电子工程和创客教育领域摸爬滚打了十多年的从业者&#xff0c…

作者头像 李华
网站建设 2026/5/31 13:23:58

OBS背景移除插件:如何实现专业级虚拟绿幕效果?

OBS背景移除插件:如何实现专业级虚拟绿幕效果? 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: http…

作者头像 李华
网站建设 2026/5/31 13:22:10

如何快速掌握Boss-Key:Windows窗口隐私保护终极指南

如何快速掌握Boss-Key:Windows窗口隐私保护终极指南 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在办公室环境中&#xff0…

作者头像 李华