架构师决策矩阵:AI技术选型指南
嵌入式软件工程师做AI架构决策时的速查表。
每个决策点都有选项、trade-off分析和推荐方案。
一、模型选型决策
1.1 按场景选择模型类型
| 场景 |
推荐方案 |
理由 |
| 通用对话 |
GPT-4o / Claude 3.5 Sonnet |
能力最全面 |
| 中文对话 |
通义千问 / DeepSeek |
中文语料最丰富 |
| 代码生成 |
GPT-4o / Claude 4 / DeepSeek-R1 |
代码能力最强 |
| 长文档分析 |
Kimi / Gemini / Claude |
上下文窗口大 |
| 推理任务 |
o1 / o3 / DeepSeek-R1 |
推理能力最强 |
| 离线部署 |
Llama 3 / Qwen / Phi-3 |
开源可私有化 |
| 边缘部署 |
Qwen-1.8B / Phi-3-mini |
小模型,量化友好 |
1.2 开源模型对比
| 模型 |
参数 |
中文能力 |
代码能力 |
推荐用途 |
| Llama 3.1 8B |
8B |
一般 |
强 |
英文场景首选 |
| Qwen 2.5 7B |
7B |
强 |
强 |
中文场景首选 |
| DeepSeek-V3 |
67B |
强 |
极强 |
需要强代码能力 |
| Phi-3-mini |
3.8B |
一般 |
强 |
边缘部署首选 |
| Qwen-1.8B |
1.8B |
强 |
一般 |
极致边缘部署 |
二、部署架构决策
2.1 部署模式选择
是否允许数据外发?
├── 是 → 对延迟要求?
│ ├── 低 → API调用(最简单)
│ └── 高 → 边缘缓存 + API降级
└── 否 → 有GPU资源?
├── 有 → vLLM/TensorRT-LLM 自部署
└── 无 → llama.cpp CPU推理 或 NPU加速
2.2 推理引擎选择矩阵
| 需求 |
推荐引擎 |
关键理由 |
| 极致GPU性能 |
TensorRT-LLM |
NVIDIA官方优化,速度最快 |
| 高吞吐GPU服务 |
vLLM |
PagedAttention,批处理强 |
| CPU/边缘部署 |
llama.cpp |
纯C++,ARM友好 |
| Apple Silicon |
MLX / llama.cpp |
苹果硬件优化 |
| 快速原型 |
Ollama |
一行命令跑模型 |
2.3 量化策略选择
| 精度 |
模型大小(7B) |
质量损失 |
推荐场景 |
| FP16 |
14GB |
无 |
GPU充足,质量要求极高 |
| INT8 |
7GB |
<1% |
有GPU,需要节省显存 |
| GPTQ INT4 |
3.5GB |
1-2% |
边缘GPU部署 |
| AWQ INT4 |
3.5GB |
1-3% |
通用边缘部署(推荐) |
| Q4_0 (llama.cpp) |
3.5GB |
2-4% |
CPU边缘部署 |
三、RAG架构决策
3.1 向量数据库选择
| 数据库 |
规模 |
特点 |
适用场景 |
| Chroma |
小型 |
轻量,Python原生 |
开发测试、小数据量 |
| Milvus |
中大型 |
分布式,高性能 |
生产环境、大数据量 |
| Qdrant |
中型 |
Rust实现,性能好 |
中等规模生产 |
| Pinecone |
云服务 |
托管服务 |
不想运维 |
| SQLite+vector |
微型 |
嵌入式,零依赖 |
边缘设备部署 |
3.2 Embedding模型选择
| 模型 |
语言 |
维度 |
特点 |
| BGE-m3 |
多语言 |
1024 |
中文最强,推荐 |
| M3E |
中文 |
1024 |
中文优化,轻量 |
| text-embedding-3-small |
英文为主 |
1536 |
OpenAI出品,效果好 |
| nomic-embed-text |
英文为主 |
768 |
开源,轻量 |
3.3 RAG架构复杂度选择
| 级别 |
架构 |
适用场景 |
开发成本 |
| L1 基础RAG |
检索+生成 |
简单问答 |
低 |
| L2 混合检索 |
向量+关键词 |
技术文档 |
中 |
| L3 重排序 |
检索+重排+生成 |
高质量要求 |
中高 |
| L4 Agentic RAG |
多步推理+工具 |
复杂分析 |
高 |
| L5 自优化RAG |
自动评估+改进 |
生产系统 |
很高 |
四、Agent架构决策
4.1 Agent模式选择
| 模式 |
复杂度 |
适用任务 |
推荐框架 |
| ReAct |
低 |
单一工具调用 |
LangChain |
| Plan-and-Execute |
中 |
多步骤规划 |
LangGraph |
| Reflection |
中 |
高质量生成 |
AutoGen |
| Multi-Agent |
高 |
多角色协作 |
CrewAI / AutoGen |
| Hierarchical |
高 |
企业级应用 |
LangGraph |
4.2 工具集成决策
| 工具类型 |
集成方式 |
推荐协议 |
| API调用 |
REST/GraphQL |
MCP Server |
| 数据库查询 |
SQL/ORM |
MCP Server |
| 文件操作 |
本地文件系统 |
MCP Server |
| 代码执行 |
沙箱环境 |
独立进程 |
| 网页浏览 |
Headless Browser |
独立服务 |
五、成本优化决策
5.1 成本构成分析
AI系统成本 = 模型推理成本 + 数据存储成本 + 开发维护成本
模型推理成本占比:70-85%
├── Token费用(API模式)
├── GPU费用(自部署模式)
└── 边缘设备摊销(边缘模式)
数据存储成本占比:10-20%
├── 向量数据库
├── 文档存储
└── 日志和监控
开发维护成本占比:10-15%
├── 架构设计
├── Prompt工程
└── 评估和优化
5.2 降本策略
| 策略 |
节省比例 |
实施难度 |
说明 |
| 模型路由 |
30-50% |
中 |
简单问题用小模型,复杂问题用大模型 |
| 缓存 |
20-40% |
低 |
缓存相似问题的答案 |
| Prompt优化 |
10-20% |
低 |
精简Prompt减少Token消耗 |
| 批量处理 |
30-50% |
中 |
合并请求减少API调用次数 |
| 边缘卸载 |
50-80% |
高 |
边缘处理简单任务 |
六、安全合规决策
6.1 数据安全分级
| 级别 |
数据类型 |
处理方式 |
| 公开 |
公开信息 |
可直接使用API |
| 内部 |
公司内部数据 |
优先自部署 |
| 敏感 |
客户数据 |
必须脱敏或自部署 |
| 机密 |
商业机密 |
仅边缘本地处理 |
6.2 防护策略矩阵
| 风险 |
防护措施 |
实施优先级 |
| Prompt注入 |
输入过滤、系统Prompt加固 |
高 |
| 数据泄露 |
PII检测、输出脱敏 |
高 |
| 幻觉风险 |
RAG提供依据、事实校验 |
中 |
| 滥用风险 |
速率限制、内容审核 |
中 |
| 模型投毒 |
训练数据审查、模型签名 |
低(自部署时) |