MiniMax Agent 生成代码时,常因 max_tokens 设置过低而被中途截断,进而导致语法不完整、结构缺失或代码无法运行;通常可以通过检查结尾语法错误、将 max_tokens 提高到 768 以上,并增加完整输出约束与分步生成策略来解决。

使用 MiniMax Agent 写代码时,经常会在关键位置突然“停住”:函数还未闭合,if 代码块缺少 else,循环体少了一层缩进,甚至直接停在半句语句中间。这类问题通常不是网络异常造成的,而是因为模型默认存在长度截断机制,同时不会主动检查输出代码的语法是否完整。
确认是否真被截断
先把 Agent 输出内容的最后 10 行复制到 VS Code 或 PyCharm 中,开启对应编程语言的语法高亮和错误提示,通常很快就能定位问题。例如结尾出现def却没有冒号,if后面直接换行,引号没有闭合,或者括号明显缺少右半边,这些都基本可以判断:代码是被强制截断了。
再打开 MiniMax Web 界面右上角的「设置」→「高级参数」,检查「max_tokens」是否被设置为低于 512。若仅设为 256,模型大概率会在写到第 3 个函数附近时被直接截断。
用续写指令强制补全
方法一:在原对话末尾直接补充指令——
“请从上一条回复的最后一个字符开始,严格接续,补全所有未闭合的括号、引号、缩进层级和语法结构,不要解释,只输出纯代码。”
方法二:复制被截断内容的最后 3 行(例如for item in data:),然后新起一行输入:“继续写完这个循环体,包含完整逻辑和return语句。”
【必须粘贴原始末尾代码,不能 paraphrase】否则模型更可能进行重写而不是续写,进而引发变量名冲突、上下文不一致或逻辑错位。
预防下次再出问题
第一步:调用 API 时,在请求体中明确设置"max_tokens": 1024,建议最低不要低于 768;
第二步:在 prompt 开头加入约束语句:“所有代码必须一次性输出完整,不允许分段、省略或使用‘…’代替逻辑;若因 token 限制无法完成,请先说明缺失部分,再给出可运行的最小完整版本。”
第三步:对于 Python 类或较长函数,可手动拆分为两个 prompt——先让 Agent 输出类骨架(包含全部方法签名),再单独要求“填充process_data方法的全部实现”。
