在MiniMax平台编写Agent,通常可以归纳为三个关键步骤:先明确角色定位与能力边界,再强制统一输入结构,最后固定可解析的输出格式。具体来看,首先要声明Agent的身份信息,列出禁止执行的操作,并清楚说明三项核心能力;输入部分应统一采用JSON结构,且必须包含非空的query键并完成校验;输出部分则要严格限定为名为run的Python函数,返回一个包含result和status键的dict。

在MiniMax平台进行Agent开发时,必须让模型准确理解任务目标、输入约束以及输出规范,否则生成的代码很容易出现无法编译、执行失败或结果无法解析的问题。
明确声明Agent角色与能力边界
第一步:在system prompt开头用一句话清晰定义Agent身份,例如“你是一个专门用于解析用户自然语言查询并生成Python函数的代码生成Agent”。
第二步:紧接着列出该Agent【不可执行的操作】,例如“不调用外部API”“不读取本地文件”“不使用time.sleep()”——这些限制必须明确写出,否则模型可能会自行加入不合规或非法调用。
第三步:用分号分隔三项核心能力,例如:“能接收JSON格式输入;能输出合法Python 3.9语法;能处理字符串、数字、布尔值三种基础类型”。尽量避免使用“可以”“能够”等模糊表述,统一使用“能”字描述,更有利于提升Prompt指令的一致性。
输入结构必须强制标准化
方法一:要求用户始终以{"query": "xxx", "context": {...}}格式提交请求。如果用户遗漏context字段,Agent应返回明确的错误提示,而不是自行猜测或补全。
方法二:直接在system prompt中明确写清“所有输入必含query键,且其值为非空字符串”,同时在代码生成前补充校验逻辑:if not isinstance(input_data.get('query'), str) or not input_data['query'].strip(): raise ValueError("query must be a non-empty string")。这样可以在执行前及时拦截缺少query、类型错误或空字符串等常见输入异常。
输出格式锁定为可解析结构
在prompt末尾加入硬性要求:“只输出一个合法Python函数,函数名为run,参数为input_data: dict,返回值为dict类型,键必须包含result和status,禁止任何注释、说明文字、示例或额外print语句。”
这一步实际操作并不复杂,直接将上述句子放在prompt最后即可。但如果遗漏“只输出一个合法Python函数”这一限制,模型往往会额外补充测试用例、解释说明或文档字符串,最终导致代码解析失败。
