MiniMax Agent API需用结构化JSON定义多步任务,steps数组含id、prompt及depends_on依赖关系,ID仅限字母数字下划线,依赖必须前置定义,调用/v2/agent/task创建后轮询状态,最终结果在final_result中按步骤顺序拼接。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要用 MiniMax Agent API 提交一个含多个逻辑阶段的任务,比如“先从三份PDF中提取合同条款→比对条款差异→生成风险提示报告”,而不是让模型串行猜测每步该做什么。这要求你明确声明任务结构、步骤依赖与执行边界,否则 API 会默认当作单轮问答处理,中间状态无法保留、无法中断校验、无法复用前序结果。
构造带步骤定义的 JSON 请求体
第一步:在 POST 请求的 content 字段内,不直接写自然语言指令,而是用数组包裹多个 step 对象,每个对象必须包含 id 和 prompt 两个键。
第二步:为每个 step 指定唯一字符串 ID,如 "extract_terms"、"compare_clauses"、"generate_risk_report";ID 将作为后续状态查询和结果引用的唯一标识,【ID 中不能含空格或特殊符号,只允许字母、数字、下划线】。
第三步:在 prompt 字段中,用清晰动词开头描述本步目标,例如 "提取所有 PDF 文件中'违约责任'章节的完整文本,保留原文标点与换行",避免模糊表述如“看看有没有违约条款”。
第四步:若某步需依赖前一步输出,显式写入 depends_on 字段,值为上一步的 id 字符串。例如第三步的 depends_on: ["compare_clauses"];【depends_on 必须是已定义过的 step ID 数组,否则任务将被拒绝】。
调用 /v2/agent/task 创建任务
向 https://api.minimaxi.com/v2/agent/task 发送 POST 请求,Header 中携带 Authorization: Bearer {your_api_key} 和 Content-Type: application/json。
请求体必须包含 model 字段,当前仅支持 "minimax-m2.7" 或 "minimax-m2.7-highspeed";其他模型名会导致 400 错误。
body 示例结构如下(注意:steps 是顶层字段,不是嵌套在 content 里):
{ "model": "minimax-m2.7", "steps": [ { "id": "extract_terms", "prompt": "从上传的 contract_a.pdf、contract_b.pdf、contract_c.pdf 中,定位并提取全部'违约责任'小节内容,逐份返回原始文本。" }, { "id": "compare_clauses", "prompt": "逐条比对上一步三份提取结果,标出完全一致、部分重叠、完全不同的条款,并说明差异位置。", "depends_on": ["extract_terms"] }, { "id": "generate_risk_report", "prompt": "基于比对结果,用中文撰写一份风险提示报告,分'共性风险'与'个性风险'两部分,每项附对应条款原文片段。", "depends_on": ["compare_clauses"] } ] }
轮询任务执行状态
方法一:使用 GET 请求访问 https://api.minimaxi.com/v2/agent/task/{task_id},task_id 来自上一步响应中的 id 字段。
方法二:每 3~5 秒发起一次查询,直到 status 字段变为 "completed" 或 "failed";【不要轮询频率低于1秒,否则触发限流,返回 429 状态码】。
响应体中 steps 字段会动态更新,每个 step 对象新增 status(pending/running/done/failed)和 result(仅当 done 时存在,为字符串格式输出)。
若某 step status 为 failed,其 error 字段会说明失败原因,常见为超时(step_timeout)、上下文截断(context_truncated)或工具调用失败(tool_call_failed)。
获取最终聚合结果
当整个 task status 变为 completed 后,直接读取响应体中的 final_result 字段,它是一个字符串,已自动拼接所有 done 步骤的 result,按 steps 数组顺序排列,以 "\n---\n" 分隔。
这一步操作起来很简单,直接把 final_result 复制进你的业务系统即可,无需再遍历 steps 提取。
如果需要单独提取某一步结果,例如只要比对环节输出,就从 steps 数组中找到 id 为 "compare_clauses" 的对象,读取其 result 字段。


















