Skip to content

框架选型

🎯 学习目标

  • 按团队规模、场景复杂度、栈(Python/Node)选择框架
  • 识别「抽象泄漏」与版本升级风险
  • 给出可落地的混合架构建议

引言

没有「最好」的框架,只有与团队阶段匹配的选择。本课提供决策树,避免为用框架而用框架。

章节正文

第 1 步:决策矩阵

因素直连 OpenAI SDKLangChain/LangGraphVercel AI SDKLlamaIndex
学习曲线中–高
RAG 开箱自研需组合最好
Next.js 流式 UI自研 SSE最好偏 Python
Agent 状态图自研LangGraph有限有 Agent
依赖体积最小

建议

  • 单一 Chat API + 固定 Prompt → 直连 SDK
  • Python RAG 原型 → LangChain 或 LlamaIndex
  • Next.js 全栈 Chat → Vercel AI SDK + 必要时 LangChain.js
  • 复杂 Agent + 审批 → LangGraph

第 2 步:抽象泄漏与迁移成本

框架升级可能导致 import 路径变化、类名废弃。Mitigation:

  1. Domain 层自研:业务只依赖你的 ChatService / RagService 接口
  2. 框架调用封装在 adapter 包内
  3. 核心 Eval 不依赖框架细节(7.1)

记录「若去掉 LangChain 需重写多少行」作为引入前的清醒评估。

第 3 步:混合架构示例

Next.js (Vercel AI SDK UI)
    ↓ HTTP/SSE
Python FastAPI
    ├── LlamaIndex:离线索引
    └── LangGraph:Agent 运行时

Postgres + Qdrant

索引与在线推理分离,是多数企业的稳定形态。

动手练习

  1. 为你当前项目填决策矩阵,写出选型结论与 3 条理由
  2. 画出自研 adapter 层应暴露哪 3 个方法

本节小结

简单场景直连 SDK;RAG 深度选 LlamaIndex;Next 流式选 Vercel AI SDK;复杂 Agent 选 LangGraph。用 adapter 隔离框架,控制迁移成本。