构建 AI 聊天界面:为何比想象中更难?
在 CodeRabbit 最新的《The Merge》播客节目中,我们与 Assistant UI 的创始人兼 CTO Simon Farshid 进行了深入对话。Assistant UI 是一个面向 React 开发者的开源库,旨在简化 AI 聊天和代理界面的构建。这次交流不仅揭示了构建此类界面背后的隐形工作,更重新定义了人机协作的未来形态。
核心挑战:状态管理是真正的难点
Simon 直言不讳地指出:“构建聊天界面似乎很容易,但真正的难点在于状态管理(State Management)。”
一个看似简单的聊天框,在 AI 响应开始运行时便变得异常复杂:
- 流式渲染冲突:文本正在逐字流式输出,同时 Markdown 语法仍在后台渲染,两者需完美同步。
- 多模态交互:用户可能随时上传文件、编辑历史消息、中断运行或切换至语音模式。
- 上下文一致性:每一个操作都会改变屏幕显示内容,并影响底层的对话状态。
用户习惯了 ChatGPT 和 Claude 等成熟产品的流畅体验,他们期望嵌入式的 AI 代理能无缝响应,允许用户随时打断或纠正而不丢失上下文。Assistant UI 正是通过管理运行时状态和通用聊天行为,让团队能够专注于产品特有的交互逻辑。
该库起源于 Simon 的一个黑客松项目,因其在同类需求中的稀缺性而迅速走红。目前,Assistant UI 已集成在2000 多个开源 GitHub 仓库中,每月获得140 万次npm 下载,成为开发者构建 AI 应用的事实标准组件。
最后的 20%:品味与产品判断
当话题转向代码代理(Coding Agents)时,Simon 强调了 AI 完成工作后的关键阶段:“你可以通过 10% 的努力完成 80% 的工作,但所有的Alpha(超额收益)都藏在剩下的20%里。”
这 20% 并非技术难题,而是关于“品味(Taste)”的体现:
- 优雅的 API 设计:提供清晰、易用的接口。
- 直觉化的交互:解决重复性痛点,而非强加统一的设计。
- 实战验证:Simon 会在客户代码库中测试新模式,将表现稳健的解决方案纳入主库。
“精益向前”:人机协作的新范式
节目尾声,Simon 描述了他与 CodeRabbit 协同工作的独特循环,他称之为“精益向前”(Lean Forward)。
这一工作流的核心在于:
- AI 主导执行:AI 代理自动审查 CodeRabbit 发现的错误,并修复简单的发现,自动推送更新。
- 人类把关决策:对于 AI 置信度较低或复杂的发现,代理会生成摘要供 Simon 审阅。Simon 做出最终判断,决定如何修改。
- 自动化维护:他甚至运行夜间任务,自动检查并更新 Assistant UI 的文档文件。
Simon 强调,工程师必须深度参与这最后的 20%。在这个阶段,产品判断力、细致的审查以及对细节的关注,才是决定最终产品成败的关键。
“AI 可以用很少的努力将项目推进 80%,但工程师必须留在剩下的工作中,那里才是产品判断、仔细审查和关注细节发挥作用的地方。”
结语
Assistant UI 的成功证明了开源社区在解决通用技术难题上的力量,而 CodeRabbit 与 Simon 的合作模式则展示了 AI 如何从“自动化工具”进化为“协作伙伴”。未来的 AI 应用,将不再单纯追求自动化程度,而是致力于构建人类与机器优势互补的高效工作流。