你已经了解了 Prompt Engineering、RAG、Function Calling、Agent 等技术。但当你准备构建一个真正的 AI 产品时,一堆新问题冒出来:
“该用什么架构?""怎么管理 Prompt 版本?""如何监控效果?""成本怎么控制?""上线前要做哪些安全检查?”
这篇文章帮你把这些技术组装成一个完整的、可上线的 AI 应用。
本文要点
- 什么时候该给应用加 AI
- 四种 AI 应用架构模式
- 技术栈和框架选择
- 核心设计模式
- 工程化实践:评估、监控、成本、安全
- 完整案例
一、让 AI 为应用赋能
1.1 什么时候该加 AI
不是所有应用都需要 AI。加 AI 之前,先问自己三个问题:
- 这个任务是否涉及自然语言理解或生成? 如果是,AI 大概率有帮助。
- 规则引擎能否解决? 如果用 if-else 就能搞定,不需要 AI。
- 容错性如何? 如果不允许任何错误(如金融交易),谨慎使用 AI。
1.2 四种架构模式
1.3 渐进式集成策略
不要一开始就构建复杂的 AI 系统。建议分步走:
第 1 步:用 LLM API 做最简单的功能(如文案生成)第 2 步:加入 RAG 提供知识库支持第 3 步:加入 Function Calling 连接工具第 4 步:构建 Agent 实现复杂工作流每一步都要验证效果和成本,再决定是否继续。
二、技术栈选择
2.1 开发框架
| 框架 | 语言 | 特点 | 适用场景 |
|---|---|---|---|
| LangChain | Python/JS | 生态最丰富 | 快速原型、通用应用 |
| LlamaIndex | Python | RAG 专精 | 知识库、文档问答 |
| LangGraph | Python | 状态机、复杂流程 | Agent 工作流 |
| Semantic Kernel | C#/Python | 微软企业级 | 企业应用集成 |
| Vercel AI SDK | TypeScript | 前端友好、流式 | Web 应用 |
选择建议: 快速原型用 LangChain。RAG 场景用 LlamaIndex。复杂 Agent 用 LangGraph。前端项目用 Vercel AI SDK。
2.2 向量数据库
| 数据库 | 特点 | 适用 |
|---|---|---|
| Chroma | 轻量、开源 | 本地开发 |
| Qdrant | 高效、Rust 实现 | 生产、性能敏感 |
| Milvus | 分布式、高性能 | 大规模生产 |
| Pinecone | 托管、零运维 | 快速启动 |
2.3 AI 可观测性
| 工具 | 特点 |
|---|---|
| LangSmith | LangChain 官方,Trace 追踪 |
| Langfuse | 开源,自部署 |
| Helicone | 托管,成本分析 |
可观测性让你看到:每次 LLM 调用的输入/输出、延迟、Token 消耗、错误率。上线后必备。
三、核心设计模式
3.1 Chain 模式
多个处理步骤串联。
适合流程固定的场景。
3.2 Router 模式
根据输入类型路由到不同处理流程。
适合需要不同专业处理的场景。
3.3 Agent 模式
LLM 自主决定执行步骤,不是预定义流程。
适合复杂、动态的任务。
3.4 Human-in-the-loop
关键决策点加入人工确认。
适合高风险操作(删除数据、发送邮件、医疗建议)。
四、工程化实践
4.1 Prompt 版本管理
提示词是代码的一部分,需要版本管理。
支持回滚、A/B 测试、灰度发布。
4.2 评估与监控
质量指标:
- 准确率:答案正确的比例
- 相关性:答案与问题的相关程度
- 用户满意度:通过反馈收集
性能指标:
- 延迟:P50/P95/P99
- 吞吐:QPS
- Token 消耗
评估方法:
- 人工评估:专家打分
- 自动评估:用 LLM 评估 LLM 输出(LLM-as-Judge)
- A/B 测试:对比不同方案
4.3 成本优化
模型路由。 简单任务用小模型(GPT-4o-mini),复杂任务用大模型。
缓存策略。 缓存常见问题的答案和 Embedding 结果。语义缓存:相似问题命中同一缓存。
Prompt 优化。 减少不必要的上下文。使用 Prompt Caching。压缩对话历史。
批处理。 非实时场景合并多个请求。
4.4 安全与合规
输入过滤:
- 敏感信息检测(个人隐私、密码)
- 恶意输入防护(Prompt 注入攻击)
- 内容合规检查
输出审查:
- 敏感信息过滤
- 有害内容拦截
- 版权内容检测
访问控制: 用户认证、权限管理、调用限流。
数据保护: 加密传输、日志脱敏、合规存储。
4.5 生产环境注意事项
- 降级策略:LLM 服务不可用时的 fallback 方案
- 限流:防止单用户过度使用
- 日志:记录完整的请求/响应,便于排查问题
- 告警:错误率、延迟超阈值时通知
五、完整案例:智能客服系统
5.1 需求
- 多轮对话,上下文记忆- 企业知识库检索- 响应延迟 < 3 秒- 日均对话 5,000 次- 无法回答时转人工5.2 架构
5.3 技术选型
- LLM:Claude 3.5 Sonnet(指令遵循好、200K 上下文)
- 知识库:Qdrant + BGE-M3 Embedding
- 框架:LangChain + LangGraph
- 监控:LangSmith
- 降级:LLM 不可用时切换到 DeepSeek V3
5.4 关键数据
- 自动解决率:70%+
- 客户满意度提升:20%
- 人工成本降低:50%
图解
5.1 AI 应用技术全景
┌──────────────────────────────────────────────┐│ AI 应用技术全景 │├──────────────────────────────────────────────┤│ ││ 前端层 ││ └── Vercel AI SDK / Streamlit / Gradio ││ ││ 应用层 ││ └── LangChain / LlamaIndex / LangGraph ││ ││ 能力层 ││ └── RAG + Function Calling + Agent ││ ││ 数据层 ││ └── 向量数据库 + 关系数据库 + 缓存 ││ ││ 模型层 ││ └── GPT-4o / Claude / DeepSeek / 自部署 ││ ││ 运维层 ││ └── 监控 + 评估 + 成本优化 + 安全 ││ │└──────────────────────────────────────────────┘常见问题 FAQ
Q1:第一个 AI 应用应该做什么?
A:从最简单的开始。推荐内部工具:如知识库问答、文档摘要、代码审查助手。风险低、反馈快、价值明确。
Q2:用 LangChain 还是自己写?
A:原型阶段用 LangChain 加速验证。生产阶段如果 LangChain 的抽象太重,可以只用其中部分组件,或替换为更轻量的方案。
Q3:如何处理 LLM 的不确定性?
A:通过置信度判断 + 人工兜底。当模型不确定时(如回答包含 我不确定可能 等词),触发人工审核或告知用户结果仅供参考。
Q4:AI 应用的测试怎么做?
A:三层测试:单元测试(验证单个组件)、集成测试(验证完整流程)、评估测试(用测试集评估输出质量)。评估测试是 AI 应用特有的:用标注好的问答对定期回归测试。
Q5:成本怎么预估?
A:先算单次调用成本(平均输入/输出 Token × 单价),乘以日均调用量,再加 20% 缓冲。第一周先小流量试跑,根据实际数据调整预估。
小结
构建 AI 应用不是把 LLM API 接上就完了。你需要选择合适的架构模式、搭建技术栈、建立评估体系、做好成本和安全管控。
核心原则:渐进式集成,从简单开始,持续评估,逐步升级。
下篇预告
当 Prompt Engineering 和 RAG 都无法满足需求时,可能需要微调(Fine-tuning)来定制你的专属模型。什么时候该微调?怎么做?
参考资料
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






