大模型时代的开发者成长指南

在近一年的时间里,ChatGPT 的横空出世带来整个软件开发行业的一系列新变化。不论是个人、团队,还是公司的 CXO 们,都在关注生成式 AI 带来的效率提升。

前排提示,文末有大模型AGI-优快云独家资料包哦!

  • 在产品研发方面,生成式 AI(AIGC) 已经开始影响产品生命周期的各个阶段。它可以用于生成候选产品设计,优化产品设计,提升产品测试效率,改进产品质量。

  • 在软件开发方面,从项目启动和规划,到系统设计、代码编写、测试和维护,生成式 AI 的应用广泛而多样。它可以帮助开发人员生成基于上下文的代码草稿,甚至生成测试代码。此外,它还有助于优化遗留框架的集成和迁移,并提供自然语言翻译功能, 以将旧的遗留代码转化为现代代码。

对于开发者来说,大型生成式语言模型带来了挑战,但也提供了宝贵的机会。

图 1 企业 AIGC 投资策略

根据我们此前分析的企业 AIGC 投资策略/难度曲线(如图 1 所示),这里也划分了三个阶段:

  • L1:学会与 LLM 相处,提升个人或团队效率。

  • L2:开发 LLM 优先应用架构,探索组织规模化落地。

  • L3:微调与训练大语言模型,深度绑定特定场景。

尽管,可能有一些企业预期生成式 AI 带来的效能提升,而进行了组织结构调整(俗称裁员)。但是,我们可以看到 AIGC 带来了更多的新机遇,它们不仅能够提高开发效率,还可以开创全新的领域和解决方案,为软件开发行业带来划时代的变革。

简单来说,开发者如果想保持自己的竞争力,我们必须掌握 LLM 能力以提升生产力,还可以加入开发 LLM 应用的大军。

L1:学会与 LLM 相处,提升个人或团队效率

在过去一年里,我们看到很多人在使用 LLM 的过程中,遇到了一些问题。但也很显然,它能在许多方面提升我们的效率,特别是在诸多繁琐的事务上,如文档、测试用例、代码等。

LLM 擅长什么,不擅长什么?

首先,我们要建立对于 LLM 的认知。不同的模型,由于训练主料和参数等诸多原因,各有自身的擅长点。如一些微信机器人里,我们使用文心一言询问实时性的资讯内容,再结合国内外的开源、闭源模型(如 ChatGPT 等)进行优化。而一旦想编写一些英文文档、材料邮件时,则会反过来优先考虑国外的模型。

其次,我们要知道 LLM 不擅长什么。LLM 是一个语言模型,它擅长的是生成文本。究其本质它又是一个概率模型,所以它需要借助其他工具来完成自身不擅长的内容(比如数学计算)。因此,我们不应该期望 LLM 能够帮助我们完成一些数学计算,而是应该期望它能根据我们的上下文,生成数学计算的公式、代码等等。

学会与 LLM 交流,提升个人效率

LLM 的交流方式,主要是通过 Prompt,而 Prompt 的构建,是一个需要不断迭代的过程。在这个过程中,要不断地尝试,以找到最适合自己的模式。比如笔者习惯的模式是:

  • 角色与任务。告知 LLM 它应该是一个什么角色,需要做什么事情。

  • 背景。提供一些必要的上下文,以便于有概率地、更好地匹配到答案。

  • 要求。对它提一些要求,诸如返回的格式、内容等等。

  • 引导词(可选的)。让 LLM 更好地理解我们的意图。

如下是笔者在开源的 IDE 插件 AutoDev 中的测试生成的 Prompt(部分):

Write unit test for following code. You are working on a project that uses Spring MVC,Spring WebFlux,JDBC to build  
RESTful APIs.  
  
You MUST use should_xx style for test method name.  
When testing controller, you MUST use MockMvc and test API only.  
  
// class BlogController {  
// blogService  
// + public BlogController(BlogService blogService)  
// + @PostMapping("/blog")     public BlogPost createBlog(CreateBlogDto blogDto)  
// + @GetMapping("/blog")     public List<BlogPost> getBlog()  
// }  
  
// 选中的代码信息  
Start with `import` syntax here:  


最后的 import 会根据用户选中的是类还是方法来决定,如果是一个方法,那么就会变为: Start with @Test syntax here: 。由于大部分的开源代码模型是基于英语的,并且用来训练的代码本身也是“英语”的,所以在效果上用英语的 Prompt 效果会更好。

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

笔者在经过与大量的人聊天之后,得到的一个人们使用 AIGC 工具的最大痛点:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值