Claude Mythos 可通过系统提示声明 JSON Schema、用户消息内联 schema、后处理校验重试、array 类型多结果处理及禁用自然语言包装等五种方式实现严格结构化输出。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 Claude Mythos 按照预定义的 JSON 结构输出响应,需在提示词中明确声明 schema 并约束输出格式。以下是实现结构化数据输出的具体操作方式:
一、在系统提示中声明 JSON Schema
通过 system message 明确告知模型必须严格遵循指定 JSON 结构,且不得添加额外字段、注释或解释性文本。该方法适用于支持 system prompt 的 API 接口(如 Anthropic 的 messages API)。
1、构造包含 type、properties、required 等字段的 JSON Schema 对象。
2、在 system prompt 中写入类似语句:“你必须仅输出符合以下 JSON Schema 的纯 JSON 字符串,不带任何前导或尾随文本。”
3、将 schema 以代码块形式嵌入 system prompt,例如:{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}, "required": ["name", "age"]}。
4、发起请求时确保 temperature 设为 0,以抑制随机性。
二、使用用户消息内联 schema 指令
当无法设置 system prompt(如某些前端集成或 Playground 场景),可将 schema 要求直接写入用户输入首行,并用分隔符隔离指令与实际内容。
1、在用户消息第一行写明:“请严格按以下 JSON Schema 输出,仅返回合法 JSON,无任何额外字符:”。
2、紧接着用三个反引号包裹 schema 定义。
3、空一行后写入实际任务描述,例如:“提取下文中的人员姓名与出生年份:张伟,1992年生于上海。”
4、确认模型响应开头为 {,结尾为 },中间无换行或说明文字。
三、后处理校验与重试机制
由于模型偶有偏离 schema 的情况,需在客户端对输出进行 JSON 解析验证,并触发自动重试逻辑,确保最终获得合规结构。
1、接收到响应后,立即尝试 JSON.parse() 解析原始字符串。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
2、若抛出 SyntaxError,则判定为格式错误,记录错误类型并准备重发。
3、重发时在原提示末尾追加强调语句:“上一次输出不符合 schema,请重新输出纯 JSON,不要添加‘```json’、‘{’前说明、‘}’后句点等任何非 JSON 内容。”
4、设置最大重试次数为 2 次,避免无限循环。
四、使用 type: array 处理多条结构化结果
当预期输出为多个同构对象(如列表型抽取结果)时,schema 应设为 array 类型,并在指令中明确数量预期与字段一致性要求。
1、定义 schema 的 type 为 "array",items 属性指向单个对象的结构。
2、在提示中写明:“从以下五段简历中各提取一项技能,每项技能必须包含 skill_name 和 proficiency_level 两个字段。”
3、确保所有数组元素均满足 items 所述结构,任意一项缺失 required 字段即视为整体失败。
4、接收端应校验 response.length 是否等于预期条数,且每个元素 typeof === 'object' 且不为 null。
五、禁用自然语言包装的强制指令写法
模型倾向在 JSON 前添加“好的,这是您要的 JSON:”之类引导语,需用强约束语法消除此类冗余。
1、在 schema 指令中使用否定式短语:“禁止输出任何 JSON 以外的字符,包括但不限于中文、英文、括号、冒号、换行符、Markdown 代码块标记。”
2、在示例中提供零上下文干扰的纯 JSON 响应作为 few-shot 样本,例如直接给出:{"city": "Beijing", "population": 21540000}。
3、避免在提示中出现“请回答”、“请输出”等可能诱发解释性回应的动词短语。
4、使用“仅返回”、“必须是”、“不得包含”等绝对化措辞强化约束效力。

















