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

处理长尾输入:白名单、兜底与礼貌地拒绝

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

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

静默截断会导致答非所问,必须明确标注。

长尾输入是"事故的入口"

正常输入只占一部分,真正惹麻烦的是长尾 ✗:超长文本、二进制伪装成文本、极深嵌套结构、

全角/零宽字符、几千条重复行 ✔。它们会打崩解析、撑爆上下文、拉高成本 ✔。

处理长尾的原则:白名单优先、兜底明确、拒绝要礼貌且可行动 ✔。

一、白名单(最有效)

· 格式白名单:只接受约定的格式(文本/JSON/CSV ✔),其它明确拒绝 ✔;

· 大小白名单:单次调用输入上限(例如 2 万字符 ✔),并在界面上说明 ✔;

· 字段白名单:结构化输入只取需要的字段 ✔(见数据脱敏那篇 ✔);

· 编码白名单:入库存 UTF-8 ✔,非法字节序列明确替换或拒绝 ✔。

白名单的关键是"说清楚" ✔:限制写在界面与文档里 ✔,而不是让用户撞墙 ✗。

二、兜底(拦不住的时候)

按顺序做四件事 ✔:

1. 规范化:去零宽字符、统一换行、Unicode 归一化(NFC ✔)、压缩连续空行 ✔;

2. 截断并标注:超长就截断,并明确告诉用户与模型"内容已截断" ✔(静默截断 ✗ 会导致答非所问 ✔);

3. 降级处理:解析失败时退到"纯文本模式" ✔(能处理就先处理 ✔);

4. 明确失败:都不行就报错,并给出可行动建议 ✔("请拆成两段提交""请去掉附件" ✔)。

三、礼貌地拒绝(写法)

| 别写 | 改写 |

|---|---|

| 输入非法 | 文件超过 2 MB,请压缩后重试,或只提交前 20 页 |

| 格式错误 | 需要 JSON 格式;你的内容第 3 行缺少逗号 |

| 不支持 | 暂不支持 Excel;可另存为 CSV 后提交 |

要点:说清限制值、原因、替代做法 ✔。

四、别把长尾当"恶意"

多数长尾输入是正常用户的真实情况 ✔(从 Word 复制来的带格式文本、手机拍的照片转的文字 ✔)。

所以设计时优先能处理就处理 ✔,把"严格拒绝"留给真正的安全边界 ✔(注入、越权 ✔)。

五、该观测什么

· 各类拒绝的占比(哪一种拒绝最多 → 说明界面提示不足 ✔);

· 截断发生率(高了说明上限太紧或用户习惯不同 ✔);

· 规范化改动率(去掉了多少字符 → 判断上游质量 ✔);

· 解析失败 Top 样例(每周看几条,常能发现界面问题 ✔)。

一条判据

> 被拒绝的用户能否不问你就知道下一步怎么做 ✔?

> 不能,说明拒绝文案没写好 ✗(而不是用户不会用 ✗)。

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

相关文章

顺序阅读

← 上一篇:AI 功能的灰度开关设计:谁、什么时候、怎么关
下一篇:把「人工兜底」设计好:什么时候转人、转给谁 →

第 63 / 171 篇

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

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