文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何为软件工程优化ChatGPT和其他大模型

2024-11-29 21:22

关注

审校 | 重楼

自ChatGPT发布以来,上至企业、下到软件工程师都在致力于寻找如何通过使用大语言模型(LLM),来提高工作效率的方法。虽然大多数LLM都能够为复杂的问题生成代码示例,但是具体如何将其集成到软件开发环境的过程,却各有不同。

在最近的一项研究中,来自查尔姆斯理工大学(Chalmers University of Technology)、哥德堡大学(University of Gothenburg)和瑞典RISE研究所的研究团队,对10家不同公司的24名专业软件工程师进行了为期一周的跟踪调查。这些工程师在日常工作中都会使用到ChatGPT。他们的研究结果提供了一些有关软件工程师如何在软件工程中使用ChatGPT的任务类型、以及影响其使用体验等方面的重要因素与推断。总的说来,这些发现对于那些希望将LLM纳入日常工作流程的企业来说,具有非常重要的意义。

ChatGPT的软件工程任务

这项研究包括了对ChatGPT 3.5各个聊天会话的调查。由结果可知,软件工程师主要会在如下三类任务中使用LLM:

优缺点

ChatGPT的最大优势在于能够帮助软件工程师学习到新的概念,毕竟与LLM交流所获得的专业知识,要比在互联网上搜索资源容易得多。

这项研究的参与者还使用了ChatGPT,来协助他们进行“头脑风暴式”会话。也就是说,在软件的开发、规划和设计阶段,LLM可以协助生成多种可供选择、且非常有价值的方案与想法。

在另一方面,一些参与者表示他们并不信任AI生成式工具,尤其是在处理公司特定的复杂任务时。这种不信任往往会导致他们对于ChatGPT所提供的任何建议,都要进行彻底的反复检查,进而使得结果可能适得其反。

另一个重要的问题是缺乏背景。由于LLM并不了解公司的具体信息,因此使用者需要为之提供相关的背景知识。否则,LLM在根据提示编译和提供上下文时,会增加“摩擦”,进而影响用户的使用体验。当然,在某些情况下,出于隐私考虑和公司政策,工程师确实无法共享详细的信息,这就可能会导致交互的不完整,甚至引发挫败感。

使用ChatGPT的第三个重要缺点在于减少了团队的交流和专注度。这往往在其他研究中较少被提及。参与者有时会直接使用聊天机器人,来回答各种问题。而这些问题其实本应由他们的同事来回答,才更为妥当且全面。同时,ChatGPT可能会降低使用者的专注度,毕竟软件工程师可能会花费更多的时间去调整提示,以生成完美的代码,而不愿自行修复略有缺陷的输出。

这对企业意味着什么?

作为一名软件工程师,您是否应该在日常的软件工程中利用LLM,来提高自己的工作效率,则完全取决于是否能够充分放大其优势并最小化其缺点。上述研究是在ChatGPT 3.5上进行的,而目前ChatGPT 3.5的性能已与GPT-4o和Claude 3 Opus等前沿模型的水平相差甚远。当前的模型拥有更广泛的知识,并在防止幻觉和虚假信息方面也更胜一筹。

不过,在企业应用方面,一些涉及到上下文的特定问题,即使用到最前沿的模型也无法很好地解决。例如,无论模型接受了多少训练,它总会对公司内部的专有信息不甚了解。因此,在工程师与模型进行交互时,如果聊天界面能够自动向模型提供上下文信息,则将会对用户体验的提升起到关键性作用。目前,业界已有几种方法可以做到这一点,其中包括:检索增强生成(RAG),即上下文信息在发送到模型之前,会被自动添加到用户的提示中。另外,LLM还可以被集成到用户的IDE(集成开发环境)中,在回答问题的同时,自动使用代码和项目文件作为上下文。

另一个有待解决的问题是:隐私和数据共享限制。许多公司对于可与第三方共享的信息种类有着严格的规定。这可能会限制工程师与ChatGPT等LLM的互动。目前,一种变通的办法是使用诸如Llama 3之类的开放模型。与私有模型相比,此类开源社区已经取得了令人瞩目的进展。同时,您也可以在自己的服务器上运行它们,并将其集成到自己的基础架构中,以便确保数据永远不会离开您的组织。

此外,上述研究也提出了一点:工程师在提示模型时所投入的精力。鉴于使用者提出请求和下达指令的方式,对于LLM性能的影响较大,因此减少提示工程的摩擦,会有助于改善用户体验,节省工程师与LLM交互的时间。目前,Anthropic的“提示生成器(Prompt Generator”和DeepMind开发的自动优化提示技术--OPRO,都在此方面表现卓越。

最后,该研究还提到了通过将LLM整合到团队工作中,可以在一定程度上缓解由于使用ChatGPT所导致的讨论分散和聚焦不集中等问题。例如,作为一款新的企业级聊天应用,Glue能够将LLM作为代理添加到各种讨论线程中,从而让孤立的LLM体验,升级为将AI代理植入群组对话中的效果。

毫无疑问,LLM将成为软件工程的重要组成工具,而并非简单的替代品。为了最大限度地利用好这个“脚手架”,我们需要让它扬长避短,充分发挥其在互动与生产式方面的优势。

译者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文How to optimize ChatGPT and other LLMs for software engineering,作者:Ben Dickson


来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