对话式 REST:当你的聊天 UI 需要分页、过滤和排序时
一名用户向你的购物智能体询问“150 美元以下、足弓支撑良好的跑鞋”。智能体尽职地返回了 12 个选项,但它们表现为单个聊天气泡中一长串超出视口的子弹点文本。用户滚动屏幕,找不着看到哪了,然后输入“只显示 Asics”——此时,你的智能体重新运行了整个搜索,而不是过滤它已经拥有的结果集。三轮对话后,用户正在通过一次一个提示词来发明一种查询语言,而你的产品感觉就像一个披着聊天气泡外壳的命令行。
这是我不断看到团队在交付时陷入的失败模式。他们在用户实际上想要的分面搜索(faceted-search)产品之上构建了一个聊天产品。模型没问题。检索也没问题。问题出在 UI 上,它的形态不适合这项任务。
我能给出的最简短的结论是:聊天是一种输入模态,而不是输出模态。智能体的职责是将用户意图转化为结构化查询。一旦结果集超过三项,正确的做法是渲染 UI,而不是继续说话。
