程序员指南|学会与大模型相处,提升个人开发效率

2023-11-22 19:52

本文主要是介绍程序员指南|学会与大模型相处,提升个人开发效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

过去一年,通过各种平台我们可以轻而易举的接收到人们关于使用大模型遇到诸多问题的声音。然而,显而易见的是,大模型可以在许多方面提高我们的效率,尤其是在处理文档、测试用例和代码等繁琐事务方面。


大模型的优势和短板是什么?


首先,我们需要了解大模型的概念。由于训练数据和参数等多种原因,不同的模型有各自的优势。在一些微信机器人中,我们会使用文心一言来获取实时的信息内容,并结合国内外的开源和闭源模型(如ChatGPT等)进行不断优化。而在撰写英文文档和邮件等内容时,则会优先考虑国外的模型。
其次,我们要知道大模型不擅长什么。大模型擅长的是生成文本。究其本质它又是一个概率模型,所以它需要借助其他工具来完成自身不擅长的内容(比如数学计算)。因此,我们不应该期望大模型能够帮助我们完成一些数学计算,而是应该期望它能根据我们的上下文,生成数学计算的公式、代码等等。


提高个人效率的关键之一是学会与大模型进行有效的交流


大模型的交流方式主要通过Prompt进行,而构建一个Prompt是需要持续迭代的过程。在这个过程中,我们需要不断尝试,以找到最适合自己的模式。因此网上也先后出现了很多针对Prompt的教程,甚至因此衍生出了新的赚钱之道。常见的模式是:
1、确定角色和任务。比如明确扮演一个中级开发工程师以及需要完成哪些任务。
2、背景。提供一些必要的上下文,以便于有概率地、更好地匹配到答案。
3、列出你对其的一些具体要求,比如返回的格式和内容等。
4、最后的import将根据用户选择的是类还是方法来确定。

精炼上下文成本,活用各类工具


Prompt模板,绝对属于人们口中的“一看就会,一用就废”的存在,同一个需求可能真的会获得千人千面的答案。因此,很多人在使用AIGC工具时最大的问题是编写Prompt往往需要花费超过任务完成时间的时间。
也因此,从某种程度上来说,我们所需要的上下文并不一定要准确,但一定要精炼,以节省自己的时间。所以,从时间成本上来说,我们要考虑引入工具,或者构建适合自己的工具来完善这个过程。
对于开发人员来说,目前市面上流行的工具有:GitHubCopilot、ChatGPT等其他内容生成工具。诸如GitHubCopilot在生成效果上之所以好,是因为它会根据当前的代码文件、编辑历史,分析出一些相似的上下文,再交由大模型处理。整个过程是全自动的,所以它能大量节省时间。但是鉴于每月可能产生10到30美元的成本,需要认真探讨更合适的方案。
基于此,来自中国的飞算SoFlu软件机器人,推出专注Java生成AI函数的FuncGPT(慧函数)。通过自然语言描述Java函数需求,不需要繁复的上下文,输入需求、出参、入参,即可实时生成高质量、高可读性、拿来即用的Java函数代码。生成代码可直接复制到IDEA,或一键导入Java全自动开发工具函数库,满足程序员不同的使用场景。最重要的是它是免费的。


个人成长:增强人工智能不擅长的技能。
随着AIGC成本的进一步降低,可能会有一些部门因为生成式AI而被公司缩减规模。这并不是因为AIGC可以取代人类,而是因为人们预期可以提高20~30%的效率,并且在一些团队试验后也发现确实如此。
假设AIGC能够增加一个团队的效率20%,那么从管理层的角度来看,他们会考虑减少团队成员的20%。而更有趣的是,如果团队规模减少了20%,由于沟通成本的降低,效率提升会更为显著。因此,该团队的效能提升超过了20%。
就短期而言,那些掌握了AIGC能力的开发人员不会因此被淘汰。但从长远来看,开发行业的内卷现象将会加剧。十多年前,只需懂一些Java的人就可以了,但如今的标准则是既要精通Java设计模式,又要熟练掌握各种Java算法。因此,从个人职业发展的角度,我们需要适当地提升在人工智能领域不擅长的其他技能。
就能力而言,AI不擅长解决复杂上下文的问题,比如架构设计、软件建模等等。从另一个层面上,由于AI作为一个知识库,它能够帮助我们解决一些软件开发的基础问题(比如某语言的语法),会使得我们更易于上手新语言,从而进一步促使开发者变成多面手,成为多语言的开发者。
相对于提升这些能力而言,在短时间内,我们更应该加入发展大模型的大军。因为这是一个全新的领域,不需要传统人工智能算法的各种知识,只需要懂得如何将其应用在工程上。

关注公众号【飞算科技】,获取更多行业及产品信息。

这篇关于程序员指南|学会与大模型相处,提升个人开发效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/412527

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化