一套完整生产落地的 Agent 技术栈。
分享给做独立开发,以及正在做 Agent 产品的人。
项目是我开发的一个 Multi-Agent 数学建模系统。两年前我开源过一个版本,但真正做到生产后,会发现有非常多 dirty work,所以这次我直接用 TypeScript 全重写了一版。
我目前最大的感受是:
现在做 Agent Demo、桌面端、玩具产品的人很多,但真正能稳定跑生产、持续产生效益的产品,其实非常少。
因为: Agent 真正难的部分,不是 prompt,而是工程化。
而我本人平时还在上班,整个项目基本是我一个人开发,所以技术选型上,我会非常偏向:
- 熟悉
- 开发效率高
- 文档完整
- 能快速上线迭代
基本就是一套“独立开发友好”的技术栈。
技术选型:
前后端:Next.js 16 + TypeScript
我对这套比较熟,页面、API、鉴权、SSE 流式响应都能放在一个工程里,开发效率非常高。
但 Next.js 的缺点也很明显:
太慢了。
尤其是:
- hot reload 慢
- 内存占用大
- 工程稍微复杂一点 dev server 就开始卡
下次如果重做,我大概率不会再选 SSR,可能会直接转:
Vite + SSG
Agent:AI SDK v6
现在我基本已经离不开 AI SDK 了。
它做:
- SSE
- 多模型切换
- tool calling
- stream UI
都非常顺手。
配合 Next.js 写 Agent 几乎是当前最舒服的方案之一。
LLM:OpenAI Compatible + Anthropic
我不希望系统锁死单一模型厂商。
所以统一走 OpenAI Compatible 协议,再补 Anthropic。
这样:
- 用户可以 BYOK(Bring Your Own Key)
- 模型可以动态切换
- 成本更容易控制
- 也方便以后接私有模型
Sandbox:E2B Code Interpreter
这个是生产里非常关键的一层。
因为我的场景是: 运行 Python 代码求解数学建模问题。
E2B 的好处是:
- 沙箱隔离稳定
- 文件处理方便
- Python 环境成熟
- 更适合生产环境
相比自己维护 Docker Sandbox,省了很多精力。
Database:PostgreSQL + Drizzle ORM
负责:
- 聊天记录
- 消息状态
- Token 消耗
- 用户配置
- 计费状态
Drizzle 在 TypeScript 生态里我挺喜欢的:
类型安全做得很好,而且没有 Prisma 那种很重的感觉。
鉴权:Better Auth
登录、注册、找回密码这些能力接得很快。
我现在越来越倾向: 能不自己造 auth 轮子,就绝不自己造。
UI:shadcn/ui + Tailwind + AI Elements
这套组合真的非常适合 AI 产品。
尤其:
AI SDK + AI Elements
配合起来写 Agent UI 的速度非常夸张。
很多:
- 消息流
- Tool 状态
- Thinking 过程
- Agent Steps
基本很快就能搭出来。
观测:OpenTelemetry + Langfuse
Agent 系统如果没有 observability,后期基本没法排查问题。
尤其:
- 模型调用
- Tool 链路
- Token 消耗
- 错误回溯
这些必须可观测。
Langfuse 现在我觉得已经是 AI 产品里的基础设施了。
计费:支付宝 + 服务端预扣
接支付宝是真麻烦,但是合规就很好。
否则非常容易出现:
- 漏单
- 并发问题
- Token 被刷
预扣虽然麻烦一点,但生产稳定性高很多。
包管理:pnpm
安装快、占用小。
大项目之后你会明显感觉比 npm/yarn 更舒服。
可以发现:
我整个技术栈其实非常 “Vercel 系”。
几乎全是海外独立开发者最喜欢的那套。
国内可能反而偏冷门。
但实话说:
这套东西写起来真的非常爽。
尤其:
AI SDK + AI Elements
几乎把 Agent UI 开发效率拉满了。
目前这套栈里,
我唯一真正不满意的技术,其实就是:
Next.js
生态确实强,但开发体验已经越来越重了。
如果下次重构,我大概率会:
- 放弃 SSR
- 放弃大一统 Fullstack
- 转向 Vite + 纯 API Backend
可能整体会轻很多。