好网站建设因素网站搭建的意义
2026/1/27 20:51:54 网站建设 项目流程
好网站建设因素,网站搭建的意义,除了红动中国还有哪些设计网站,百度热榜排行Google 最近开源了一个叫 A2UI 的项目#xff0c;解决了一个很实际的问题#xff1a;AI 智能体如何安全地生成丰富的用户界面#xff1f;简单说#xff0c;以前智能体只能返回文本#xff0c;用户得一来一回地聊天才能完成任务。现在有了 A2UI#xff0c;智能体可以直接生…Google 最近开源了一个叫 A2UI 的项目解决了一个很实际的问题AI 智能体如何安全地生成丰富的用户界面简单说以前智能体只能返回文本用户得一来一回地聊天才能完成任务。现在有了 A2UI智能体可以直接生成表单、按钮、日期选择器这些交互组件用户点几下就搞定。从固定界面到动态生成的转变传统的智能体交互基本就是文字聊天——用户问AI 答来回好几轮才能完成一个简单任务。比如订餐用户我想订个桌子AI什么时间用户明天晚上AI几点用户7点AI几个人...而且很多应用还在用固定的界面设计不管用户需求如何变化界面都是一成不变的。这种一刀切的做法越来越跟不上用户的个性化需求。真正的趋势是 AI 根据具体场景动态生成交互界面。现在的 AI 能力已经远超简单的问答它们能理解复杂的业务逻辑处理多步骤的工作流甚至协调多个子任务。但如果还局限在文本交互上就像让一个建筑师只能用语言描述设计图而不能画出来给你看。场景驱动的界面生成正在成为刚需个性化体验根据用户历史行为、偏好设置动态调整界面元素上下文感知同一个功能在不同场景下展现不同的界面复杂度任务导向界面结构完全服务于当前任务去掉无关元素实时适配随着对话进展界面可以动态增减字段和选项同样是订餐如果用户说给我家老人订个桌子AI 可能会生成一个更简化的表单突出无障碍选项如果是商务聚餐可能会增加预算范围、菜系偏好等字段。在此之前已经有过一些业内已经有一些尝试让AI能够自动的生成UI。A2UI 正是加速这一趋势的关键协议。它让智能体能够看图说话可以根据对话上下文、用户偏好、任务复杂度实时生成最合适的交互界面。核心思路A2UI 的协议设计考虑很周到。它不是让智能体直接生成 HTML 或 JavaScript 代码那样会有安全风险而是生成一种声明式的 JSON 格式描述界面应该长什么样。客户端收到后用自己的原生组件来渲染。比如智能体想生成一个订餐表单它会发送这样的消息{ surfaceUpdate: { surfaceId: booking, components: [ {id: title, component: {Text: {text: {literalString: 预订餐桌}, usageHint: h1}}}, {id: datetime, component: {DateTimeInput: {value: {path: /booking/date}, enableDate: true}}}, {id: submit-btn, component: {Button: {action: {name: confirm_booking}}}} ] }}客户端看到这个消息就用自己的 Angular、Flutter 或 React 组件来渲染对应的标题、日期选择器和按钮。同时它采用了一种对 LLM 很友好的邻接表模型来描述界面结构智能体可以增量式地构建界面不需要一次性生成完美的 JSON。目前支持 WebLit、Angular和 Flutter 渲染器计划加入 React、SwiftUI、Jetpack Compose 等更多平台。传输层兼容 A2A 协议、AG-UI 等。三个关键优势安全性智能体只能请求客户端预先定义好的组件类型不能执行任意代码。这避免了传统方案中 iframe 嵌入第三方代码的安全隐患。原生体验生成的界面完全融入应用的设计系统不像 iframe 那样显得突兀。用户看不出这是智能体生成的还是开发者写的。跨平台兼容同一个 JSON 消息可以在 Web、移动端、桌面端渲染因为每个平台用自己的原生组件实现。为什么现在需要动态界面现在的 AI 能力已经远超简单的问答。它们能理解复杂的业务逻辑处理多步骤的工作流甚至协调多个子任务。但如果还局限在文本交互上就像让一个建筑师只能用语言描述设计图而不能画出来给你看。场景驱动的界面生成正在成为刚需个性化体验根据用户历史行为、偏好设置动态调整界面元素上下文感知同一个功能在不同场景下展现不同的界面复杂度任务导向界面结构完全服务于当前任务去掉无关元素实时适配随着对话进展界面可以动态增减字段和选项这种变化不是技术炫技而是用户体验的自然演进。就像从命令行到图形界面从静态网页到动态应用智能体界面也在从固定模式向生成式模式转变。智能体 UI 生态中的定位智能体 UI 这个领域发展很快各种工具都在解决不同层面的问题。A2UI 不是要替代现有框架而是专门解决跨平台、可互操作的生成式 UI 响应这个特定问题。与 MCP Apps 的差异MCP (Model Context Protocol)最近推出了 MCP Apps把 UI 当作一种资源来处理。智能体可以返回一个ui://URI客户端获取后在沙盒 iframe 中渲染预构建的 HTML 内容。A2UI 的不同A2UI 采用原生优先的方法。不是获取一个不透明的 HTML 包来显示而是发送原生组件的蓝图。这让 UI 能够完美继承宿主应用的样式和无障碍功能。在多智能体系统中编排智能体可以轻松理解子智能体发送的轻量级 A2UI 消息内容实现更流畅的智能体间协作。简单说MCP Apps智能体发送完整的 HTML 页面客户端在 iframe 中显示A2UI智能体发送组件描述客户端用自己的原生组件渲染与 AG-UI 的关系AG-UI是智能体与用户交互的协议处理状态同步、聊天历史、输入处理等管道工作。A2UI 可以很好的与AG-UI协同如果你用 AG-UI 构建宿主应用它可以使用 A2UI 作为数据格式来渲染来自宿主智能体和第三方智能体的响应。这给你两全其美的效果一个丰富、有状态的宿主应用同时能安全渲染来自它不控制的外部智能体的内容。智能体 UI 生态正在快速发展不同的协议和框架各有专长MCP 处理工具和数据连接AG-UI 处理智能体交互A2UI 专注于跨平台的原生 UI 渲染。它们不是竞争关系而是互补的共同构建了一个完整的智能体应用开发栈。实际开发体验从 CopilotKit 团队提供的技术教程来看A2UI 的开发体验相当友好。让我们通过一个完整的餐厅查找智能体例子来看看具体怎么用。快速开始首先克隆启动模板git clone https://github.com/copilotkit/with-a2a-a2ui.gitecho GEMINI_API_KEYyour_api_key_here .envpnpm installpnpm dev后端定义 A2UI 组件智能体需要在提示中包含 A2UI 的 JSON Schema 和组件模板。比如餐厅列表的模板RESTAURANT_UI_EXAMPLES { surfaceUpdate: { surfaceId: default, components: [ {id: root-column, component: {Column: {children: {explicitList: [title-heading, item-list]}}}}, {id: title-heading, component: {Text: {usageHint: h1, text: {literalString: Top Restaurants}}}}, {id: item-list, component: {List: {direction: vertical, children: {template: {componentId: item-card-template, dataBinding: /items}}}}}, {id: item-card-template, component: {Card: {child: card-layout}}}, {id: template-book-button, component: {Button: {child: book-now-text, primary: true, action: {name: book_restaurant, context: [{key: restaurantName, value: {path: name}}]}}}} ] }}def get_ui_prompt(base_url: str, examples: str) - str: return f You are a helpful restaurant finding assistant. Your final output MUST be a A2UI UI JSON response. To generate the response, you MUST follow these rules: 1. Your response MUST be in two parts, separated by the delimiter: ---a2ui_JSON---. 2. The first part is your conversational text response. 3. The second part is a single, raw JSON object that is a list of A2UI messages. {examples} 智能体配置配置智能体处理 A2UI 响应和用户交互class RestaurantAgent: def __init__(self, base_url: str, use_ui: bool False): self.base_url base_url self.use_ui use_ui self._agent self._build_agent(use_ui) def _build_agent(self, use_ui: bool) - LlmAgent: if use_ui: instruction AGENT_INSTRUCTION get_ui_prompt(self.base_url, RESTAURANT_UI_EXAMPLES) else: instruction get_text_prompt() return LlmAgent( modelLiteLlm(modelgemini/gemini-2.5-flash), namerestaurant_agent, descriptionAn agent that finds restaurants and helps book tables., instructioninstruction, tools[get_restaurants], )处理用户交互当用户点击按钮时A2UI 会自动将 UI 事件转换为智能体能理解的查询# 在 AgentExecutor 中处理 UI 事件if ui_event_part: action ui_event_part.get(actionName) ctx ui_event_part.get(context, {}) if action book_restaurant: restaurant_name ctx.get(restaurantName, Unknown Restaurant) address ctx.get(address, Address not provided) # 转换为智能体理解的查询 query fUSER_WANTS_TO_BOOK: {restaurant_name}, Address: {address} elif action submit_booking: # 处理预订表单提交 restaurant_name ctx.get(restaurantName, Unknown Restaurant) party_size ctx.get(partySize, Unknown Size) reservation_time ctx.get(reservationTime, Unknown Time) query fUser submitted a booking for {restaurant_name} for {party_size} people at {reservation_time}前端集成渲染器前端集成非常简单使用 CopilotKit 的 A2UI 渲染器// 创建 A2UI 消息渲染器import { createA2UIMessageRenderer } from copilotkitnext/a2ui-renderer;const A2UIMessageRenderer createA2UIMessageRenderer({ theme });// 配置 CopilotKit 提供者CopilotKitProvider runtimeUrl/api/copilotkit renderActivityMessages{[A2UIMessageRenderer]} CopilotChat style{{ flex: 1, minHeight: 100% }} //CopilotKitProviderAPI 路由配置连接前后端的 API 路由import { CopilotRuntime, createCopilotEndpoint, InMemoryAgentRunner } fromcopilotkitnext/runtime;import { A2AAgent } fromag-ui/a2a;import { A2AClient } froma2a-js/sdk/client;// 创建 A2A 客户端连接到智能体服务器const a2aClient new A2AClient(http://localhost:10002);const agent new A2AAgent({ a2aClient, debug: true });// 创建 CopilotKit 运行时const runtime new CopilotRuntime({agents: { default: agent },runner: new InMemoryAgentRunner(),});// 创建 HTTP 端点const app createCopilotEndpoint({ runtime,basePath: /api/copilotkit,});exportconst GET handle(app);exportconst POST handle(app);使用 A2UI ComposerGoogle 还提供了一个在线工具 A2UI Composer让你可以用自然语言描述想要的界面自动生成对应的 A2UI JSON 规范访问 https://a2ui-editor.ag-ui.com/描述你想要的组件比如创建一个餐厅卡片包含图片、名称、评分和预订按钮点击创建系统会生成完整的 A2UI JSON复制生成的 JSON 到你的智能体提示中这大大降低了学习和使用门槛。运行效果运行后用户问找一些纽约的中餐厅智能体会调用get_restaurants工具获取数据根据餐厅数量选择合适的模板≤5个用单列5个用双列生成包含餐厅卡片、图片、评分、预订按钮的界面用户点击Book Now按钮时自动跳转到预订表单提交预订后显示确认界面整个过程中界面都是智能体根据上下文动态生成的不是预先写好的静态页面。以下是一个来自Yasin Ertan更复杂的例子。应用现状A2UI 已经在 Google 内部大规模使用。Google Opal让数十万人用自然语言构建 AI 小程序Gemini Enterprise用它为企业生成定制界面。Flutter GenUI SDK和CopilotKit也都集成了 A2UI 支持。使用方式很灵活前端开发者可以集成渲染器支持 Angular、FlutterReact 即将推出智能体开发者可以用 Python 或 Node.js 框架生成 A2UI 响应平台构建者可以通过现有框架快速接入。典型场景包括动态表单生成、专业工具界面和数据可视化。比如景观设计师智能体根据用户上传的照片生成定制化的设计需求表单。小结图文聊天已经成了AI与人类交流的范式而A2UI将颠覆交互体验面向不同场景不同人产生不同的交互形式将个性化体验再往前推进一步。我们正在从适应机器的交互方式转向机器适应人的交互需求。以前是用户学习如何使用固定的界面现在是界面学习如何适应用户的场景。A2UI 提供了一个标准化的方案让智能体能够说 UI同时保持安全性和原生体验。从 Google 内部的大规模应用到合作伙伴的积极集成都说明这个协议正在成为智能体 UI 领域的重要标准。如何学习AI大模型我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。1.AI大模型学习路线图2.100套AI大模型商业化落地方案3.100集大模型视频教程4.200本大模型PDF书籍5.LLM面试题合集6.AI产品经理资源合集获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询