
AI 能很快生成一个 Web 原型。接下来,谁来维护它,怎样检查改动,模型调用失败了怎么办,这些问题依然需要团队自己回答。
讨论 2026 年的技术选型,React 和 Vue、Node.js 和 Python 仍然值得比较。但在比较之前,我会先确认两件事。团队打算用 AI 帮忙写代码,还是要把 AI 做成产品功能?前者影响开发方式,后者会增加运行时的架构需求。把它们混在一起,很容易给一个普通后台加上用不到的向量检索和 Agent 框架。
本文给出的是一组候选方案与判断依据。它们适合拿来缩小评估范围,具体选择仍要结合团队经验、业务约束和真实任务的验证结果。
先分清 AI 在项目里做什么
一个现有业务系统,只是开发时使用 AI 编程助手,通常没有必要改变运行架构。给系统加摘要功能,则需要处理模型调用、配额和失败降级。到了文档问答或任务代理,检索权限、任务状态和恢复机制才会成为主要问题。

这两类需求可以同时存在,但要分别验收。代码能通过测试,不代表生成式功能的回答质量已经达标。
| 项目形态 | 常见场景 | 选型时优先解决的问题 |
|---|---|---|
| 使用 AI 辅助开发的普通 Web 产品 | 后台、官网、业务系统 | 项目约定、代码上下文、自动验证 |
| 增加 AI 功能的传统产品 | 摘要、内容生成、智能搜索 | 功能隔离、调用预算、超时与降级 |
| 以 AI 为核心的产品 | 文档问答、智能助手、任务代理 | 检索质量、工具权限、任务持久化与评估 |
为现有系统增加一个摘要入口,可以从一个受控的服务端调用开始。是否引入检索或工作流,应当由后续需求决定。
AI 参与开发后,更要关心代码能否被验证
一个模型会生成某个框架的示例,只能说明它能完成这个示例。复杂业务里的修改是否正确,还得看接口契约、权限规则和测试。
我会在原有的性能、生态和团队经验之外,再看三个条件。
- 容易理解。目录职责清楚,业务规则能在代码或文档里找到。
- 容易验证。修改以后,有明确的检查、测试与构建命令。
- 容易约束。依赖、组件和数据访问方式有统一约定,重要规则能由工具检查。
这些条件也方便人接手项目。相反,同一个仓库混用几套请求工具、每个页面各写一套错误处理,既会增加人工维护负担,也会给 AI 更多偏离约定的机会。
仓库说明至少要写清如何启动和测试、模块职责、接口与错误处理方式、权限与数据隔离规则,以及哪些文件由工具生成。说明文件提供上下文,类型检查、自动化测试和 CI 负责执行可检查的规则。
判断 AI 是否提高效率,也要把审查和返工算进去。可以选一个真实业务功能,记录从开始开发到通过验收的总时间,同时检查新增依赖、维护难度和测试覆盖。生成代码的速度,只占这段过程的一部分。
前端先看应用形态
后台与工作台
对于以登录后交互为主、已有独立后端的项目,我会优先评估团队熟悉的 React 或 Vue,搭配 TypeScript、Vite 和既有 API。
选择这类组合,要同时固定组件库、数据请求约定、表单与错误处理方式,并区分服务端数据和客户端状态。否则,框架虽然统一了,页面之间仍然可能像几个独立项目。
React 的官方新项目指南优先推荐使用框架,同时保留从构建工具开始的方式。选择 Vite 路线时,需要自己承担路由、数据加载等方案的组织工作。已有后端、应用边界明确的团队,可以据此判断这种自由是否值得。
需要统一路由、数据加载和渲染的应用
如果项目希望统一组织路由、数据加载、渲染策略和部分服务端逻辑,可以评估 Next.js、React Router 或 Nuxt。
采用应用框架,也有渲染方式上的选择。React 官方说明,这类全栈框架可以支持客户端渲染、单页应用和静态生成;是否增加服务端渲染,可以按路由需求决定。
小团队、业务边界简单,可以从一个项目开始。涉及多客户端或复杂业务规则时,要明确业务服务的职责。原型生成得快,无法替代这一步设计。
官网、博客与文档
内容站更关心内容组织、发布流程、搜索收录和页面加载。Astro 的官方定位包含博客、营销页等内容驱动的网站,因此值得作为这类项目的候选。
内容是否由 AI 辅助生产,不会直接决定页面该用什么框架。来源记录、编辑审核和发布权限,需要单独安排。
带 AI 功能的交互
聊天框只是一个入口。生成过程还需要等待、生成中、完成、失败、取消和重试等状态;涉及资料引用或工具执行时,还要展示依据与执行进度。
流式展示可以让用户更早看到部分结果,但任务是否完成,应以服务端记录为准。用户关闭页面以后仍需继续执行的任务,要有独立的任务 ID、状态查询和结果存储。
后端跟着团队经验和任务边界走
主要调用托管模型 API 的产品,可以沿用现有后端。已有 Python 数据处理或模型代码,才更有理由把 Python 放进主要候选。
| 项目条件 | 建议优先评估 |
|---|---|
| 团队以 TypeScript 为主,主要调用模型 API | Node.js 或应用框架的服务端能力 |
| 已有大量 Python 数据处理和模型相关代码 | FastAPI、Django 等 Python 方案 |
| 已有成熟 Java、.NET 或 PHP 系统 | 保留业务核心,按需接入 AI 模块 |
| 任务耗时长,需要重试和恢复 | Worker、任务队列或持久化工作流 |
TypeScript 也有成熟的模型接入工具。AI SDK提供统一的模型接入方式,支持文本、结构化对象和工具调用等能力。选择语言时,可以直接比较团队能否维护,以及需要复用哪些现有代码。
我会先明确下面这些职责,再决定是否拆服务。

