Compare · 横评对比
assistant-ui vs Vercel AI SDK:聊天界面、工具审批与后端分工怎么选?
AI SDK 提供模型、工具与流基础,assistant-ui 可在其上补齐聊天和人工交互界面。
| 维度 | assistant-ui | vercel-ai-sdk |
|---|---|---|
| 主要职责 | 聊天、工具 UI、人工交互与适配 | Core 调用/工具/流,UI hooks |
| 产品界面 | 可组合组件与 renderer | 基础 hooks,界面需选择或构建 |
| 工具运行 | 呈现状态与回应运行时交互 | 定义、执行、循环与服务端审批 |
| 会话历史 | 自建或可选 assistant-cloud | 应用设计或配合持久化服务 |
| 接入关系 | 提供 AI SDK 运行时适配 | 可作为 assistant-ui 的基础 |
| 成本 | 库、模型、运行与可选 Cloud 分开 | 开源包、模型、运行与可选服务分开 |
assistant-ui 与 Vercel AI SDK 经常解决同一应用里的不同问题。需要模型调用、工具循环和消息流基础能力,可以从 AI SDK 开始;已有这些能力、希望补齐聊天与工具交互界面,可以在上面加 assistant-ui。比较的重点是分工、版本和成本,而不是要求团队只能选其中一款。
核心差异速览
| 维度 | assistant-ui | Vercel AI SDK |
|---|---|---|
| 主要职责 | 消息、工具 UI、人工交互与运行时适配 | Core 模型调用、工具与流;UI hooks |
| 现成界面 | 可组合组件、renderer 与界面状态 | 提供基础 hooks,产品界面需选择或构建 |
| 工具执行 | 接收运行时状态并呈现/回应交互 | 工具定义、执行、循环与审批机制 |
| 生成式 UI | 工具组件、词表与不同渲染模式 | 工具/结构化输出与前端渲染基础 |
| 会话持久化 | 自建或可选 assistant-cloud | 在应用中设计存储,或配合其他服务 |
| 接入关系 | 有 AI SDK 适配器 | 可作为 assistant-ui 的后端/运行时基础 |
AI SDK 负责调用与流协议
AI SDK Core 提供模型、结构化输出和工具等基础能力,UI 部分提供聊天与流式状态 hooks。适合想自己掌握前后端调用、模型与工具配置的团队。工具 schema 可以限制参数形状,业务系统仍需验证身份、数据范围和允许操作;校验通过的 ID 也可能属于另一个租户。
接入 AI SDK 后还需要设计消息列表、输入、附件、工具卡片、拒绝与失败反馈。若团队已有完整设计系统,这部分可能自行完成;若要加快产品交互交付,可以评估 assistant-ui 或其他界面层。
assistant-ui 负责把运行状态变成用户能理解的界面
同一个工具调用可以经历参数流入、等待审批、批准后执行、成功或失败。assistant-ui 的 renderer 可以把这些状态呈现出来,而不是只显示一段最终文本。已知工具 UI 与模型从词表组装的 UI 是不同接入方式,先选择模式,再配置 schema 和 renderer。
当前 assistant-ui 的 AI SDK v7 文档使用 @assistant-ui/ai-sdk,并明确要求对应的 ai 与 React 适配包版本。旧版示例、工具审批参数和消息序列化方式可能不同;先固定一组兼容依赖,不要把 v4/v6 教程片段与 v7 适配器混用。升级时重测历史消息、工具恢复和审批行为。
人工确认与后端授权
AI SDK 的服务端审批门控需要前端回应,assistant-ui 可以通过 approval 状态与 respondToApproval 展示和提交决定。addResult、resume 与服务端审批回应分别对应不同流程,不能互相替换。前端出现绿色“已批准”只说明交互决定被记录,业务执行仍可能被权限、资源版本或错误拒绝。
正式后端应将批准绑定到具体工具调用、资源和参数版本,重新验证会话与租户,并做好幂等。测试用户拒绝、伪造批准、重复回应、打开旧历史、超时与取消,保证没有额外副作用。
成本与上线方式
assistant-ui 的 MIT 库和 AI SDK 开源包,与模型 API、网关、部署和历史存储分别核算。assistant-cloud 是可选服务,MAU 费用不包含全部模型推理。已有自己的服务和数据库时,先估算真实 token、运行环境和维护工时,再判断是否需要托管历史。
需要基础调用和自行设计界面,AI SDK 是合适起点;需要可组合聊天与工具交互,assistant-ui 可在它上面补齐。用同一模型、一个只读工具和一个模拟审批工具验收,分别测首条内容时间、错误可理解性、键盘/移动端操作和每个完成任务成本。
资料:AI SDK UI、AI SDK 工具调用、AI SDK 许可、assistant-ui AI SDK v7 适配、assistant-ui 工具 UI、assistant-ui 定价。
结论
需要调用与流协议基础,从 AI SDK 开始;需要可组合聊天与工具交互,可以在上面加入 assistant-ui。固定兼容依赖,并把 UI、审批和业务授权的责任分开验收。
常见问题
- assistant-ui 与 AI SDK 是直接替代关系吗?
- 通常解决不同层,也可以组合。AI SDK 提供调用和流基础,assistant-ui 重点提供聊天与工具交互。
- 当前教程使用什么适配路线?
- 本组按 assistant-ui 当前 AI SDK v7 文档编写;旧版本需使用对应指南并固定兼容依赖。
- addResult、resume、respondToApproval 可以互换吗?
- 不可以。它们分别服务于用户结果、等待用户的执行器恢复和服务端审批回应。
- 批准之后就一定执行成功吗?
- 不是。批准只记录交互决定,服务端还可能因权限、参数版本、状态或执行错误拒绝。
- 使用开源库是否意味着整个应用免费?
- 模型 API、部署、数据库、网关和托管历史等费用要分别核算。
- 升级适配器应重测什么?
- 消息 parts、工具审批、序列化、取消、历史恢复、重复回应与业务幂等。