输入侧的边界
空输入、超长输入、纯表情、乱码、重复粘贴、只发一个标点,这些都会真实出现。每一类都要有明确行为:拒绝、截断、提示,而不是让模型硬猜。
对输入长度做硬限制,并在界面提前给出提示,比后端截断更友好。
- 空输入:提示而不是报错
- 超长输入:前端限制长度并给出说明
- 非文本内容:识别图片、链接、乱码并给出对应处理
- 重复提交:按钮防抖,服务端幂等
输出侧的边界
空回答、只输出标点、超长输出、格式错误、违反安全策略,都要有兜底。输出层校验不过时,自动重试或告知用户。
对敏感内容,宁可拒绝也不能输出错误信息。
系统侧的边界
模型超时、服务降级、限流、网络中断、浏览器刷新,这些场景要保证用户输入不丢、结果可恢复。
刷新后恢复会话、重试保留上下文,是用户能感知的可靠感。
把边界情况变成测试用例
每一次线上发现的边界问题,都应该进入回归测试集。三个月后,你会拥有一套真实世界的边界清单。
AI 产品不是不会遇到边界情况,而是越早遇到越好。
把边界变成功能
有些边界情况其实是需求:空输入时给出引导示例、超长输入时自动摘要、重复问题时直接匹配历史答案。
与其让边界情况变成事故,不如把它们设计成产品的差异化体验,用户反而会觉得这个 AI 很贴心。
边界情况怎么沟通
边界情况的处理要写在产品文档里,而不是只存在代码注释里。用户问「为什么不能这样」时,客服和产品都能给出统一解释。
内部沟通同样重要:每次发现新的边界情况,更新到共享清单,标注触发条件、当前行为、后续计划。
边界清单是团队对 AI 能力边界的共同认知,知道边界在哪里,才不会给用户不切实际的承诺。
边界文档模板
每一条边界情况用四行记录:触发条件、当前行为、推荐话术、后续计划。四行足够团队成员快速理解和执行。
文档放在团队共享空间,版本随发布更新,重要边界在周会上同步一次。
边界文档不是给流程看的,而是让每个接触用户的角色都有统一的应对方式。