Appearance
常见坑与 FAQ
把各章的 ⚠️ 误解、失控模式、生产坑汇成一个排查清单。出问题时按这个对照。
认知类误解
| 误解 | 实际 |
|---|---|
| AI 会"思考""理解" | 它在预测下一个 Token、匹配词语模式 |
| 上下文 200k = 20 万字 | 是 20 万 Token,中文约 10-15 万字 |
| 上下文越大越好,全塞进去 | 大 ≠ 全被认真处理,存在"中间迷失" |
| 推理模型一定更好,都用它 | 简单任务上又慢又贵,是浪费 |
| 换更强的 Embedding 模型救烂检索 | 多半是分块问题,先调分块 |
| Fine-tune 让模型"记住"我的知识 | 注入知识是 RAG 的活,Fine-tune 做这个又贵又差 |
Agent 跑偏了,怎么排查
按顺序查(→ 2.4):
1. 看最后几步上下文 → AI 当时"看到"了什么?有没有错误被忽略?
2. 找分叉点 → 第一个"结果和预期不符"的步骤在哪?
3. 判断失控类型:
- 理解错任务 → 改 Prompt、加示例、补边界条件
- 工具出错没处理 → 让工具返回清晰错误,让 AI 能感知
- 上下文太长被稀释 → 拆分任务,减少单次上下文
- 规则被淡忘 → 规则放 System Prompt,精简,关键步骤重申五种失控模式速记:推理雪崩 · 上下文污染 · 错误未处理 · 任务歧义 · 规则稀释。
生产环境检查清单
上线前对照(→ 2.6):
- [ ] 错误处理:429/503 指数退避重试,400 不重试
- [ ] 超时:AI 请求超时设到 60-120 秒,别用默认 5 秒
- [ ] 降级:超时/失败有兜底提示,不是白屏
- [ ] 成本:每日告警、记录每次 token、按用户/功能配额
- [ ] 解析健壮:JSON.parse 加 try-catch + fallback
- [ ] 输入过滤:超长输入、特殊字符、Prompt 注入
- [ ] 固定模型版本:用具体版本号,不用
latest - [ ] 日志/可观测:结构化记录输入输出/token/延迟,带业务维度
安全红线
- [ ] 不让 AI 直接执行高权限操作(删数据、发布)——要先确认
- [ ] 处理用户上传内容/网页时警惕 Prompt 注入
- [ ] 工具用最小权限(只读优先,开发用只读账号)
- [ ] 输出做二次校验(Guardrails),别直接信任
- [ ] 密钥用环境变量,绝不硬编码 / 提交进 Git
→ 详见 2.7 AI 应用安全
高频 FAQ
Q:同样的 Prompt,为什么每次结果不一样? A:采样有随机性。要稳定就降 temperature(甚至设 0)、固定 seed。→ 1.3
Q:成本怎么突然很高? A:常见三因:System Prompt 太长 × 请求量大;让 AI 处理大量文档;Agent 循环里重复调工具。→ 1.6
Q:本地模型为什么没云端聪明? A:受显存限制只能跑中小模型,复杂任务明显弱。简单任务/实验够用。→ 1.10
Q:DeepSeek 怎么没有 Embedding? A:DeepSeek 不提供 Embedding API。用阿里百炼 text-embedding-v4 或本地 Ollama nomic-embed-text。→ 0.5
Q:为什么换个模型代码就报错了? A:"兼容 OpenAI"是大部分一致,特有参数、工具细节、返回扩展字段仍有差异,要实测。→ 1.9