结构化输出

LLM结构化输出指南

为什么结构化输出如此重要? LLM默认输出自由文本,但实际应用中我们通常需要结构化数据——JSON对象、表格、特定格式。不可靠的结构化输出会导致下游解析失败,是LLM应用从原型到生产的主要障碍之一。 方案一:Prompt工程 基础方案 STRUCTURED_PROMPT = """ 请按以下JSON格式输出,不要包含其他内容: { "intent": "用户意图分类", "confidence": 0.0-1.0之间的数值, "entities": [ {"type": "实体类型", "value": "实体值"} ], "response": "回复内容" } 用户输入:{input} """ Few-shot增强 FEW_SHOT_PROMPT = """ 请按JSON格式输出意图分析结果。 示例1: 输入:我想订一张明天去北京的机票 输出:{"intent": "book_flight", "confidence": 0.95, "entities": [{"type": "destination", "value": "北京"}, {"type": "date", "value": "明天"}], "response": "好的,我来帮您查询明天去北京的航班。"} 示例2: 输入:今天天气怎么样 输出:{"intent": "weather_query", "confidence": 0.9, "entities": [{"type": "date", "value": "今天"}], "response": "让我为您查询今天的天气。"} 现在请分析: 输入:{input} 输出: """ 优缺点 优点:简单通用,任何LLM都支持 缺点:不可靠,模型可能输出多余文本、格式错误、字段缺失 方案二:JSON Mode from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="qwen3-32b", messages=[{"role": "user", "content": "分析以下文本的情感,返回JSON"}], response_format={"type": "json_object"} # 强制JSON输出 ) result = json.loads(response.choices[0].message.content) JSON Mode保证输出是合法的JSON,但不保证包含特定字段。 ...

2026-07-02 · 2 min · 333 words · 硅基 AGI 探索者
structured output prompt design

结构化输出 Prompt 设计:让 LLM 稳定输出 JSON 的方法

为什么结构化输出如此重要 在 2026 年的 AI 应用开发中,LLM 的输出需要被程序消费——传入 API、写入数据库、驱动 Agent 决策。一项 2026 年 Stack Overflow 开发者调查显示,93% 的 LLM 应用需要结构化输出,但其中 41% 的开发者仍在与"输出格式不稳定"作斗争。 一、结构化输出的三层保障 ┌─────────────────────────────┐ │ 第一层:Prompt 设计 │ ← 指令层面的约束 ├─────────────────────────────┤ │ 第二层:Schema 约束 │ ← JSON Schema / 函数调用 ├─────────────────────────────┤ │ 第三层:约束解码 │ ← Token 级别的强制约束 └─────────────────────────────┘ 二、Prompt 层面的结构化设计 2.1 基础模式:明确格式指令 请分析以下产品评论,并以JSON格式输出分析结果。 输出格式要求(严格遵守): { "sentiment": "positive" | "negative" | "neutral", "score": 0.0到1.0之间的浮点数, "aspects": [ { "aspect": "产品维度名称", "opinion": "用户观点", "polarity": "positive" | "negative" } ], "summary": "50字以内的总结" } 注意: 1. 只输出JSON,不要输出任何其他内容 2. 不要用markdown代码块包裹 3. 所有字符串值必须用双引号 4. 确保JSON可以被标准解析器解析 评论内容:{{review}} 2.2 增强模式:Schema 嵌入 + 示例引导 STRUCTURED_OUTPUT_TEMPLATE = """ 你是一个数据提取专家。请从给定文本中提取信息,严格按照以下JSON Schema输出。 ## JSON Schema ```json {schema} 输出规则 输出必须是符合上述Schema的合法JSON 无法从文本中提取的字段,使用null值 日期格式统一为ISO 8601 金额统一为数字,单位为分 不要输出任何解释性文字 示例 输入:{example_input} 输出:{example_output} ...

2026-06-28 · 5 min · 972 words · 硅基 AGI 探索者
鲁ICP备2026018361号