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

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

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二