当每个软件都在右下角塞进AI聊天框时,用户却发现文字回复解决不了实际问题Tambo 1.0的发布揭示了一个新方向:让AI直接渲染可交互的UI组件而非文字从座位图到数据图表,generative UI正在重新定义人机交互的范式。
你有没有发现,现在几乎每个软件都在疯狂添加AI聊天功能?打开任何一个产品,右下角必然有个闪烁的聊天图标你点进去,问一个问题,AI给你回复一大段文字然后呢?你还是得自己回到界面上,点击那些按钮,填写那些表单,完成你想做的事。
这个所谓的AI助手,只是把用户手册用自然语言复述了一遍而已我最近一直在思考一个问题:为什么我们要把AI困在一个聊天框里?人类使用软件的方式从来不是只靠文字描述我们需要看到图表、操作表格、填写表单、拖拽组件。
当我问”上个月的销售数据怎么样”时,我真正想要的不是一段文字告诉我”销售额增长了15%”,我想要的是一个可交互的图表,让我能立刻看到趋势、筛选区域、对比不同产品线文字描述永远无法替代真实的UI交互这就是为什么当我看到Tambo 1.0发布时,我意识到软件界面正在经历一场根本性的范式转变。
这不是又一个AI聊天机器人工具,而是一个让AI能够真正操控和渲染UI组件的框架它的创始人Michael Milstead和Michael Magan在一次黑客松上相遇后,就开始痴迷于一个想法:我们使用的应用应该适应我们想要做的事情,而不是强迫我们学习它们的结构。
这听起来很理想化,但他们真的做出来了传统AI界面的根本缺陷我想先聊聊为什么当前这波AI聊天界面的热潮本质上是有缺陷的过去两三年,我用过无数个号称”AI赋能”的产品它们的模式都一样:在原有产品上硬塞一个聊天窗口,接入GPT或Claude,然后就宣称自己是AI原生应用了。
但用户的反应如何?他们试用一次就再也不回来了问题的核心在于,文字不是人们使用应用的方式想象一下你在订机票传统AI会告诉你”23E座位可用”但这个信息对你来说毫无意义这是靠窗还是过道?是中间座位吗?附近有没有空行?离厕所近不近?你脑海中浮现出一堆问题,然后还得继续问AI,或者干脆放弃,自己去点开座位图查看。
但如果AI直接给你渲染一个座位图呢?你瞬间就能看到23E的位置,周围座位的占用情况,甚至可以直接在这个座位图上点选你想要的座位这就是UI的力量一张图胜过千言万语,一个可交互的组件更是胜过无数轮对话从Indeed的雇主分析工具,到Convoy的卡车司机搜索产品,再到各种开发者工具。
每一家公司都面临同样的核心问题,而且我们用同样的老办法解决了30年那就是功能发现的问题:如何在正确的时间把正确的功能展示给正确的用户?我们在会议室里花费了无数小时讨论导航栏、菜单结构、哪个功能应该放在哪里。
我们永远都做不对因为根本就没有一个完美的静态结构能满足所有用户另一个长期困扰产品团队的问题是用户层次的悖论你想让界面简单到新手能立刻上手,但同时又要满足高级用户对复杂功能的需求大多数现代应用只能在这两个极端中选一个。
要么做一个功能简陋但易用的入门版,要么做一个功能强大但需要大量培训的专业版这种权衡是痛苦的,而且往往意味着你会失去一半的潜在用户我们怎么解决这些问题的?写文档做培训录视频教程安排专人讲解产品使用方法这些方法能用,但效率极低,成本极高。
更关键的是,它们把学习成本完全转嫁给了用户我们本质上是在说:”这是我们的产品,你们自己花时间学吧”Generative UI的真正含义当人们谈论”generative UI”时,往往在说不同的东西有人认为是让LLM实时生成前端代码。
有人认为是动态生成HTML这两种方法都有它们的应用场景,但对于大多数实际应用来说,有一条更好、更可靠的路径
我理解的generative UI,是一种能够根据用户上下文实时适应的界面这个上下文包括用户的自然语言输入、他们过去的交互历史、系统数据等等不再是一个固定的、所有人都必须学习的体验,而是软件学会了适应每个用户在当下时刻的需求。
这里有个很关键的类比AI代码生成就像每次都从零开始制造塑料零件你需要设计模具、加热材料、等待固化每一次都这样而使用预定义组件就像乐高积木工程师们把积木块设计好、测试好,确保它们可靠耐用,随时可以拼接AI只是把它们组装成用户需要的样子。
我们不会期望AI为每个操作都生成代码,对吧?我们给它们工具,比如MCP协议,来帮助执行任务同样的逻辑也适用于UI当你已经有了设计精良的组件时,为什么还要让AI从零开始生成UI代码?那样做不仅慢,而且容易出错,可能漏掉HTML标签,可能产生不一致的样式,可能引入安全漏洞。
Tambo采用的就是这种组件模型你构建带有类型化props和schemas的UI组件比如一个折线图、一个航班选择器、一个预填充的表单AI的工作是选择使用哪些组件以及如何配置它们LLM填充图表数据、选择可用的航班、为具体情况设置最佳的表单默认值。
用户得到的是个性化的界面,但不需要定制代码这种方法带来了巨大的优势你获得了用户想要的灵活性,但没有实时生成代码的风险你的组件是经过测试的、可靠的它们遵循你的设计系统它们有适当的错误处理它们经过了性能优化。
这些都是从头生成UI代码无法保证的Tambo如何解决这个难题Tambo的核心创新在于它找到了一条让现有应用快速获得generative UI能力的路径这点非常关键,因为没有公司会为了试验一个新概念而重写整个应用。
Tambo让你能用现有的React组件,通过简单的注册过程,就能让AI agent理解和使用它们
工作原理其实很直观你注册现有的React组件到Tambo当用户发出请求时,agent选择合适的组件,流式传输props数据,然后渲染出来用户说”显示我最近的订单”,他们得到的是你真实的OrderTable组件,已经正确筛选过的,而不是一堆Markdown格式的文字。
但Tambo不只是一个客户端SDK它是一个托管后端,处理对话线程、agent执行、认证和状态管理你不需要自己搭建agent框架或运行agent基础设施Agent已经包含在内了把它放进你的React应用,就可以发布了。
这里有个很多人想不到的复杂性:状态管理假设你的组件有状态,比如一个筛选器、一个表单值、一个开关Agent渲染了这个组件,然后用户修改了它Agent知道新的值吗?当用户重新加载对话线程时,这个值会怎样?Agent也能更新它吗?如果对话中有三个相同组件的实例怎么办?Agent能更新所有的,还是只能更新最新的?你如何通过一个在React组件中感觉自然的接口暴露所有这些?。
再想想流式渲染的问题Agent选择了一个组件并开始生成props它们不是一次性到达的你需要在props还不完整的情况下渲染出有意义的东西,避免界面闪烁,还要处理流式传输中途出错的情况这些听起来简单,但合在一起就变得非常复杂。
所有这些问题都必须解决,AI应用才能真正可用
更麻烦的是技术生态在不断变化你想支持MCP,现在你需要实现elicitation、sampling、tool discovery每个新协议都意味着在回到实际产品开发之前,你要先做大量基础工作这些细节看似琐碎,实际上会困住团队好几个月,有些团队甚至永远无法投入生产。
Tambo把这些都处理好了他们在代码库中解决了这些边缘情况他们支持MCP的完整功能集,不只是工具调用,还包括resources、prompts、elicitations如果你熟悉MCP,你会知道这意味着什么。
对于开发者来说,这意味着你可以专注于构建真正独特的功能,而不是重新发明轮子
看看早期用户的反馈Solink的高级全栈工程师Jean-Philippe Bergeron说:”Tambo简直太容易上手了,这就是你如何在几分钟内从前端到后端搭建一个完整聊天机器人的方法我周五把它接入UI,周一就演示给团队看了。
”这种速度是革命性的从想法到可演示的原型,只需要一个周末为什么现在是关键时刻我观察到一个有趣的现象Tambo的GitHub仓库已经有8000多个starZapier、Rocket Money、Solink这些公司都在用Tambo构建generative UI。
已经有超过50万条用户消息被处理这种关注度不是偶然的整个行业正在趋同于一个共识:AI agent应该渲染真实的UI,而不是文字新的规范每周都在出现Anthropic的MCP Apps、Google的A2UI、Vercel的json-render。
但规范不等于实现开发者在构建这些体验时不断得出同样的结论:他们需要一个可以直接放进应用的工具包Tambo就是为此而生
我认为我们正处在一个技术拐点过去两年,大家都在玩AI聊天界面每个公司都想证明自己”有AI能力”但现在用户已经不买账了他们试过了,发现聊天框解决不了实际问题他们需要的是能真正帮他们完成任务的工具,而不是另一个会说话的机器人。
Generative UI代表了下一个阶段它解决了聊天界面的根本缺陷:缺乏可视化、缺乏交互性、缺乏上下文当软件能够根据你的需求动态组装界面时,学习曲线急剧下降,生产力大幅提升新手用户能立刻开始做事,高级用户保留了全部控制权。
让我用一个具体例子来说明传统的电子表格要求用户预先学习公式、单元格引用、图表配置学习曲线陡峭,很多人永远学不会但有了generative UI,用户从自然语言开始用户说”计算这些数据的复合年增长率”AI自动选择相关单元格、应用公式、格式化结果、创建可视化。
复杂性仍然存在,但它是渐进式揭示的,只在需要时才出现新手立刻开始使用,专家仍然拥有完全控制权
我看过Tambo团队在会议上的演示他们展示了一个基于Strudel(一种音乐编程语言)构建的应用开发者在入职第一周就做出来了Strudel本身是一个强大但复杂的工具,需要理解音乐理论和编程概念但通过generative UI,完全不懂音乐的人可以说”给我生成一段欢快的节奏”,然后立刻得到可播放、可修改的音乐代码。
用户可以继续通过自然语言调整,也可以直接编辑代码参数两种方式无缝结合这种交互模式打破了”简单易用”与”功能强大”之间的传统权衡界面可以既强大又易用,因为复杂性是按需显示的用户不需要事先知道所有功能在哪里,他们只需要表达想做什么,界面就会适应他们的需求。
这意味着什么如果generative UI真的成为主流,软件开发会发生什么变化?我认为这不是一个小调整,而是整个范式的转变开发者的工作重心会改变过去我们花大量时间设计完美的导航结构、优化信息架构、做用户测试来确保界面直观。
这些工作不会完全消失,但重要性会大大降低相反,我们会更多关注组件设计和API设计你的组件需要足够灵活,能够应对各种可能的使用场景你的API需要清晰明确,让AI能够理解何时调用以及如何调用
有个来自Spendflo的CTO的评论很能说明问题他说:”Adopt从根本上改变了我们思考产品构建的方式它让我们更快进入市场,完全控制AI行为,在不需要重建任何东西的情况下实现了产品功能的全面覆盖它完全适配我们现有的基础设施,规范了我们设计API的方式,让我们能专注于核心产品开发,而让工具处理AI的繁重工作。
”注意”规范了API设计”这个表述Generative UI迫使你更认真地思考你的数据模型和接口设计产品设计的思路也会转变不再是设计屏幕流程和点击路径,而是设计可能的用户意图和相应的响应设计师需要思考:用户可能如何描述他们想做的事?在不同上下文下,什么是最合适的UI响应?这个组件应该暴露哪些配置选项给AI?。
对企业来说,这解决了一个长期困扰他们的问题:软件投资回报率企业花费数百万购买复杂的SaaS产品,但员工只用了其中一小部分功能不是因为其他功能不好,而是因为没人知道它们的存在,或者觉得学习成本太高Generative UI让所有功能都变得可访问。
用户不需要知道功能藏在哪个菜单的第三级子项里,他们只需要描述想做什么,软件就会调用相应功能
这也改变了软件培训的经济学传统上,企业需要投入大量资源培训员工使用复杂软件培训师、文档、视频教程、在线课程这些成本加起来非常可观但如果软件能够理解自然语言并自动组装所需界面,培训需求会大幅下降新员工的上手时间从几周压缩到几小时甚至几分钟。
我还注意到一个更深层的变化:软件使用的民主化现在,很多强大的工具只有技术人员才能充分利用数据分析工具、开发工具、设计工具,都需要专业知识但generative UI降低了这个门槛一个销售人员不需要学习SQL就能查询数据库。
一个市场人员不需要懂代码就能定制报表技术不再是使用强大工具的前提条件实践中的挑战当然,任何新技术都不是完美的我在思考generative UI的未来时,也看到了一些需要解决的挑战可靠性是最大的问题之一当AI选择组件和填充props时,它可能会犯错。
选错组件、填错数据、误解用户意图在关键业务场景中,这种错误的代价可能很高这就是为什么Tambo强调给开发者完全的控制权你可以精细调整agent的行为、在沙盒环境中测试、设置验证规则但归根结底,LLM的非确定性意味着你永远无法保证100%正确。
状态同步是另一个复杂问题当用户通过自然语言和直接UI操作混合交互时,保持所有状态同步变得非常困难用户让AI渲染了一个表单,然后手动修改了某些字段,又通过对话要求更新其他字段整个系统需要追踪所有这些变化,确保UI状态、对话上下文和后端数据都保持一致。
Tambo的useTempoState就是为了解决这个问题,但这仍然是个需要仔细处理的领域性能也是考虑因素实时生成和渲染UI组件比简单返回文本要慢虽然Tambo使用流式传输来缓解这个问题,让组件在props完全到达之前就开始渲染,但仍然会有延迟。
用户会接受这个延迟吗?特别是当他们习惯了即时响应的传统UI时还有学习曲线的问题虽然generative UI的目标是降低软件使用的学习曲线,但用户仍然需要学习如何有效地与AI交流什么样的请求会得到好的结果?如何描述复杂的需求?如何利用上下文让AI做出更好的判断?这是一种新的技能,需要时间培养。
隐私和安全也需要仔细考虑当AI能够访问和操作用户数据时,必须有严格的权限控制哪些数据可以被AI读取?哪些操作可以被AI执行?如何防止AI被诱导执行不安全的操作?Tambo提供了工具和MCP协议的集成来处理这些问题,但最终还是需要开发者做出明智的决策。
开源的力量Tambo选择完全开源是一个重要决定整个代码库在GitHub上可见,你可以fork、修改、自己托管这不仅仅是一个营销策略,它反映了构建这类基础技术的正确方式开源意味着透明开发者可以看到agent是如何工作的,组件是如何被选择的,状态是如何管理的。
这种透明度对于建立信任至关重要,特别是在处理敏感数据或关键业务逻辑时你不是在盲目信任一个黑盒,你可以审查代码,理解机制,甚至根据需要进行修改开源也加速了创新已经有8000多名开发者给仓库点了star这些开发者会发现bug、提出改进建议、贡献新功能。
社区的智慧远超过任何一个公司的工程团队Tambo的创始人在演讲中明确表示:”我们在公开环境中构建,因为这个社区让产品更好”更重要的是,开源让Tambo成为了一个平台而不只是一个产品开发者可以基于它构建自己的工具、创建新的组件库、开发特定行业的解决方案。
这种生态系统效应是闭源产品很难实现的同时,Tambo也提供托管服务你可以选择自己托管,完全控制基础设施,或者使用他们的云环境,获得开箱即用的体验这种混合模式给了用户最大的灵活性初创公司可以快速启动,不用担心基础设施。
大企业可以自己托管,满足合规要求现在Tambo 1.0已经通过了SOC 2和HIPAA认证,这意味着它可以用于受监管的行业我的展望我相信generative UI不是一个短暂的趋势,而是软件界面发展的下一个重要阶段。
就像图形用户界面取代了命令行、触摸界面重新定义了移动体验,generative UI将重新定义我们与复杂软件交互的方式未来五年内,我预计会看到越来越多的企业软件采用这种模式不是作为附加功能,而是作为核心交互方式。
那些早期采用的公司会获得显著的竞争优势:更高的用户采用率、更低的培训成本、更好的用户满意度我也预计会看到新的设计模式和最佳实践的出现现在我们还在探索阶段,每个团队都在摸索什么方法有效但随着更多公司采用generative UI,行业会逐渐形成共识。
哪些类型的组件最适合AI操控?如何设计清晰的props schema?怎样平衡灵活性和约束?这些问题的答案会逐渐清晰Tambo在这个过程中处于独特的位置作为开源项目,它能够吸收整个社区的智慧作为已经被实际公司使用的产品,它经过了真实场景的检验。
作为一个专注于React生态的工具,它能够深度整合现有的开发工作流但我认为最重要的是,Tambo代表了一种思维方式的转变不再是”我们怎么让用户学会使用我们的软件”,而是”我们怎么让软件学会理解用户的需求”。
这种转变看似微妙,实则深刻它改变了我们设计、开发和思考软件的整个方式软件不应该是用户必须征服的工具,而应该是理解用户意图并帮助他们实现目标的合作伙伴点击界面的时代建立在一个假设上:用户应该学习软件的语言。
Generative UI建立在一个新的假设上:软件应该学习用户的语言这不只是技术的进步,更是哲学的转变当我看到一个完全不懂音乐的人能够通过Tambo驱动的Strudel应用在几分钟内创作出音乐,当我看到销售人员能够用自然语言查询复杂的数据分析,当我看到新员工能够在第一天就使用企业软件的高级功能,我知道这不是科幻小说,而是正在发生的现实。
界面正在从我们需要学习的东西,转变为能够学习我们的东西题图来自作者提供
