如果做 AI 聊天页面,需要考虑什么

先理解原理和示例,再练习完整口述与追问。

按 JD 选学:流式响应消费、停止与取消、增量解析、状态机、消息顺序、断线和重试、历史记录、长列表、Markdown 安全渲染。传输分块不一定等于一条完整消息;前端取消连接也不必然终止服务端任务。

不做 AI 产品的岗位可后置,不必为了面试先背完整模型理论。

知识库问答包含权限检索、生成、流式展示、引用、会话持久化和失败恢复多个系统。先定义目标用户、资料范围、更新频率、延迟与预算;再把前端会话状态机与服务端检索生成链路分开,明确每个事件和数据归属。可信来源与权限校验不是可选的展示功能。

一条完整链路:验证登录 → 校验会话权限 → 创建消息与 generationId → 检索授权资料并重排 → 发送引用与增量事件 → 前端按协议解码分帧 → 更新对应消息 → 完成后保存最终状态。中途失败保留已显示文本并标未完成;停止向上游传播取消;重新生成创建新版本,不能把两次回答拼接。

验收覆盖空检索、权限变化、半截 UTF-8、断网重连、重复事件、恶意 Markdown、长会话和并发会话。关键指标包括引用支撑率、首事件延迟、完整完成率和预算,而不只看打字是否流畅。

聊天页面需要管理会话、消息和每次请求的独立标识,区分等待、生成中、完成、失败和停止。流式数据按协议增量解码和组装,不把网络块当完整消息;前端停止时取消连接并隔离旧回调,服务端取消需协议支持。Markdown 按不可信内容处理,长记录分页或虚拟化,自动滚动尊重用户阅读。密钥和真实权限在服务端,前端通过受控接口访问,并有错误、重试与额度反馈。