【直播回顾】AI这么玩你就牛了| 践行者第32期
原创本篇目录
如何在软件开发和项目管理中使用大模型?大模型将如何改变我们与软件系统的交互?未来软件系统的设计和使用可能有怎样的颠覆性变化?本期践行者邀请到了基普智能创始人、微软最有价值专家衣明志老师,和我们一起分享AI的各种玩法。
一、AI这么玩你就牛了
Q1:您是如何获得了微软AI方向最有价值专家?
首先,先介绍一下微软最有价值专家(Most Valuable Professional,简称MVP)是什么。在国内,腾讯云、华为云等也有类似的专家认证,基本上也都是学习和参考了微软的MVP项目创建的。微软MVP是当年由微软创始人比尔·盖茨亲自发起的奖项,旨在表彰在微软技术社区中积极活跃的成员,也可以叫做社区领袖。他们在微软技术社区做了一定贡献后,会申请MVP奖项。获奖者的申请将会在微软总部进行审批,目前全球范围内大约有3000人左右获得。
由于去年大模型比较火,我在AI方面做了很多演讲,撰写了一些相关文章等,像今晚践行者栏目的直播也算是一种贡献。我通过这样的方式在社区中传播一些与大模型有关的技术、思想、方法等,来促进社区内的知识传播和交流。
Q2:作为Semantic kernel中文社区发起人,您能简单介绍一下这个社区吗?
这个技术本身是面向大模型应用开发的框架,类似于Python领域中比较火的Lang chain。这个框架具有一些自己的独特之处,尤其在企业级Agent应用开发方面表现出色。
它是一个软件开发包,目前主要支持Python、C#和Java这三种主流语言,对其他语言还没有特别支持。它能够更好地将常见编程语言和大模型结合,提供了一个智能化中间层的解决方案。由于C#是微软自家的语言,所以Semantic Kernel的.NET版更新较快,也更加成熟一些。
Q3:我们如何利用AI更好地帮助我们提升工作效率或业绩?
先来聊一下大模型对于软件开发还有项目管理的一些影响。
我去年在GitHub上看到了一个开源项目叫ai-shell,是一个基于自然语言的命令行辅助工具。无论你是程序员还是运营管理者,在系统中需要记住许多命令。如果你记不住,就需要去查找。当然,你也可以问ChatGPT,但不够直接,AI工具的效果是让你在这个命令行中直接用AI操作。你只需要告诉它你想要什么,它会为你生成脚本,并解释说明脚本的含义以及参数的作用。它还会问你是否执行脚本、是否需要修改等,所以比较安全。我认为这个工具非常不错,对于我这种记性不好的人来说,处理命令变得简单多了。
但我使用过程中发现了一个问题,一些小伙伴的英文不行。而 ChatGPT在处理多语言方面效果非常好,所以我想给它增加多语言的支撑机制。因此,在五一假期的时候,我用了两个小时给它添加了语言包的机制,并增加了12种语言,包括英文、俄语、法语、阿拉伯语等。我认为这个开发过程对于软件开发来说也是一个颠覆性的交互过程。
- 基于自然语言的快速代码开发
在软件开发领域有一个有趣的概念叫结对编程。现在,在大模型的支持下,类似于微软在GitHub上推出的GitHub Copilot、第三方的 Cursor 等工具出现了。我可以直接在代码中添加注释,工具会生成相应的代码。当然,生成的代码可能会有一些问题,需要进一步修改和完善,这个工具正在逐渐成熟。这种方式可以显著提高软件开发的效率。
- AI自动生成项目
目前,一些集成开发环境(IDE)工具厂商正在尝试将相对简单的需求直接处理为项目级、工程级的任务。但基于大模型的Max token限制,目前还不能完全生成庞大的项目。当然了,这种情况下对于微服务和函数即服务(FaaS)的概念来说生产力可能可以大规模提高。如果我们将任务规模控制得足够小,AI就能够完全处理,我们也可以通过工程手段来突破Max token的限制。
- 一键将草图变成真网页
在实际的软件项目开发过程中,项目经理需要与客户进行沟通。在这个过程中,项目经理或者产品设计师要设计草图,描述该项目的外观、功能和按钮作用等,如按钮能够执行什么。通过这样的草图,借助于 GPT4-v等具备图像识别能力的大模型可以直接生成相应的代码。然后,可以在草图上再加一点提示词,说明需要进行修正的部分,再生成一个全新的版本。在实际工程中,包括登陆页面、落地页等在内的实现都可以较好地完成,小程序同样可以尝试这种模式。传统意义上说,使用大模型如ChatGPT时,需要通过文字来与模型进行交互。然而,在刚才提到的计时器应用开发场景下,通过语言来清楚完整地描述它的功能需求和设计是相当困难的。
但是,有了GPT4-v模型,它本身具备了图像识别和理解能力。因此,可以将图像输入模型中,然后根据图像和上面的文字描述生成真实的代码。这是一件非常有趣的事情,所以,未来对于这种能力的要求,除了文字表达能力,还要增加图形表达能力要求。这样,在后续开发过程中将变得更加简单。
CodiumAI PR-Agent是一种人工智能驱动的机器人工具,用于自动拉取请求分析、反馈、建议等。在GitHub上面,你可以去@机器人并给它指令,要求它审核一下PR。这在项目管理中很有用的,因为人工审核代码可能会受到与提交者关系密切的影响,导致审核具有偏向性。所以,引入AI进行代码审查可以帮助人们进行前置或者后置的审查,对于整个软件项目的代码质量和PR的提交质量都有很大的好处。
PR(Pull Request)是GitHub工作流程中的一部分,用于团队协作。当我们从一个库拉去代码并创建一个新的分支,然后在该分支上添加新功能时,如果直接将更改提交到主仓库,可能会导致严重的错误。因此,在软件工程中,我们采用了基于Git的工作流程,将我们的分支提交为一个合并请求(Pull Request)。这个PR会由相关人员进行审核,只有在经过编译单元测试和全面检查后,才允许合并。这样可以确保主仓库的代码保持较高的质量。
宏观上来讲,基于GitHub的事件触发机制可以在PR提交后执行一些操作,如分析、理解。再根据所执行的指令进行相应操作,如之前提到的/review指令,用于检查。检查结果将以评论形式添加到PR下面。通过这种指令式的方法,可以根据PR的描述自动生成变更日志,从而简化工程流程。
- 将图表能力集成到您的Chat中
用代码来绘制流程图的人会知道“mermaid”这个工具,它具有一种固定的语法,可以用来绘制图形。在我们公司一些客户是整车制造的,一些项目可能需要做一份投标材料,并配备上一些业务流程图之类。在这个过程中如果能够应用好这类工具,将会大大提升你作为项目经理的能力。另外,大家可以想象一下,如果有在你的系统中有更多的图表,这些图表和你系统的数据结合在一起,将会产生怎样的效果?
- 一份普通的需求文档通过AI转换成符合改需求的系统接口
我们之前参加的一个黑客松挑战赛的题目是为一个TMS(运输管理系统)开发一个AI Agent,输入由产品经理或者甲方客户提供的需求设计书——1份7、8页的word文档,然后系统能够根据这个文档内的需求描述自动生成实现需求的Web API。像这样具有挑战的项目,其难点有这么几个:在于word文档通常很长,超出了一些模型输入的token限制;人类在编写需求文档时容易出现错别字、表意不清等问题,这对AI来说可能会完全理解错误;还有就是前文中提及某个需求细节详情参考后文中的某段内容。让大模型能够完整的正确理解需求的本意,对整个工程来说是一个核心挑战。因此,我们团队在2天半时间内突破了这个问题,将word文档输入系统,几分钟后就会生成并部署好相应的API代码,并可以直接调用。
其实,这个AI Agent对需求文档的格式没什么很特别的要求,但也不能太混乱。对于软件企业而言,一个正规的需求文档应该包含需求背景、章节化的需求描述等。符合一些常规的文档格式标准的文档效果会更好,例如:章节应该按照word的章节格式来,而不是自行设置为“第一章”。如何鉴别这一点呢?只需打开word,查看大纲目录,如果有准确的目录就说明文档有较适当的格式。这样,AI的理解就会更准确。总之,与大模型对话的能力要求就跟与陌生人交流差不多。
Q4:大模型将如何改变我们与软件系统的交互?
2022年11月,OpenAI发布了ChatGPT,这使得事情立马发生了巨大的变化。我们公司的一个面向企业运营管理的项目管理系统,界面体验自认为已经相当友好了。然而,从AI的角度来看,它仍然属于传统软件,比如为了找到我们想要的东西,我们仍然需要处理很多条件和各种选项的操作。
在企业中,我们使用各种OA等软件的菜单、按钮和输入框成百上千,当我们需要找到某个功能时,我们可能已经在脑海中清楚地思考了自己的需求,并且用语言表达起来也相对容易。然而,在现代软件中,我们必须先学习如何使用这个软件,了解每个功能模块、每个按钮和每个输入框的用途。实际上,这个过程我们是首先明确需求,然后寻找能够满足需求的功能选项,接着将其转换为一系列鼠标和键盘的操作步骤,让计算机执行相应操作。
这个过程存在的原因是因为计算机相对来说比较“傻”,我们需要迎合计算机的能力和要求。过去,计算机无法理解我们的需求,不知道如何执行,因此我们必须通过操作来实现。我们人类需要去妥协计算机,按照计算机的能力要求去操作。
我们期望的是:
也就是说告诉计算机我们的需求是什么,AI来理解需求、生成自己的执行步骤并自动执行,最终将结果反馈给用户即可。
Q5:大模型的大数据推理会取代工业机理模型吗?
不会,至少短期内不太可能全面取代。
Q6:有了代码生成,还有必要做开发人员吗?
有必要。有一个问题在于,如果你是“Ctrl+C、Ctrl+V(从百度、谷歌搜索,找到一段代码拿过来改改)”这种级别的程序员,可能就会慢慢被淘汰掉。所以,别让自己成为写的都是苦力活代码的人,对于优秀程序员来说大模型只会让你如虎添翼,不会让你没事干。
Q7:以后是否开始写各种各样的agent了?
这种情况概率比较高,未来的应用可能都会是agent作为入口。
Q8:企业数字化和智能化在AI时代的玩法
传统的企业,比如车企内部的数字化、信息化通常会比一般的企业要做得好一点,它的PLM、BOM等各种系统之间要打通。后面也随之出现了数据中台、业务中台等等。现在很多企业都要搭建中台,要打通系统之间的壁垒。可能对程序员来说,这些需求永远做不完,而业务又在不停地变化,所以如果按照原来的方式,可能会给企业带来灭顶之灾,除非企业的效益非常好,能支撑研发团队不断地变化和成长。
做企业管理系统,通常来说主要是与数据库、操作系统等进行API的交互实现上层工作流,也可以说主要就是CRUD。我们人工做的话会比较麻烦,有了大模型以后,玩法就会发生一些变化:AI能够将语言转换成数据查询条件和接口调用的方法或代码,再通过执行,拿到返回结果,并用丰富可视化的方式做展示。
举个例子,我们打开一个和ChatGPT类似的程序,左侧是一个聊天界面,右侧是一个辅助信息展示的界面。如果我们问:“为什么这周收入下降了?”右侧显示参考的相关数据,左侧会总结并通过图形化的方式展示数据。
而且,AI还可以主动提出问题,比如:“是否想了解周活跃度/每日活跃度?”回复“是”,它就会展示每周周/每日活情况。这些展示都是基于原始数据,并非凭空捏造的。
因此,无论是查询某一内容,还是系统执行某项任务,在聊天中都可以完成。未来的软件应用模式,包括前面给大家演示的例子,将对应用模式产生颠覆性影响。
每个应用,都将被人工智能以一种前所未有的方式重构、重新应用。
大家如果注意的话,会发现近半年多iPhone手机APP更新的频率和质量其实普遍提升了,其中一个原因就是APP的维护过程现在几乎都是在AI辅助的情况下完成,包括找Bug、修Bug,还有对于新的特性的实现等,整个过程都比以前高得多。而且这样做之后,应用的质量也就提升了。这里就要提及AI Agent的概念了。
Al Agent,即人工智能代理,也称人工智能体,是一个广义上的概念。它可以是一种计算机程序,被设计用来在一定的环境中自主地执行一系列任务或者服务以达成既定的目标。
Al Agent的工作步骤
- Semantic Kenel是微软开源的面向开发人员的一种简单而强大的轻量级SDK,可让使用者在几分钟内向应用添加大型语言功能。它通过自然语言提示,在跨多种语言和平台创建和执行Al任务。
- SK主要支持C#,也支持Python和Java,未来支持更多语言。
- SK可帮助开发人员将代码组织到内置于Planner中的技能(插件)、记忆和连接器中。
- SK有MS Graph等各种连接器工具包,适用于需要与日历、电子邮件、搜索引擎等集成的方案
- Kernel Memory是对Semantic Kernel Memory能力的扩充,内置了文档切片和向量化搜索的功能。
Semantic Kernel的独特之处在于其能够自动协调具有人工智能功能的插件。通过SK Planner,自动让一个大语言模型生成一个实现用户特定目标的计划,然后, Semantic Kernel将为用户执行该计划,并返回最终结果。
Semantic Kernel的5个核心概念
Q9:AI对我们的影响是什么?
- AI会大大提高人们的生产力,创造过去不可能出现的产品。
- AI本质是生产力工具,跟高级语言、云服务、开源代码等是一个性质。我们现在处于一个时代的切换点,这个切换点很容易让人焦虑,因为没有产生新的需求部分,只是把工具做了一些范式级变化,所以我们也不用过度焦虑,但是要保持一些竞争力。如果我就站在被淘汰的那一波上,然后非说没事,这样也是不行的。
- 写代码的门槛会降低,更多的人会进入IT行业,软件市场将扩大。以前写代码需要程序员,现在可能就只需要跟大模型聊一聊,一些简单的需求就写完了。
- 人们获取陌生领域知识的效率会极大提高。大模型让我们获取知识的效率有所提升。
- AI推动行业发展,将为所有人带来更多的增长、产品和机会。
- 我们要成为这个过程的一部分,需要让自己积极主动,不断更新技能,接受新工具。
Q10:Al时代职场人竞争力有哪些?
- 沟通能力(能够跟陌生人准确地表达诉求或期望):什么样的人最适合大模型交互时代呢?我可以直接告诉大家,是盲人,因为盲人是看不到外面的东西的,只要跟他去讲得非常明白、非常准确,才能让盲人理解到周围的环境。
- 绘图能力。
- 创造性思维能力(不受现状或者传统规条限制):要脑洞大开,建议大家想办法训练创造性思维,多看些奇思妙想的东西。
- 垂直业务的综合能力+一些编码能力:如果你是程序员,同时又懂得某个垂直业务领域级的综合内容的话,就会非常厉害。
- 顶层思维:懂得业务价值所在。要有老板的能力和思维,需要知道业务价值,创造价值。
- 共情能力(也就是情商能力):在AI时代,AI可以帮助我们干好多事情,但是至少目前来说不能够共情。
- 保持对新鲜事物的好奇心。
- 如饥似渴地多读书。
- 美感训练:对文章、文字的美感,还有图形图像的美感。我们需要知道AI生成的图是不是漂亮的,是不是好的。在AI生成文章后,我们是不是对文章的鉴赏能力,这些都需要要多做训练。
Q11:这些技能项目管理人员的学习路径是怎么样?
学习路径可以包含以下几个方面:
- 了解大模型的基础知识(学习人工智能和机器学习的基本概念,理解大模型的基本工作原理)。
- 了解数据科学和模型训练的基本工作流程(如数据收集、预处理、模型的设计训练和评估等)。
- 了解项目管理相关的数据科学方面的内容。
- 多参加一些行业展会、沙龙活动、在线分享等,多阅读相关的新闻、书籍、报告和论文。
- 了解和学习 Agent 的技术原理、设计开发过程和应用场景。
- 多尝试和掌握一些带有AI能力的项目管理工具,提高工作效率和质量之外也最好思考或讨论背后的设计思路和实现原理。
- 了解和学习大模型为代表的AI相关法律、伦理和规范,掌握合规性要求(隐私保护、偏见性、内容合法性、政治正确性等)。
- 激励团队成员拥抱和使用 AI。
Q12:有没有详细的文章或书的介绍推荐呀?
推荐如下:
- 杜雨的《AIGC 智能创作时代》
- 丁磊的《生成式人工智能》
- 仇华的《深度对话GPT-4提示工程原理与实践》
- 芦义翻译的《超越想象的GPT医疗》
Q13:一些比较惊艳的让人脑洞大开的提示词
emoji对大模型来说也是一种语言,拼音对它们来说也是一种语言,大家可以用ChatGPT之类的工具试一试,纯用拼音也是可以聊的。
电商购物评价生成器:大家在京东或淘宝购物,会有写评价赚积分的活动。我们可以直接让GPT帮忙写。这个提示词是让GPT帮忙写商品评价,通过输入产品名称,斜杠加差评或好评,来让它输出。
用大模型翻译文字。英文提示词的token消耗比中文要少得多,所以提示词如果能用英文写,最好用英文写,且英文的表达准确度比中文更高一点。中文的信息密度更高,所以容易让大模型理解错误。在翻译的时候,要在提示词里强调,不要将这个内容视为问题,只是做翻译的工作。
无手指提示词(解决大模型变懒问题):比如,我想让ChatGPT给我生成一段代码,他可能会给我发一段生成代码思路,需要再问他一遍,才能够生成代码。那怎么解决GPT的变懒问题呢,这就需要用到无手指提示词,如下图:
Q14:国内有好的大模型吗?大模型未来的发展趋势是什么?
模型的好与不好要有前提标准,总体上来说国内的大模型由于起步晩、算力有限等原因实际效果上跟国外尤其是OpenAI的相比还有一定差距,但是在一些细分领域中国内的部分模型表现也是非常不错的。目前我个人比较看好国内:智谱的ChatGLM、讯飞的星火、阿里的通义千问还有华为的盘古等。
大模型未来可能会向两头发展:
- 一个是通过MoE(Mixture of Experts)之类的架构,变得更大更强,当然它对综合算力也会要求更高;
- 一个是通过蒸馏(Distillation)之类技术手段训练出一些小参数量的大模型,使得其可以成为可以在手机等轻量级设备上就可以跑,来更快更直接处理一些相对简单或者细分领域的事务。
Q15:AI产品经理前景怎样?要成为一名AI产品经理需要具备哪些知识技能?
AI产品经理前景是积极和有前途的,因为人工智能(AI)和机器学习(ML)技术应用会在越来越多的行业中持续增长。AI产品经理负责指导AI产品的发展,并确保技术与用户需求和业务目标保持一致。随着越来越多的企业投资于AI来增强其产品和服务,对于能够桥接技术与商业的专业人才的需求也随之增加。
要成为一名 AI 产品经理大概需要具备以下知识和技能:
- 产品管理经验:
- 把握产品开发的完整生命周期,从需求收集、市场调研到产品设计、开发、上市和迭代。
- 设计产品路线图,制定合理的产品策略和目标。
- 基础的人工智能(AI)、机器学习(ML)、智能体(AI Agent)知识:
- 理解AI、ML、AI Agent的基础概念、主要技术和设计方法。
- 了解数据处理和分析的原理,知道如何训练和部署机器学习模型,理解AI Agent的能力边界以及适合的领域等。
- 技术沟通能力:
- 能够与数据科学家和应用开发团队有效沟通,理解其技术限制和挑战。
- 能够向非技术团队成员解释AI相关概念和决策。
- 用户体验(UX)设计:
- 了解如何结合用户研究和产品设计,来改善用户体验。
- 借助用户反馈和用户数据,迭代产品功能。
- 业务洞察力:
- 理解目标市场、竞争环境和用户需求。
- 进行业务分析,包括成本效益分析和收入模型。
- 项目管理能力:
- 有效地规划、组织和管理跨职能团队,确保项目按时按预算完成。
- 使用敏捷开发方法和项目管理工具。
- 问题解决和决策能力:
- 解决复杂的产品挑战和技术问题,制定基于数据的决策。
- 合规意识和风险管理:
- 认识到使用AI产生的潜在伦理、合规和隐私问题,并能够规避风险。
- 持续学习和适应性:
- AI和ML是快速发展的领域,要跟上最新的趋势和技术进展。
- 软技能:
- 包括团队合作、领导力、说服力等都是成功的AI产品经理所必需的。
二、送给大家一句话
龙马精神,身体倍儿棒,吃饭倍儿香,争取都不在被裁员的行列!