选型指南 架构设计 含可复制代码

让模型稳定输出 JSON:约束、校验与重试的工程做法

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

把「要 JSON」写进提示词只是开始,真正的稳定性来自校验与重试。

三层防线,缺一不可

第一层:约束输出形态

· 明确给出 schema(字段名、类型、取值范围、必填项),而不是说「给我 JSON」;

· 给出一个完整示例与一个边界示例(例如字段为空时怎么写);

· 说明「不要输出解释、不要用 Markdown 代码块包裹」——这两条是最高频的格式污染源。

第二层:程序校验

解析后立刻校验,不要相信提示词:

1. 能否解析(去掉可能的代码块围栏后重试解析);

2. 必填字段是否都在;

3. 类型是否对(字符串写成数字、数组写成字符串都很常见);

4. 取值是否在允许集合内(枚举、区间);

5. 业务校验(日期先后、金额非负、ID 是否存在)。

第三层:失败重试

· 第一次失败:把校验错误原文回给模型,让它只修错误处(比整段重写好得多);

· 第二次失败:把温度降到 0 或换更稳的模型;

· 第三次失败:降级到规则兜底或转人工,并记录这类样本——它们是最有价值的评测素材。

三个常见坑

· 把原始输出直接落库:一旦格式漂了,脏数据会污染下游与统计;

· 只校验最外层:嵌套对象里的字段类型必须逐层校验;

· 重试时把上下文全丢掉:模型看不到刚才错在哪,只会再错一次。

一个可执行的检查清单

1. schema 写清楚(含空值与边界示例);

2. 解析 → 校验 → 归一化(例如统一时间格式、去掉多余空白);

3. 失败时带错误信息重试,最多 2 次;

4. 仍失败则降级,并把该样本加入评测集;

5. 记录格式失败率这个指标:它比「感觉还行」靠谱得多。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:评测集怎么建才可信:抽样、标注与回归三道关
下一篇:智能体的工具该怎么设计:少而准,可回滚,有边界 →

第 10 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。