Tabbit
活动资源博客模型
Tabbit LogoTabbit

Tabbit — 为你工作的 AI 浏览器

主题资源

  • 浏览器排行榜
  • AI 浏览器指南
  • 浏览器对比
  • 浏览器测评
  • 浏览器替代方案
  • 浏览器专题目录
  • Agentic 浏览器
  • 下载与安装
  • 浏览器效率
  • SillyTavern 模型指南

热门指南

  • Best Browsers 2026: Top 10 Ranked & Compared
  • Best Free AI Browsers 2026: Plans & Prices Compared
  • Rabbit Browser: What It Is & Why Tabbit Is Better
  • Firefox vs Chrome 2026: Privacy, RAM & Speed Compared
  • Best Lightweight Browsers 2026: 7 Tested for RAM & Speed
  • AI Browser List 2026: 10 Browsers Compared
  • Neobrowser: Norton Neo, Download & Alternatives
  • Edge vs Chrome 2026: Speed, RAM & Battery Tested
  • Best Internet Browser for Android 2026
  • Best AI Browser 2026: Top 9 Tested & Ranked

活动

  • 别装了,你在《牛来》里早有原型
  • Tabbit 妙招大赛
  • KPOP SBTI 饭圈人格测试
  • Tabbit 校园共创者计划
  • fifi 的论文文献妙招精选
  • 用户问卷

关于

  • Tabbit 博客
  • 媒体报道
简体中文
简体中文English
提示词
媒体MiniMax M3.1 Flash

MiniMax M3.1-Flash 官方工具调用与交错思考工作流

原始来源

MiniMax API Docs

作者未注明

Tabbit 整理1970-01-01

查看原文

一句话结论

MiniMax-M3.1-Flash 在每轮工具交互之间支持交错思考;应用必须把模型返回的完整 assistant 消息连同 thinking / reasoning_content 和工具调用字段一起放回历史,再提交工具结果。

适用场景

  • 适合的任务:需要多轮工具调用、根据工具结果继续决策的 Agent 工作流,例如天气查询、检索、代码执行和外部 API 操作。

  • 不适合的任务:只需要一次文本生成、且应用无法保存完整多轮消息历史的调用流程。

  • 适用的模型版本:MiniMax-M3.1-Flash。官方页面明确以该型号说明工具调用和交错思考;不要据此外推其他 MiniMax 型号。

  • 适用的客户端、Agent 或 API:MiniMax 兼容 Anthropic API 与 OpenAI API;示例使用 Anthropic SDK 和 OpenAI SDK。

  • 推荐的推理档位和参数:官方工具调用页未注明固定 effort / reasoning_effort 值。Anthropic 示例使用 max_tokens: 4096;OpenAI 示例未注明输出上限、温度、top_p 或其他采样参数。

可直接使用的内容

关键字段

位置字段用途
请求tools定义函数名、描述和参数 schema
Anthropic 响应thinking、text、tool_use分别表示思考、文本和工具调用 content block
OpenAI 响应reasoning_content、content、tool_calls分别表示思考、文本和工具调用
工具调用name / function.name被调用的函数名
工具调用input / function.arguments工具参数;OpenAI 示例中是 JSON 字符串
工具调用id / tool_call_id将工具结果关联回本次调用

简单工具调用可能没有 thinking 或 reasoning_content。应用应先检查字段是否存在,但无论是否存在思考字段,都要追加完整的模型消息。

Anthropic SDK:官方工作流骨架

下面保留官方示例中的模型、工具 schema、max_tokens 和消息闭环:

import anthropic
import json

client = anthropic.Anthropic()

tools = [
    {
        "name": "get_weather",
        "description": "Get weather of a location, the user should supply a location first.",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, US",
                }
            },
            "required": ["location"]
        }
    }
]

def send_messages(messages):
    params = {
        "model": "MiniMax-M3.1-Flash",
        "max_tokens": 4096,
        "messages": messages,
        "tools": tools,
    }
    return client.messages.create(**params)

messages = [{"role": "user", "content": "How's the weather in San Francisco?"}]
response = send_messages(messages)

tool_use_blocks = [
    block for block in response.content if block.type == "tool_use"
]

if tool_use_blocks:
    # Preserve every returned block: thinking, text, and tool_use.
    messages.append({"role": "assistant", "content": response.content})

    tool_call = tool_use_blocks[0]
    tool_result = "24℃, sunny"  # Replace with the real tool result.
    messages.append({
        "role": "user",
        "content": [{
            "type": "tool_result",
            "tool_use_id": tool_call.id,
            "content": tool_result,
        }]
    })

    final_response = send_messages(messages)

官方示例的 Anthropic 兼容地址为:

export ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
export ANTHROPIC_API_KEY=${YOUR_API_KEY}

OpenAI SDK:官方工作流骨架

OpenAI 兼容响应中,工具参数从 function.arguments 解析;完整 response_message 必须原样放回历史:

import json
from openai import OpenAI

client = OpenAI()

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather of a location, the user should supply a location first.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, US",
                    }
                },
                "required": ["location"],
            },
        },
    },
]

def send_messages(messages):
    response = client.chat.completions.create(
        model="MiniMax-M3.1-Flash",
        messages=messages,
        tools=tools,
    )
    return response.choices[0].message

messages = [{"role": "user", "content": "How's the weather in San Francisco?"}]
response_message = send_messages(messages)

