AI Agent 的前端交互范式:流式输出与工具调用 UI
AI 应用有独特的交互需求:流式输出、工具调用可视化、过程透明与可干预。本文梳理 Agent 前端的设计范式。
AI Agent 不是普通的表单应用,它的交互范式与传统前端有本质差异。本文聊聊构建 Agent 前端时,那些绕不开的设计问题。
流式输出:体验的起点
大模型生成是逐 token 输出的。如果等全部生成完才显示,用户会等到焦虑。流式输出是 AI 前端的标配。
技术上用 SSE(Server-Sent Events)或 WebSocket 逐段推送:
const res = await fetch('/api/chat', { method: 'POST', body });
const reader = res.body.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) break;
appendText(decoder.decode(value)); // 逐段追加
}
配合打字机效果与「停止生成」按钮,体验才完整。
工具调用的可视化
Agent 执行任务时会调用工具(搜索、查数据库、执行代码)。把过程展示给用户是建立信任的关键:
- 展示「正在搜索…」「已检索 3 条结果」等中间状态;
- 用卡片、步骤列表呈现 Agent 的思考与行动轨迹;
- 允许用户介入或中止某一步。
过程透明与可干预
黑箱式的 Agent 让人不安。好的设计要:
- 显示 Agent 的「推理过程」或关键决策;
- 提供「重新生成」「撤销上一步」等控制;
- 对不确定的操作(如扣款、发送)请求用户确认。
状态管理的挑战
Agent 交互的状态远比表单复杂:多轮对话、任务队列、流式缓冲、工具调用状态。建议引入专门的状态模型,而非用简单的组件状态硬扛。
结语
AI 前端的设计原则可以概括为一句话:让不可见的过程变得可见、可理解、可干预。这不仅是技术问题,更是信任问题。