责编 | Carol
出品 | CSDN(ID:CSDNnews)
内容编辑应该都有做网站专题的经历,通过给定网站模板套用来搭建页面。这样确实方便,但问题是对于千变万化的内容,并非几套,或者数十上百套模板就能够尽情呈现精华,更不用说在找模板匹配内容上花费的大量时间。
还有一种方法,是直接在“代码丛林”中找到合适的代码,用HTML构建页面框架结构,可以自行调整内容的布局、字体、颜色等外观属性。然而,编辑毕竟不是程序员,稍有不慎便迷失在大量代码中,搞出一推Bug还得前端来查找修改,反而浪费了更多时间。
事实上,内容专业不懂技术,技术专业不了解内容——是不分产业领域和工作职能,所有公司都头痛的问题。解决方法无非让内容人会写代码,或者让技术人做出“傻瓜式”呈现工具,前者不切实际,而后者却是大模型时代下AI能够为产业带来的最大变革所在。
然而,GPT能够实现的便捷化“威力”有目共睹,但当它实际落地,又会以什么形式呈现?对此,微软首席产品经理主管许建志认为,是如何运用AIGC的方法,通过自然语言直接生成网站:
“去年微软总部给到我们建议,让根据内容自动提供SharePoint网站主题的设计, 在大致了解市场格局之后我们发现,已经有很多Web厂商在着力开发这块儿。为了避免做“Me too”的产品苦苦追赶,我就突发奇想,如果把高度拉高,直接做网站的生成,就可以呈现完整的,包含内容、图片、设计、排版的页面,甚至可以设定网站内容的层次结构,更加贴近用户需求,从而直接使用。”
就这样,text-to-site应运而生。
访谈嘉宾
许建志,微软首席产品经理主管
负责OneDrive与SharePoint用户体验产品经理团队。在微软的职业生涯超过20年,工作经历涵盖众多产品部门,包括开发工具、Windows以及Azure。目前在生产力部门工作,引领和改善用户在微软生产力工具中的体验。
从ASP写脚本到text-to-site
想法固然重要,但罗马不是一日建成的。
目前的AIGC除了语义生成,还包括图片(text-to-image)和视频(text-to-video)内容的生成,但还缺少网站(text-to-site)直接生成的能力,这也是微软在近日宣布将AI助理Copilot加入到SharePoint的重要原因。
在没有Copilot之前,SharePoint主要通过企业应用程序的集成来实现网站开发,而当“Copilot in SharePoint”之后,通过使用生成式AI自动产生内容与设计元素,no write,甚至no design指日可待。
对于这一趋势,许建志感慨到:“这是SharePoint发展史中又一次改变游戏规则的变化。”
记得二十多年前,许建志写的第一本书是教授开发者如何开发网站,那个时候主要使用ASP写脚本。2001年,SharePoint正式推出,从需要写代码,到利用图形界面(GUI)来点选需要的页面与组件,后来又历经了no operate,实现了云端的SharePoint Online。
据许建志介绍,从第一代版本一路走来,SharePoint一直延续着no code的理念:“这次通过使用生成式AI,接受自然语言提示(prompt)会慢慢取代传统的GUI,可以更大幅度降低技术的应用门槛,只需要口头描述需求,连我五岁的女儿都可以在弹指之间直接创建网站。”
ASP写脚本到text-to-site,除了no code贯穿其中,no operate、no write,以及no design,都成为终极能力实现背后的理念助推力。而在这些理念的背后,又是技术的点滴突破为产品迭代不断赋予了创造性。
“GPT就是技术不断突破下的集大成者,微软现在有不少产品都整合了GPT的能力。当在给text-to-site进行产品命名时,考虑到将GPT能力在SharePoint上最大化呈现,我们使用了‘Copilot in SharePoint’。而如果是叫‘SharePoint Copilot’,只是将单独的产品加上了GPT的能力,但我们希望的是通过Microsoft 365 Copilot来主导整个生产力相关产品的AI体验,从底层把数据和能力打通。”
自然语言提示、落地数据、复杂提示
截至目前,Copilot in SharePoint可以实现的功能包括:自然语言提示(Natural Language Prompt)、落地数据 (Grounding Data),以及复杂提示 (Complex Prompt)。
其中,判断自然语言输入能力的大小主要在于所需prompt的简化程度。比如,当输入“onboarding site (员工入职) ”,通过两个词的提示,能够让GPT根据其世界知识推荐需要的页面和内容,并通过Copilot来创建网站。这样的能力实现主要在于大语言模型无需用户遵循精准提示,使用类似“I need an onboarding site” 或是“Create an onboarding site for me”就可以达到一样的效果。
“当我自己在使用Copilot in SharePoint的时候,发现了一些意想不到的效果。像在输入不完全精准prompt的情况下,GPT产出的内容并不会受到影响。有一次我在给美国的副总裁展示text-to-site的时候将单词错输成“appl purple theme”,虽然对方给到我善意提醒,但我还是故意按了回车键,成功完成网站主题的设置。”
基于向量处理文字之间的关系而非关键字的比对,GPT实现了“错字过滤”,从而更好地理解用户意图。
不过,虽然可以通过世界知识实现提示,但对企业内部的私有数据如果没有给到内容,GPT还是无从知晓。所以,想让生成的网站具备实用性, 必须把页面内容的个性化程度做到极致才能更好落地。
在个性化数据上,微软的优势在于客户有自己的云上数据,包括公司目录、文档、邮件、会议记录、网站……各类数据都可以在云上获取。底层通过Microsoft Graph把用户选定的落地数据提供给在同一个云里的GPT模型, 便可以在隐私资讯不外流的情况下生成个性化网站。
例如输入:
“I need an #ODSP onboarding site for product managers with teal theme. Please include a welcome message from @Adam on the first page”。
“上述提示包括了目的(onboarding site),对象(product managers),设计(teal theme),另外还有指定来自特定人员(Adam)的一个页面区域(welcome message)。这些元素的顺序并不重要,也都可以选择, 用户可以自己根据需要进行组合,看是新增或移除。”
其中,提示里“#”标示的是通过微软的Viva Topics,使用AI在企业内网自动建立出来类似维基百科的关键字或缩写。#ODSP是落地数据,会取出缩写的意义(OneDrive & SharePoint)、相关的人与相关的文件列表给到GPT。@Adam也是落地数据, 可以把标示人员的名字、职称和邮件提供到GPT模型里,从而产生出推荐网页的内容。
“从以上截图可以看到, 通过Adam的邮箱,GPT已经猜到这是要给微软使用的网站, 除了标示‘Welcome to Microsoft’之外,所产生的页面介绍公司文化的部分来自GPT自己的世界知识, 完全和我们公司一致。另外由于前述Viva Topics的落地数据, 让GPT也可以更好地知道与描述ODSP,并把Topics里的相关人员也自动建立为页面里的主要联系人。”许建志介绍说。
然而,尽管精简的提示可以大幅降低技术使用的瓶颈,真正生产力的爆发却是有明确的需求,并通过复杂提示来生成需要的网站。据许建志计算,传统上使用的图形界面单是创建一个有七个页面,每个页面有五个区块的需求明确的网站,通过鼠标点选数百次图形界面来新增所需元素是必须的。而如果输入以下提示便可以一次生成需要的网站:
“I need an ODSP onboarding site for our team members with teal theme. The site has 7 pages including Home, Get Started, About ODSP, Culture, Who Does What, Learning Library, and Managers & Bussies. For first page, I need below sections: Welcome to the team, Key Pages, Meet our newest teammates, News, Meet the ODSP Onboarding v-team, What the v-Team Does.”
在具体落地场景中,GPT的赋能让text-to-site更了解不同行业的应用:“为了测试Copilot in SharePoint不同以往的功能,我们进行了一些功能附加,比如当生成地震处理危机网站时,GPT会建议特别强调并加上地图,以及即时通知的页面和功能。而如果是疫情危机处理网站则会加上疫情政策、趋势图表,以及隔离在家工作的规定等页面。”
大语言模型与Microsoft Graph的融合
作为微软大力推广的AI-First App,许建志介绍,Copilot能够将底层数据和能力打通的关键在于大语言模型与Microsoft Graph的融合。
最初,当许建志将“text-to-site”的想法分享给工程团队的时候,大家的第一反应是实现需要一到两年的时间。“我的同仁们说,完成这项工作需要捡起遗忘已久的数学,了解模型运作与算法,包括如何判读用户输入的自然语言的意图,甚至还得使用数据训练模型等等,然后才开始打造应用需要的功能。我自己也在一年多前和研发主管讨论过是否需要建立我们自己的AI团队,好打造AI功能。幸运的是,在GPT大语言模型与强AI的加持下,上面这些需求统统不需要了。”
事实上,大语言模型可以看作是一个已经被训练过,吸收了世界知识的大学生,具备理解意图与自行处理需求的能力。其中包括两个重点:
首先是提示指令。提示是唯一和用户交互的界面,为了简化用户输入,需要在用户自己的提示(user prompt)之外,加上传送给GPT的系统提示。例如,当用户输入“onboarding site”,就可以加上额外的提示指令从而“催眠GPT唤醒它某方面的能力(比如,可以让它当SharePoint网站开发者),并提供足够的背景资料来生成用户想要的结果:
“You are a SharePoint developer and will help the user to create a website. The output needs to have suggested content hierarchy including page and section, corresponding webpart, sample content, theme…… Below is the site the user wants to build:”
“通过SharePoint developer的关键字,会强调并唤醒模型里SharePoint的知识,另外可以让GPT知道create website是主要目的。接着只需要把系统提示与用户提示接起来,一起传送给GPT产生结果即可。”
除了系统提示之外,另一个重点是描述并指定所需要输出的元数据,比如上面范例中的内容结构、页面、页面区域等等。这种方式的优点是:应用开发者不需要关注如何从不同的用户提示分析意图与目的,直接在最后让GPT输出所要求的元数据内容即可,甚至可以是指定不同格式,例如,JSON或Jave Script代码。下面提示的范例虽然各有不同,但是生成的元数据与内容是一样的:
“I need an onboarding site for product manager with indigo theme.”
“Create a product manager onboarding site. Apply indigo theme.”
“Onboarding site with indigo theme. Target audience of the site is product manager.”
“通过上述系统提示、用户提示,以及指定的元数据结构,加上企业自己的落地数据,便可以生成极具个性化的内容搭配功能,建构起需要的应用。从内部技术结构来说,我推荐使用微软发布的Semantic Kernel(语义内核)SDK来实现。”
“文字提示会是AIGC世界里的通用货币”
CSDN:在构建text-to-site的过程中,您最大的感触是什么?
许建志:当充分了解到AI-First App的威力后,我确实有不小的感触,包括对编程语言、数据,以及自然语言等层面。
首先是编程语言将平民化。这是回归OpenAI的Andrej Karpathy(前特斯拉人工智能和自动驾驶部门负责人,今年再次加入OpenAI)提出的观察。
“The hottest new programming language is English(目前最热门的编程语言是英文)。”
我们的用户在使用Copilot in SharePoint的过程,和使用传统批次命令列指令类似,不同的是使用自然语言可以大幅降低技术门槛,高容错性让提示中即使有错字也可以被理解意图。
其次,落地数据是个性化服务的关键。虽然GPT掌握了世界知识, 但是通过落地数据的使用将可以协助每个公司大幅释放既有数据潜力,提升员工生产力。当然,隐私会是其中关键, 通过Azure的OpenAI服务,或者OpenAI即将推出的企业GPT皆是可行的落地实践选项。这里需要注意的是,并不是使用企业自己的数据来训练GPT。
此外,自然语言会是新一代的人机界面。现在的应用几乎都是 GUI 人机界面, 很值得借用大语言模型再增加自然语言界面, 从整合GPT的Copilot in SharePoint来看,的确可以降低技术门槛,增强员工生产力。给传统图形界面融入大语言模型的支持, 演变为AI-First App。
同时,我也意识到文字提示会是AIGC世界里的通用货币, 因此为项目立下了一个原则, 尽量减少不需要的图形界面元素。这样一来可以方便之后接入不同的AIGC新服务。另外,也可以把text-to-site转为服务接入到其他应用或服务。
CSDN:对于text-to-site的技术生成和落地运营,您个人更感兴趣的是哪个方面?目前项目还面临哪些难题,将如何应对?
许建志:我个人本身对技术细节并不是太有兴趣,只知道大致运作机制。而真正着迷的是如何将其应用到各行各业,服务不同的人群需求。就像电被发现并建立起电网可以接通到不同家里、公司,或者工厂之后,我们可以怎么利用与应用电力改善人类生活,这也是我们团队的共识。虽然大语言模型研究已经发展多年,但是当我们需要考虑的是千万甚至亿级为单位的受众与单位的时候,最需要着重的是该如何设计大语言模型的应用,好照顾到不同族群、不同背景,从一般入门用户、进阶用户,甚至是企业的需求。
这里提到的设计不只局限于用户体验的视觉设计。开发大语言模型就像涉入一个未知的新领域,从协助用户理解大语言模型的使用与限制、如何为提示加上落地数据、视觉化地呈现互动体验,到提供建议提示等用户体验设计之外,我们还需要考虑底层架构的设计,包括如何优化token、设计出可延展支持不同技能的架构、优化与提升效能、防止用户滥用、商务方面如何打造商务模型、分析成本结构、如何收费与设计SKU……是一个横跨多面向,但是没有既定游戏规则,可以抄袭的局面。
这是一个前无古人的新蓝海,虽然有很多未知,得通过很多讨论与客户验证,甚至通过失败来迭代改进,但也会拥有抢先制定游戏规则的乐趣。同时微软也通过开源,慢慢把我们在推进AI时代的所思所学分享出来。
AI-First App是如何架构的?
CSDN:具体来说,text-to-site如何辨识用户指令意图, 完成想要的操作?
许建志:就像我前面说的,大语言模型擅长的是分辨语义(semantic),辨识出用户的意图,提示的叙述可以更弹性,顺序也不重要。但是传统的代码则非常强调语法(syntax),必须非常精准,不可以有错字。对于想要开发AI-First App的开发者来说,将两者整合会是不小的挑战。
以Copilot in SharePoint为例,辨识完用户意图是根据需求创建网站,也了解相关的背景资料包括落地数据之后,接下来需要拆解成不同步骤执行对应的代码,包括创建网站结构、页面、页面段落、webpart、图片、排版、设计……
这些流程其实很固定(见下图),也和这阵子流行的AutoGPT或是AgentGPT很像,把用户的目标(ASK)拆解并规划(planner),用不同技能(skills)实现,最后逐步执行。微软前一阵子开源的Semantic Kernel SDK就是一个可以直接套用协助开发者快速开发AI-First App的利器。
以里面推荐的Copilot Chat为例,除了自动生成文本之外,还具备个性化推荐、数据与文档导入、可扩展、智能客服等功能。所以,开发者想构建智能客服、个性化推荐系统、人力资源助手、电子商务智能助手等功能,都可以通过Copilot Chat实现。
CSDN:从技术细节来看,Grounding data是如何实现的?或者说是如何让GPT了解并整合落地端的数据,结合LLM生成精准内容?技术逻辑是怎样的?
许建志:落地数据的使用必须从前端与后台两个方面来考虑。
首先是用户体验,虽然用户可以直接把落地数据加到用户提示里,例如上述的欢迎信息可以直接输入用户提示 “welcome message from Adam, who is the VP PM and his email is adam@microsoft.com”。但是一旦落地数据量比较大,这就变成很不实际的用户体验。此时便可以通过类似#或@选择的方式简化这个过程,让用户在输入用户提示的时候可以选择人员、文档、网站等。当然,之后就和上述系统提示接上用户提示类似,在后台将用户选择的落地数据展开并改成文字内容整合到用户提示里。下图是一个Topics落地数据用户体验的例子:
AI-First App正在颠覆传统开发者和设计师
CSDN:目前可应用功能还存在哪些缺陷,将会如何优化?近期还会创建哪些新的功能?
许建志:目前大语言模型的通病都很类似,下面是几个例子。
在实践过程,我们发现GPT不止数学不大好,设计的美感也需要再提升。我们曾经创建一个地震应变的网站,但是网页背景居然显示的是大剌剌的红色,询问原因之后GPT回答是:“因为地震很危险,红色是表示危险的颜色”。我们优化的方式是改为设计师提供专业的设计样板并加上语义描述,然后让GPT来挑选合适的设计。
另外,效率是一个大问题,因为网站是多模态呈现,包括文字、图片、视频,还会根据目的有多个不同页面。创建这些内容很花时间,我们可以通过用户体验与技术让用户可以在15秒内看到生成的结果。当然token的限制也可以通过一些创意解决,例如原先一次会话处理整个网站的提示与生成内容,可以改为分批次不同会话产生不同的页面内容。
CSDN:克服了更多挑战之后,未来Copilot in SharePoint将呈现出怎样的应用生态?有哪些构想?
许建志:未来会是AI无所不在的环境,因此使用text-to-site的能力不会只限制在SharePoint。可能是通过Microsoft 365 Biz Chat的沉浸式交谈机器人,调用不同应用的功能。可能上一个提示还在使用AI整理刚结束的新项目会议里提到的To Do,但下一个提示可能就直接请SharePoint根据会议内容与参与人,创建一个新项目的协同网站,并把会议录影与相关文档一起放到网站上并设置好权限,而不需要单独再打开浏览器到SharePoint里完成后面描述的这些工作。
另外,SharePoint也同时扮演着Teams小程序,以及微软另外一个AI产品线Viva两者底层平台的角色。除了我们会协助第三方SharePoint样板与WebPart利用自然语言大语言模型的能力之外,也可以预期围绕在上述两个方向也会有很多创新。
CSDN:进入到AI-First App时代,对开发者来说有哪些变化?您有什么想要对开发者说的?
许建志:我记得有人说过,“开发大语言模型的应用就像训练一只狗”。和传统追求精准、效率的工程理念不同,以前是通过图形人机界面能够尽量产生接近用户需要的数字化内容,现在演化到AIGC的时代,不止提示不需要精准,甚至可能也是通过数十次、数百次不同迭代产生的结果,选出最喜欢的方案,而根本原因就是自然语言的输入成本很低。
这些新一代的AI-First App也在颠覆传统开发者、设计师,以及产品经理的技能与认知。这会是一个既残酷,但是又美好的时代,因为每个开发者都有机会参与历史,在前往AI星辰大海的旅途中留下足迹。虽然目前对大语言模型的投资越来越多,但是鉴于超大算力与超大数据的需求,留下的“电力公司”并不会太多。相反的,对于一般的开发者来说,打造大语言模型的应用将会是绝佳难得的人生机会,相信很多领头公司会陆续提供包括提示工程、插件开发、Semantic Kernel等。与用户体验设计指南等学习资源,千万不要错过!