4m read
Phase 3 技术选型与工具链
Phase 3:技术选型与工具链
架构定好了,现在要为每一层选具体技术。这个阶段最忌讳两件事:追新和炫技。
选一个你一年后还能维护的技术,比选一个现在最火的技术重要得多。
一、这个阶段要做什么
为每个架构层选择具体技术,说明理由,列出依赖清单。
二、选型时考虑什么
成熟度
- 生态是否完善?文档是否全?出问题能不能搜到答案?
可控性
- 能不能自托管?数据在谁手里?
替换成本
- 半年后想换,改动有多大?
团队能力
- 有人能维护吗?还是只有 AI 能看懂?
成本
- API 调用费、服务器费、存储费,加起来是多少?
扩展性
- 用户量涨 10 倍,架构还撑得住吗?
三、大模型怎么选
| 模型 | 特点 | 适合场景 |
|---|---|---|
| Claude 4 | 指令遵循强、工具调用稳 | 复杂推理、Agent 主脑 |
| GPT-4o | 多模态、生态成熟 | 通用场景 |
| DeepSeek-V4 | 中文好、性价比高 | 中文内容、降低成本 |
| Gemini | 上下文长、多模态能力强 | 长文档、图片视频 |
| 本地模型 | 隐私最好 | 敏感数据、无网环境 |
实用策略:
- 主模型:Claude 4 Sonnet 或 GPT-4o
- 备用模型:DeepSeek-V4(降低成本)
- 封装统一 LLMProvider 接口,方便以后换
四、前后端和数据栈
| 用途 | 推荐 |
|---|---|
| Web 全栈 | Next.js + React + TypeScript |
| 纯后端 | Node.js + Fastify 或 Python + FastAPI |
| 数据库 | PostgreSQL + pgvector,或个人项目用 SQLite |
| 向量库 | Pinecone、Superbase、pgvector |
| 缓存/队列 | Redis + BullMQ |
| UI 组件 | shadcn/ui + Tailwind CSS |
| 状态管理 | Zustand |
这些不是唯一答案,但是经过验证的组合。除非你有特殊理由,否则不要自己造轮子。
五、AI 工具和 MCP
| 用途 | 工具 |
|---|---|
| 工作流编排 | n8n、Make |
| 网页抓取 | Firecrawl |
| 网页搜索 | Tavily |
| OCR | Mistral OCR |
| 重排序 | Cohere Re-rank |
| 追踪 | LangSmith |
| 设计生成 | Stitch、v0 |
| 知识库 | Obsidian、Notion |
MCP 是 Anthropic 推的协议,让 AI 统一接入外部工具。有官方 MCP Server 就直接用,没有就手动配置 raw config。
六、给 AI 的输入
hljs markdown## 项目架构
[粘贴 ARCHITECTURE.md]
## 约束
- 团队技术栈:
- 部署环境:
- 预算:
- 数据隐私要求:
## 请输出
1. 每层技术选型及理由
2. 依赖清单
3. 潜在风险
4. 替代方案
七、AI 应该产出什么
TECH-STACK.md
一份简单的总览文档:
hljs markdown## 前端
- 框架:Next.js 16
- 语言:TypeScript
- 样式:Tailwind CSS
## 后端
- 运行:Node.js
- 框架:Fastify
- ORM:Drizzle
## 数据
- 关系数据:PostgreSQL
- 向量数据:pgvector
## AI
- 主模型:Claude 4 Sonnet
- 备用模型:DeepSeek-V4
## 部署
- 容器:Docker Compose
- 反向代理:Nginx
依赖清单
列出所有第三方服务和库,以及为什么选它们。
八、什么时候算做完了
- 每层技术已选定
- 选型理由已记录
- 依赖清单已列出
- 已评估替代方案
- 成本和风险可接受
九、几个常见错误
追新工具
- 表现:项目一上线就用 beta 版
- 后果:文档少、坑多、维护痛苦
- 修正:优先成熟方案
过度设计
- 表现:个人项目用微服务
- 后果:复杂度爆炸
- 修正:按项目规模选型
忽略成本
- 表现:没算 API 调用费
- 后果:月底账单吓一跳
- 修正:做成本估算
不考虑维护
- 表现:选了一个只有 AI 能看懂的技术栈
- 后果:后期改不动
- 修正:选团队熟悉的技术
十、输出文件
text/docs/ ├── TECH-STACK.md └── dependencies.md
十一、下一步
技术栈确定后,设计前端界面和交互。
→ Phase 4 前端设计工作流