if response_message.tool_calls:
    tool_call = response_message.tool_calls[0]
    function_args = json.loads(tool_call.function.arguments)

    # Preserve reasoning_content, content, and tool_calls together.
    messages.append(response_message)
    messages.append({
        "role": "tool",
        "tool_call_id": tool_call.id,
        "content": "24℃, sunny",  # Replace with the real tool result.
    })

    final_message = send_messages(messages)

官方示例的 OpenAI 兼容地址为:

export OPENAI_BASE_URL=https://api.minimax.io/v1
export OPENAI_API_KEY=${YOUR_API_KEY}

测试或工作流步骤

  1. 将模型固定为 MiniMax-M3.1-Flash,按 SDK 选择官方兼容地址。

  2. 用 tools 声明函数名、描述、参数类型和必填字段;示例工具为 get_weather(location: string)。

  3. 发送用户消息,读取返回的文本、思考字段和工具调用字段。简单调用可能没有思考字段。

  4. 如果存在工具调用,先执行对应函数,再把完整的 assistant 响应放回消息历史:Anthropic 保留 response.content 全部 blocks;OpenAI 保留完整 response_message。

  5. 用原始调用 ID 关联工具结果:Anthropic 使用 tool_use_id,OpenAI 使用 tool_call_id。

  6. 将工具结果加入历史后再次请求模型,读取最终答复;如果还有工具调用,重复步骤 4–6。

  7. 在生产环境记录消息结构和调用 ID,检查是否因为序列化、字段过滤或只保存 content 而丢失思考与工具调用上下文。

sequenceDiagram
    participant U as 用户
    participant M as MiniMax-M3.1-Flash
    participant A as 应用
    participant T as 外部工具
    U->>A: 用户请求
    A->>M: messages + tools
    M-->>A: thinking/reasoning_content + text + tool call
    A->>A: 保存完整 assistant 响应
    A->>T: 执行函数
    T-->>A: tool result
    A->>M: 原始 assistant 响应 + tool result
    M-->>A: 最终答复或下一次 tool call
    A-->>U: 输出结果

原始证据与数据

  • 页面明确称 MiniMax-M3.1-Flash 是具备工具调用能力的 Agentic Model,并原生支持 Interleaved Thinking。

  • 页面说明模型会在每次工具调用前结合当前环境和工具输出决定下一步;页面没有提供独立复现实验、样本量或性能数字。

  • Anthropic 示例的请求参数为 model: "MiniMax-M3.1-Flash"、max_tokens: 4096、messages 和 tools。

  • OpenAI 示例使用 model: "MiniMax-M3.1-Flash"、messages 和 tools,返回 tool_calls,工具参数位于 function.arguments。

  • 官方示例展示的工具结果为 24℃, sunny,这是演示值,不是实时天气数据。

  • 页面未注明作者、发布日期、工具数量上限、参数 schema 限制、超时、重试、并行工具调用策略、成本或限流。

适用边界

  • 交错思考依赖完整上下文。删除 thinking、reasoning_content、tool_calls、tool_use 或其 ID 后继续请求,官方页面没有保证推理链仍能连续。

  • “完整消息”指 SDK 返回的 assistant 响应对象或全部 content blocks;不能只保留最终文本。

  • 没有工具调用时也要按实际响应追加完整消息;不能假设每轮都会返回思考字段。

  • 官方页没有规定是否可把思考内容展示给终端用户、日志应保存多久或如何脱敏;这些属于应用侧的隐私和日志策略。

  • Anthropic 与 OpenAI 的工具结果消息结构不同,不能直接混用;应按对应 SDK 的字段和角色格式实现。

  • 本页没有提供独立的完整 prompt,因此本文归类为 workflow,不宣称存在可复制的模型专属 prompt。

复现说明

2026-10-21 通过 Tabbit 任务 M31 prompt02 tools 打开并检查原始页面。页面正文、代码块、字段说明和导航链接均可见;证据保存于 /tmp/m31-tools-evidence.txt。

可继续采集的官方文档:

  • Text Generation

  • Compatible Anthropic API

  • Compatible OpenAI API

  • Prompt Caching

  • Server Tools

  • MiniMax-M3.1-Flash for AI Coding Tools

Tabbit 小编提醒

提示词内容来自公开资料与 Tabbit 编辑整理。引用前请查看原文授权与适用范围。

MiniMax M3.1 Flash

在 Tabbit 中使用

MiniMax M3.1 Flash

相关提示词

官方MiniMax API Docs

MiniMax M3.1 Flash OpenAI 兼容协议的多模态与流式配置

媒体MiniMax API Docs

MiniMax M3.1-Flash 文本生成与模型配置

媒体MiniMax API Docs

MiniMax-M3.1-Flash Anthropic 协议与自适应推理配置

媒体MiniMax API Docs

MiniMax-M3.1-Flash Claude Code 手工配置与模型验证

MiniMax M3.1 Flash

相关测评

媒体MiniMax Research 官方博客2026-10-19

MiniMax M3.1 Flash:官方发布基准、成本与可用性

媒体Artificial Analysis2026-10-19

Artificial Analysis 独立基准:MiniMax-M3.1-Flash 的智能、速度与成本快照

媒体Vals AI2026-10-20

Vals AI 任务基准与成本:MiniMax-M3.1-Flash 的能力分项快照

社区X.com,Arena.ai(@arena)官方账号2026-10-19

Arena WebDev:MiniMax M3.1 Flash 的人类偏好评测