AI 应用开发概述
AI 应用开发正从实验性探索走向工程化落地。本章从全局视角介绍 AI 应用的完整技术栈,帮助开发者理解从原型到生产的完整路径,并给出合理的技术选型思路。
技术栈全景
一个完整的 AI 应用通常涉及以下层次:
- 模型层:LLM 提供商(OpenAI、Anthropic、Google、开源模型)
- 编排层:框架与 SDK(LangChain、LlamaIndex、DSPy)
- 数据层:向量数据库、文档存储、知识库
- 工具层:外部 API、代码执行环境、搜索引擎
- 服务层:API 服务器、流式传输、缓存
- 基础设施层:云平台、监控、日志、成本追踪
理解每一层的职责和边界,是构建可维护 AI 应用的前提。
从想法到生产的路径
第一阶段:直接 API 调用
最简单的出发点是直接调用 LLM API,适用于单轮问答、文本处理、内容生成等场景。
核心步骤:
- 选择合适的模型(GPT-4o、Claude 3.5 Sonnet、Gemini 1.5 Pro)
- 设计系统提示(System Prompt)
- 处理输入输出
- 实现基本的错误处理与重试
这个阶段的关键是快速验证产品假设,而不是过度设计。许多问题在直接调用阶段就能解决,无需引入复杂框架。
第二阶段:RAG(检索增强生成)
当应用需要访问私有知识库、最新数据或大量专业文档时,RAG 是首选方案。
RAG 的核心流程:
- 将文档分块(Chunking)并生成向量嵌入(Embedding)
- 存入向量数据库(Qdrant、Milvus、pgvector)
- 用户提问时检索相关片段
- 将检索结果注入 LLM 上下文生成回答
RAG 解决了幻觉问题、知识截止问题和私有数据问题,是企业级 AI 应用最常见的架构模式。
第三阶段:Agent 与工具使用
当任务需要多步推理、动态决策或调用外部工具时,需要引入 Agent 架构。
Agent 的典型能力:
- 使用工具(搜索、计算、写文件、调用 API)
- 多轮规划与自我修正
- 与外部系统交互
- 跨多个步骤维持状态
Agent 系统的复杂度显著高于 RAG,调试和可靠性是主要挑战,建议在确认 RAG 无法满足需求后再引入。
技术选型思路
模型选型
选择 LLM 的关键维度:
- 任务复杂度:简单任务用小模型(GPT-4o mini、Claude 3.5 Haiku),复杂推理用旗舰模型
- 延迟要求:实时交互需要低延迟模型
- 成本预算:Token 定价差异可达 10-50 倍
- 数据隐私:敏感数据考虑本地部署或私有云
- 多模态需求:图像/音频输入是否必要
框架选型
- 不需要框架:任务简单、调用链固定,直接用官方 SDK 最清晰
- LangChain:快速原型、需要大量集成、团队熟悉
- LlamaIndex:重点是 RAG 和数据摄入
- DSPy:需要自动优化提示、学术研究
- LangGraph:需要复杂状态机 Agent
向量数据库选型
- 开发测试:Chroma(内存模式,零配置)
- 生产小规模:pgvector(复用 PostgreSQL 基础设施)
- 生产大规模:Qdrant 或 Milvus
- 完全托管:Pinecone
本章导读
本章内容按以下结构组织:
API 集成
- Anthropic API:Claude 系列模型的完整调用指南
- OpenAI API:GPT 系列及配套服务的使用方法
- Google AI API:Gemini 系列与 Vertex AI 的接入
开发框架
- LangChain:最流行的 LLM 应用框架,适合快速集成
- LlamaIndex:专注数据摄入与 RAG 的框架
- DSPy:声明式 LLM 编程与自动提示优化
RAG 系统
- RAG 架构概述:从基础到高级的完整体系
- Embedding 模型:向量化文本的选型与最佳实践
- 向量数据库:存储与检索向量的技术选型
- 文档分块:影响检索质量的关键前处理步骤
- 检索与重排:优化召回率和精确率的进阶技术
Agent 系统
- Agent 概述:理解 Agent 的核心原理与适用场景
- 工具调用:Function Calling 机制与工具设计原则
- 记忆设计:短期与长期记忆的实现方案
- 规划与推理:Agent 如何拆解和执行复杂任务
- 多智能体系统:多 Agent 协作的架构模式
建议按顺序阅读,每个小节都包含可运行的代码示例和实践建议。