← 返回博客
AI 学习笔记(一):认知校准
2026年4月15日·4 min read
AILLM工程实践
1. 核心思维转变
传统软件工程中,逻辑是确定性的:状态A触发事件A,条件B执行分支B,所有行为都在程序中预设。但 LLM 本质上是在 token 空间做概率采样,这带来了本质差异:
- 非确定性:相同输入可能产生不同输出,无法保证"跑一百次结果一样"
- 幻觉(Hallucination):模型可能生成看似合理但事实性错误的内容
- 边界模糊:对边界情况的行为难以预测,不像传统程序可以穷举分支
结论:不能再用"写完测试就放心上线"的思路对待 AI 模块,必须建立新的工程防线。
2. 工程应对策略
接入 LLM 的项目,模型输出必须经过多层校验才能进入后续流程。以 AI 英语学习系统为例:
| 校验层 | 目的 | 具体手段 | |--------|------|----------| | 输出格式校验 | 确保结构可用 | JSON Schema 校验、字段完整性检查 | | 内容安全审查 | 过滤有害内容 | 安全分类模型、敏感词过滤、合规检查 | | 业务边界校验 | 防止超出任务范围 | 关键词/意图检测、话题偏离判断 | | 质量评估 | 保证回答质量 | 参考答案相似度打分、语法正确性检查 | | 兜底机制 | 应对失败情况 | 重试策略、降级回复、人工审核兜底 |
原则:模型输出在未经验证之前,应视为不可信数据,与处理外部用户输入的安全态度一致。
3. 如何开发 AI 应用
AI 应用开发需要工程师与 AI 能力协同,而非传统的前后端分工模式:
3.1 角色认知
- 工程师需要理解模型的运行逻辑(token 机制、上下文窗口、采样参数),将业务需求转化为模型能理解的 Prompt 和工作流
- 架构设计需要考虑不确定性:哪里需要校验?哪里需要兜底?哪里需要人工介入?
3.2 开发流程
- 需求拆解 — 明确哪些环节由模型处理,哪些由规则引擎处理,划分确定性边界
- Prompt 设计与迭代 — 将业务逻辑转化为结构化 Prompt,建立评测数据集,量化评估效果
- 防护层建设 — 在模型输入前后建立校验、过滤、兜底机制
- 监控与反馈 — 上线后持续监控模型输出质量,收集 bad case 驱动迭代
- 文档化 — 将 Prompt 版本、评测结果、边界情况记录为可维护的工程文档
3.3 关键思维
把模型当作一个能力很强但不可预测的外部服务来设计架构——就像你会为第三方 API 做超时处理、降级策略和数据校验一样,模型也需要同等级别的工程防护。