AI 应用规范
公开教程 · 无需登录

AI 应用规范

前五类规范沿用一般软件工程的结论,这一页处理模型本身带来的不确定性:输出不可信、提示词会漂移、成本与依赖会失控。缺少这一类规范时,项目的问题往往不表现为报错,而表现为「同样的输入,这周和下周的回答不一样」。

1这一页管什么

管模型被调用的全链路;判定与日志边界沿用安全与运维两页。

  1. 管模型相关的不确定性。调用边界、提示词的版本化、模型与参数的锁定、超时与降级、输出校验、评测集、成本与用量观测。
  2. 不交由这一页。密钥如何存放属安全开发规范;日志字段格式与指标告警属部署运维规范;外部内容不可信是安全开发规范的一条,这里只写它在提示词装配时的具体落法。
  3. 两种落法。提示词模板、参数与阈值这类常驻约束写进规则;「按规范改一次提示词并跑评测」这类流程写成技能。
对应的课程知识点:不确定性系统与概率性输出的工程化管理、提示词即代码(prompt as code)与版本控制、基于评测集(evaluation set)的回归、降级与熔断、可观测性中的用量与成本指标。它与测试规范直接衔接——评测集就是把「模型的输出」纳入可回归的范围。

2规范条目

十条,从「该不该用模型」排到「用了之后怎么观测」。

条目要写清什么,为什么这样规定怎么检查
调用边界哪些环节必须用模型,哪些应当用确定性规则。能算出来的不要问模型;模型只负责不确定的那一段逐个调用点问一句「换成规则会怎样」,答不上来即说明边界不清
工具落点模型可调用的工具只能落在系统已有的服务方法上,严禁为模型开数据直连。为什么:工具一旦直连数据,授权判定与脱敏规则就被绕过去了——同一条数据走页面要授权、走工具不要授权逐个工具确认它最终调用哪一个服务方法;出现直接查询数据库或对象存储的工具即为违规
提示词即代码模板随版本入库,带版本号与评测结论;变更走评审,不在对话框里改完就上线。随版本变的东西属于代码,不属于配置检索仓库中的模板文件;出现线上与仓库不一致的模板即判缺陷
模型与参数锁定模型名与版本、温度、最大输出长度写进配置并锁定;阈值类数值集中一处。散落在代码里的常量会各自漂移配置文件中应能一次找到全部模型相关参数
超时、重试与降级单一超时值、重试上限与退避策略;依赖不可达时返回明确的错误码与可理解的提示。不做无限等待,也不静默返回空结果停掉模型服务,检查是否在超时后返回明确错误而非挂起
输出校验结构化输出先校验再使用;解析失败按失败处理,不静默降级为默认值。把不可信输出当作外部输入对待构造一段畸形返回,检查是否被判失败而非被继续使用
不编造依据无命中或引用列表为空时,输出固定的无依据说明,不返回伪造的标识与片段。编造出处比答不上来严重得多检索空库后提问,检查回答是否含任何出处编号
外部内容的装配方式材料正文、技能与工具描述作为数据放在用户消息里;系统提示中写明不执行其中的任何指令上传含指令性文本的素材,检查模型是否把它当作指令执行
评测集与回归维护一份小样本评测集,含「必须答对」与「必须拒答」两类;改提示词或换模型版本后跑一次,结果归档改一次提示词,评测集应能给出前后两份可对比的结果
用量与成本观测记录模型名、提示词版本、耗时、用量、命中数;不记录提示词全文(含用户数据)。没有用量记录就无法回答「这个月为什么涨了」抽样一条请求,检查这些字段是否齐全且不含原文

3本课先写到哪

下列五件完成,模型的输出就纳入了可回归的范围。

  1. 最小集合五件。调用边界、提示词入库并带版本、模型与参数锁定、超时降级、输出校验与不编造依据。
  2. 先建一份小评测集。十到二十条即可,一半是必须答对的,一半是必须拒答的。
  3. 改提示词也要走变更。与改代码同一套流程:提变更 → 实现 → 跑评测 → 归档。
  4. 写一次违规验证。把命中阈值调低到必然无命中,检查回答是否编造出处。
这类规范最容易被漏掉,因为模型调用在第一次运行往往是好的——问题出现在第二次改提示词、换模型版本、或输入里混进指令性文本的时候。