业务 API 处理认证、授权、配额和数据访问,AI 应用层处理模型调用、检索与工具编排。长任务交给能持久化状态的执行单元。这些模块最初可以放在一个项目中,通过清楚的接口保持边界。
Agent 框架什么时候才有必要
我的建议是随任务复杂度逐步增加机制。
- 单次生成,直接调用模型。
- 步骤固定,用代码显式编排。
- 耗时长、需要中断恢复,增加持久化任务状态。
- 确实需要模型动态决定步骤和选择工具,再评估 Agent 框架。
LangGraph 的持久化机制提供检查点等能力,可以纳入有状态任务的候选。引入前要验证恢复时会重跑哪些步骤,外部写入能否避免重复执行,以及人工介入后怎样继续。
流程已经确定的部分,交给代码执行即可。让模型多做一次决策,也意味着多一处需要评估的行为。
数据库先解决业务数据,再考虑向量检索
一般业务新项目,我会把 PostgreSQL 放进优先评估的名单。已有稳定的 MySQL 或其他数据库体系,则要先算迁移成本和实际收益。
知识库问答也一样。选向量数据库之前,至少要弄清数据多久更新、用户能读哪些文档、删除和权限变更怎样生效,以及关键词检索能否解决主要问题。
可以按这个顺序推进。
text
确定数据与权限模型
↓
用真实问题建立检索基线
↓
按需增加向量检索
↓
根据质量、延迟和运维成本决定是否拆出独立系统
如果需要向量检索,pgvector支持在 PostgreSQL 中进行向量相似度搜索,也可以与全文搜索组合。对于希望减少独立系统的团队,这是一种值得实测的候选。
相似度只能回答内容是否相关。用户能不能读取这段内容,仍须由授权逻辑判断。检索结果、返回引用和原文访问都应遵守同一套权限规则。
AI 功能交付前,要补上评估、权限和成本控制
把软件测试与效果评估分开
接口、权限、状态迁移和工具执行适合软件测试。回答是否准确、检索是否找到依据、引用是否支持结论,则需要 AI 效果评估。
可以先收集一小组真实任务,覆盖正常问题、信息不足、无相关资料、越权请求、恶意输入,以及模型或外部工具失败。固定这些案例,才能在修改模型、提示词和检索策略以后比较结果。
Langfuse 的评估工具支持数据集和实验等流程。团队也可以从简单脚本开始,关键是案例、结果和判断依据能被保留,并反复运行。
工具权限由业务代码决定
模型读到的网页、文档和用户输入,都可能夹带影响其行为的指令。OWASP 的提示词注入防护指南建议结合最小权限、工具参数校验和高风险操作的人工审批等措施。
设计工具调用时,需要写清执行身份、允许的操作范围、参数约束,以及哪些动作必须确认。日志也应避免记录不必要的敏感内容。
例如,模型可以提出修改订单的建议。是否允许修改、允许修改哪些字段,应由业务代码检查。提示词里的限制可以作为补充,但不能代替授权。
用成功任务衡量成本
只比较单次模型调用价格,容易漏掉检索、工具执行、重试、基础设施和人工处理。更有用的口径,是统计一段时间的总成本,再除以符合验收标准的成功任务数。
一个便宜的模型如果需要反复重试,最终成本可能更高。项目应提前规定预算、超时、重试上限和降级策略;循环调用工具的任务还需要最大步骤数与明确的停止条件。
模型适配先做薄一点
模型配置、超时与重试、用量记录、错误分类和必要的供应商切换逻辑,可以集中放在一层适配代码里。这样业务代码不必到处处理供应商差异。
统一接口也有边界。模型之间的效果、工具调用行为和支持能力仍有差异,更换模型后需要重新跑评估。适配层先服务于已经出现的替换需求,不必为了未来所有可能性建设通用平台。
按项目类型缩小候选范围
下面的组合适合当作评估起点。团队已有的经验、运行环境与维护责任,都可能改变最终选择。
| 项目类型 | 建议起点 | 必须验证的部分 |
|---|---|---|
| 官网、博客、文档 | Astro 等内容站方案 | 内容发布、预览、搜索收录与资源管理 |
| 企业后台、内部工具 | React / Vue + TypeScript + Vite + 既有后端 | 统一组件、接口契约与权限测试 |
| 带生成能力的小型产品 | 应用框架 + 业务数据库 + 模型 SDK | 配额、生成状态、超时与降级 |
| 企业知识库、文档问答 | 现有 Web 栈 + 文档处理 + 按需检索 | 权限过滤、来源、更新与效果评估 |
| 多步骤任务代理 | Web 工作台 + 任务 API + Worker / 工作流 | 状态恢复、幂等、审批与审计 |
选出候选以后,用一个真实业务任务走完开发、测试、部署和维护交接。除了成功路径,还要主动触发一次失败、一次越权和一次中断恢复,记录质量、延迟、成本,以及需要人工处理的部分。
最后再试着替换一个模型或外部平台,看需要修改哪些地方。到了这一步,团队手里就有了能够支撑选型的证据。