第 1.3.4 节:用上下文预算、密钥管理和常见坑控制调用风险
上下文预算、密钥管理和常见坑只有拆成可执行步骤,才容易复核、排错和交接。完成本节后,你应该能够按顺序说明上下文预算、密钥管理和常见坑的触发、处理、复核、记录和兜底步骤。
常见坑
把模型当数据库
模型不能保证知道你的企业资料,也不能保证记住你刚上传的文件。私有资料要通过 RAG(检索增强生成)、工具或数据库进入上下文。
把所有历史对话都塞进去
多轮对话需要历史,但不需要无限保留。应该保留任务相关状态,过长历史要摘要或裁剪。
在日志里打印 API Key(接口密钥)
调试时很容易把请求头、环境变量或错误上下文打印出来。日志系统必须避免泄露密钥。
没有重试和超时
模型 API(应用程序接口)是外部服务。要考虑超时、限流、网络失败和供应商异常。
过早绑定单一供应商
项目早期可以用一个供应商快速验证,但代码结构要允许后续替换。
失败场景与兜底
| 失败场景 | 表现 | 兜底方式 | 验收标准 |
|---|---|---|---|
| 模型超时 | 用户长时间无响应 | 设置超时、重试一次,并提示稍后再试或转人工 | 日志记录超时和重试结果。 |
| 供应商限流 | 大量请求失败 | 降低并发、进入排队、切换备用供应商或 Mock(模拟)提示 | 系统不崩溃,用户看到明确状态。 |
| 上下文过长 | 请求失败或成本过高 | 裁剪历史、摘要工具结果、减少检索片段 | 单次调用 Token(文本计量单位)在预算内。 |
| 输出格式无效 | 后端无法解析模型结果 | 重新请求、降级为人工处理或返回安全提示 | 无效输出不会进入业务动作。 |
| 密钥泄露风险 | 日志或文档出现真实 Key(密钥) | 日志脱敏、密钥轮换、权限收紧 | 检查文档和日志不包含真实密钥。 |
| 模型编造政策 | 回答没有企业资料依据 | 强制引用 RAG 片段,缺资料时拒答 | 答案能追溯到资料来源。 |
工程检查清单
- API Key(接口密钥)是否只通过环境变量读取?
- 是否有
.env.example? - 是否支持 Mock(模拟)模式?
- 是否记录模型调用耗时和错误?
- 是否控制输入和输出 Token(文本计量单位)?
- 是否区分模型选择和业务逻辑?
- 是否有供应商切换预留?
- 是否说明模型能力和合规边界?