腾讯混元智能体工具参数必须严格遵循JSON Schema规范:顶层含name(小写字母/数字/下划线)、description(中文,≤200字)、parameters(合法object);parameters需含properties(各字段明确type和中文description)及required数组;嵌套对象需展开定义,数组需指定单一items类型。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

设计腾讯混元智能体的工具参数,需严格匹配其 Tool Schema 规范,否则调用时会因 JSON Schema 校验失败直接报错中断。
确认工具定义的顶层结构
混元智能体要求每个工具必须是标准 JSON Schema 对象,且顶层必须包含 【name、description、parameters】三个字段】,缺一不可。其中 name 必须为小写字母、数字、下划线组成的字符串,不能含空格或横线;description 需为中文自然语言,长度建议控制在200字以内;parameters 字段值本身必须是一个合法的 JSON Schema object,不能是 boolean、null 或 string。
若 parameters 写成 "type": "object" 但漏掉 properties,则混元平台解析时判定为无效 schema,返回 400 错误且不提示具体原因。
编写 parameters 的 properties 字段
在 parameters 下的 properties 中,为每个入参声明独立的子 schema。每个子 schema 至少包含 type 和 description 两项:
① type 必须明确指定为 string / number / integer / boolean / array / object 之一;array 类型必须额外提供 items 字段,object 类型必须提供 properties;
② description 必须是中文,用于模型理解参数用途,影响工具调用准确性;
③ 若某参数为必填项,需在 parameters 同级显式声明 required 数组,例如 "required": ["query", "city"];漏写 required 不会导致语法错误,但模型可能传空值导致后端逻辑异常。
处理可选参数与默认值
方法一:不声明 default 字段,仅从 required 数组中移除该字段名——这是最稳妥的做法,混元模型会根据上下文判断是否传入;
方法二:显式写 "default": null 或 "default": "",但注意混元当前版本对 default 的兼容性有限,【若参数类型为 number 且 default 设为 0,则模型可能忽略该默认值而仍传 null】;
方法三:对布尔型开关参数,推荐用 required + 枚举约束替代 default,例如 "type": "string", "enum": ["on", "off"], "default": "on" —— 这种写法比 boolean 类型更稳定。
嵌套对象与数组参数的写法
当参数是对象(如 location)时,properties 内需逐层展开,不能用 ref 引用外部定义;例如 location 参数需写成:
"location": {"type": "object", "properties": {"lat": {"type": "number"}, "lng": {"type": "number"}}, "required": ["lat", "lng"]}
数组参数(如 keywords)必须指定 items 类型,且 items 不能是联合类型;例如支持字符串列表就写 "items": {"type": "string"},不支持 "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}。


















