本文整理自腾讯智能创作与内容平台部技术专家揭光发在【WOT2023·深圳站】大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT深圳】即可直接领取。
嘉宾丨揭光发
编辑丨诺亚
日前,在51CTO主办的“WOT全球技术创新大会2023·深圳站”活动中,腾讯智能创作与内容平台部技术专家揭光发带来了主题演讲《大模型提效研发,从copilot到auto pilot》,探讨了大模型如何重塑软件开发形态,如何从copilot走向auto copilot,为大众呈现了全新的视角。
1、AIGC应用于软件开发的两种形态提到内容生产,前有UGC、PGC,当下有AIGC。作为生成式AI工具,核心还是它到底能生成什么“内容”。揭光发介绍,除了大众耳熟能详的AI生成文本、生成图片、生成音视频之外,AIGC与软件开发相关的主要有两种生成形态。
其一,AI生成代码,即AIG Code。像Copilot甚至能自动生成高达90%的代码,不过,生成的代码片段通常是中间产品,需要进一步加工,因此往往被用作开发更复杂系统或应用的基础。
其二,AI生成Action,即AIG Action。AI生成的具体动作或任务,常常作为粘合层连接不同系统和应用,从而完成更复杂的任务,为AI Agent的诞生和成为主流生产力做好了准备。
AIGC用于生成代码时,可以加速软件开发流程,帮助研发团队完成大量的提效工作。揭光发谈到,过去提到10x程序员的概念,一般是指能力可以“以一当十”的全栈程序员。但如今,“不需要你本身具备全栈能力,可能配备一个相对不错的大语言模型,并且你有使用LLM的能力,就可以做到十倍程序员”。
而AI生成Action的本质依然是AI生成文本,只不过在其生成的文本中嵌入特定格式的代码或配置数据,这些代码或数据可以被解析并用来指导特定的程序执行相应的任务。揭光发进一步解释道:“它跟生成代码不一样,尽管看上去可能也是生成一种代码,但是它更接近于一些可用的指令,而这个指令是可以立刻作用在我们的软件和硬件上面的。”在这一层面上,AI充当了自然语言与既有系统间的粘合层,通过更强大的语义理解能力,更好的交互方式来实现功能调用。
尽管AIGC的作用不可小觑,但当下仍有相当一部分开发者对于用这类工具来助力软件开发心存顾虑。在揭光发看来,影响开发人员采用AIGC工具的原因多种多样,比如生成代码准确率低,公司政策的限制,数据安全的顾虑等等。不过,他建议开发者,起码不要对AI编程抱有抵触心态,至于某些局限性可以通过适当的方法来进行优化。
比如,要提升AI生成代码的可用性,一来可以用魔法打败魔法,运用工程化手段,生成代码、生成单元测试,再进一步让其形成自动化验收机制,在不断迭代中提升准确率;二来可以优化Prompt技巧,通过清晰描述需求,来指导其形成“思考”,通过思维链(CoT)等提示词技巧,提高 LLM 在复杂推理任务中的表现。
2、软件开发新愿景:AI Agent将成为未来主流生产力随着生成式AI的发展,Copilot作为“副驾驶”辅助用户的模式将更深层次地影响人机交互的方式。未来,就软件使用而言,“Chat everywhere,Copilot for everything”也将成为常态。
揭光发指出,“在产品交互层面,我们会看到,Copilot以后会到处都是。所有软件都会加上对话功能,让人能够跟AI一起协同使用我们的软件。”
在传统的AI交互中,用户常常需要在不同的界面之间切换,花费大量时间来调用和执行特定的任务。而在Copilot模式下,用户只需通过客户端、浏览器插件,甚至是系统集成的方式,便可以随时随地调用Copilot,无需频繁切换和跳转。此外,用户也不需要花大量时间去学习复杂指令,只通过自然语言就能与AI助理进行交流,这不仅极大地降低了使用门槛,也能更高效地执行用户当前的任务。
如果说交互层是以Copilot的形式来完成,那么在实现层,则是以AI Agent的形态来解决问题。ChatGPT就是一个典型。那么Agent要如何定义呢?
揭光发解释,所谓Agent,就是“你给它一个任务,它拿到这个任务会分解这个任务的实现需要用到什么工具,恰好你又有一些工具给它,它就能用这些工具来帮你组合起来,去解决你的需求,帮你完成任务。这个就是Agent。其智能化的体现就在于,它知道如何智能地拆解任务,并可以一步步帮你解决问题”。
在揭光发看来,AI Agent将成为未来的主流生产力。“ChatGPT只是其中一个Agent,我们会有越来越多的私有化的Agent,包括公司内部的或项目内部的Agent,通过与其对话,来帮助你解决自己的问题。”
从Copilot的融合,到AI Agent的普及,我们都可以看到,软件设计与开发正在回归解决需求本身,越来越多的功能在交互界面上消失;预先设计的、固化的软件功能在渐次减少;传统软件开发模式难以兼顾的、大量个性化需求得以快速被满足。
3、思辨:到底什么是真正的auto copilot?如今,大模型生成文本、图片、音视频,基本都可以一步到位,给最终用户直接使用。那么在软件方面,是否也能直接生成可用工具和服务,而不止于某些待加工的代码片段或其他中间产物呢?
揭光发提到了这样一个思路:“回想一下,作为人类,我们是怎么去开发软件的。实际上,无论什么团队都有一个流程,不管是瀑布流还是敏捷,我们都有既定的标准流程,这个流程我们通常叫做SOP(Standard Operating Procedure)。参与这个流程的人有很多,比如产品经理、架构师、程序员、测试人员等等。”大家都有各自的角色,各司其职,又协同合作,共同完成任务。
由此推断:当技术不是问题时,我们可以考虑引入结构化的项目管理来解决问题。让不同的AI Agent模拟这个流程协同参与,可不可行?
已知目前顶级LLM的单兵能力已经超过大多数行业的大多数人,但是独木难支,“只有一个人,你是没有办法完成非常复杂的工程的。但我们是可以把很多能力很强的人通过一个SOP,通过既定的流程把他们链接起来,协同完成一个复杂的事情。”
“AI Agent是未来主流的生产力,不是单Agent,一定是多Agent。多Agent的协同能够把人类社会的各种协同的SOP复制到AI的世界里面去,把我们从原来的工作里面解放出来。”
随着多Agent协同工作模式在软件研发中越来越普遍,我们已经可以看到多Agent框架和产品在开源世界蓬勃发展。可以预见,结合行业SOP的LLM工程化必将重构整个行业。
不过,揭光发又指出,多Agent架构是否能真正代表Auto Pilot,还有待商榷。因为多Agent模式是建立在这样的前提下:有很多Prompt范式,有预先编排的SOP,有诸多的管理规范和工具集。但随着真正的AGI到来时,一切都可能重新洗牌。
最后,面对AI编程是否会取代人类,开发人员置身AIGC浪潮中又要如何自处等疑问,揭光发给出了三点建议。
其一,开放自己的思维。这一波人工智能不再是人工智障,而是真正的智能涌现,因此要抛弃偏见,接受事实;其二,全面拥抱AI。要记住“淘汰我们的不是AI,淘汰我们的是会用AI的人”,因此要用AI武装自己;其三,持续快速学习,增强自身的泛化能力。要利用大模型拓展自己的认知边界,不要只做一个写代码,或是仅做前端或后端的开发人员。“往前走一步,也往旁边多走几步,让自己成为超级个体,是当下、是AGI来临之前,我们极有可能要去做的一件事情,而且非常迫切要去做的一件事情。”
来源: 51CTO技术栈