首页 > 其他分享 >大型语言模型(LLM)将彻底改变软件工程师编写代码的方式

大型语言模型(LLM)将彻底改变软件工程师编写代码的方式

时间:2024-09-25 22:50:38浏览次数:10  
标签:彻底改变 AI 代码 擅长 Google LLM 编写

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

大型语言模型(LLM)将彻底改变软件工程师编写代码的方式。上周末,有人利用基于LLM的集成开发环境(IDE)Cursor构建了一个副项目,整个过程中没有亲自编写一行代码。这个项目通常需要一周时间完成,但现在只花了一个周末(没有赞助)。

尽管LLM并不完美,但它们非常擅长处理编程中那些重复、乏味的部分。

新的工作方式

当你可以通过一个命令生成整个功能代码时,开发流程发生了有趣的变化。抛弃现有代码并通过调整提示词重新生成代码,效率远高于调试已损坏的代码。这种方法加快了开发速度,但也导致对代码的理解较少。有几次,代码在局部看来合理,但从全局看问题明显,例如,一个简单的错误是同时存在两个相互冲突的数据模型。如果自己手写代码,显然可以避免这种设计失误。

此外,LLM还让打印调试变得比使用调试器更好。过去,调试器可以快速检查程序状态,但现在无需手动编写打印语句,LLM可以轻松通过一个提示插入高质量的打印语句,并且清理起来也一样简单。

再见,Google

大多数情况下,LLM提供的答案比Google更直接,不需要阅读冗长的教程或Stack Overflow的回答。以下是两次必须使用Google的例子:

  • 特定问题:想让Chrome扩展覆盖当前页面,但不改变DOM,LLM总是给出注入DOM的明显答案,而Google提供了更适合的解决方案。
  • 奇怪的错误:如果没有注册信用卡,OpenAI API会返回429错误(请求过多)。LLM给出了缓存和限速的解决方案,逻辑合理但无效。Google搜索显示问题源于未绑定信用卡。

学习如何使用LLM

要充分利用LLM,需要知道如何有效地提出问题。经过几天的使用,可以逐渐了解其擅长和不擅长的领域:

  • 擅长
  • 小范围的变更:小算法基本能做到完美。
  • 基础UI:轻松生成简单美观的项目界面。
  • 代码转换:几分钟内将Vanilla Javascript转换为Typescript。
  • 不擅长
  • 超出代码范围的更改:无法可靠地设置环境或跨项目目录引用。
  • 开放式功能:功能越模糊,提示词失败的可能性越大。

用户的首选模型是Claude-3.5-sonnet,运行快速且大部分时候效果不错。当Claude遇到困难时,用户会切换到更强大的OpenAI的O1-preview模型,虽然效果更好,但速度较慢且成本较高。理想情况下,未来的LLM工具能够根据任务难度自动选择模型。

现阶段的关键技能

尽管LLM让开发变得更快,但仍存在许多限制,处理这些限制的关键技能包括:

  • 高级规划和设计:LLM在详细的算法调整上表现出色,但对于功能路线图和技术设计,它们还不足以胜任。
  • 调试能力:虽然LLM可以帮助排查一些错误,但它们有时连一些明显的错误也难以解决。

值得注意的是,LLM在处理简单的全栈应用时表现优异,因为这类项目有许多公开的训练数据样本。但对于那些具有前沿性或私有性代码的行业应用,LLM的效果将大打折扣。

LLM的代码生成能力可以替代编写简单且范围明确的代码,但这并不意味着AI会取代开发者的工作。经过一段时间的使用,你会发现AI距离真正接管编程任务还有很长的路要走。

标签:彻底改变,AI,代码,擅长,Google,LLM,编写
From: https://blog.csdn.net/2301_79342058/article/details/142471190

相关文章

  • AgentLite 一个轻量级LLM Agent框架
    一些初步的想法AI代理的核心架构开始趋于稳定,开发人员似乎更关注实践上。AI代理将扩展其功能,特别是在视觉探索、网页浏览和移动操作系统集成等领域。Salesforce似乎正在大力推动其在AI代理研究方面的进步,特别是关注大型动作模型及其开发框架。比较开发框架本质上是具有......
  • LLM大模型: 生成式模型的数学原理和prompt融入image
     1、(1)上文介绍了DDPM生成图片的原理和代码测试结果,训练时给样本图片加上gaussiannoise,预测时也是预测gaussiannoise;这里为啥要用gaussiandistribution?为啥不用其他的分布?高斯分布相对比较简单,只有两个参数:均值和方差,容易控制;为啥一张随机生成的gaussionnoise经过很......
  • python编写第一个程序
     1、python是什么python是面向对象的解释型高级编程语言python是强类型的动态脚本语言2、编写第一个程序print("helloworld")运行py文件推荐使用方式:右键点击代码空白处,选择Run...3、bugSyntaxError:invalidcharacterinidentifier//输入错误print(“123”)#报错,......
  • 如何用Rust编写一个ChatGPT桌面应用(保姆级教程)
    为什么我们需要一个桌面应用原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt......(首先我假设你是一名如我一样习惯用IDEA开发的java仔)安装Rust语言工具链:首先,请确保你已安装了Rust编程语言工具链,包括Rust编译......
  • 大语言模型(LLM)入门学习路线图
    Github项目上有一个大语言模型学习路线笔记,它全面涵盖了大语言模型的所需的基础知识学习,LLM前沿算法和架构,以及如何将大语言模型进行工程化实践。这份资料是初学者或有一定基础的开发/算法人员入门活深入大型语言模型学习的优秀参考。这份资料重点介绍了我们应该掌握哪些核......
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2024.08.25-2024.08.31
    文章目录~1.LongRecipe:RecipeforEfficientLongContextGeneralizationinLargeLanguageModels2.GenAI-poweredMulti-AgentParadigmforSmartUrbanMobility:OpportunitiesandChallengesforIntegratingLargeLanguageModels(LLMs)andRetrieval-Augm......
  • Serilog文档翻译系列(五) - 编写日志事件
    日志事件通过Log静态类或ILogger接口上的方法写入接收器。下面的示例将使用Log以便语法简洁,但下面显示的方法同样可用于接口。Log.Warning("Diskquota{Quota}MBexceededby{User}",quota,user);通过此日志方法创建的警告事件将具有两个相关属性,Quota和User。假......
  • 深入理解LLM的可观测性
    特定的ChatLanguageModel和StreamingChatLanguageModel实现(请参见“可观测性”列)允许配置ChatModelListener,用于监听以下事件:对LLM的请求LLM的响应错误这些事件包含的属性包括OpenTelemetry生成AI语义约定中的描述,例如:请求:模型温度(Temperature)TopP最大......
  • 实验1 C语言输入输出和简单程序编写
    任务一#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");printf("O\n");printf("<H>\n");printf("II\n");return0;} #inclu......
  • MemLong: 基于记忆增强检索的长文本LLM生成方法
    本文将介绍MemLong,这是一种创新的长文本语言模型生成方法。MemLong通过整合外部检索器来增强模型处理长上下文的能力,从而显著提升了大型语言模型(LLM)在长文本处理任务中的表现。核心概念MemLong的设计理念主要包括以下几点:高效扩展LLM上下文窗口的轻量级方法。利用不可训练的外部记......