用好大模型,工程师个体能力提升,软件开发提能增效

原文标题:大模型辅助开发:哪些交给人,哪些交给AI?这本书不废话,直接教你上手方法,读完差距立现!

原文作者:图灵编辑部

冷月清谈:

- 大模型提高软件开发效率的能力,取决于软件工程师的专业素养和认知广度深度; - 合理拆解问题、明确描述背景目标、顺畅沟通和理解领域模型有助于提升工程师与大模型的协作效率; - 大模型的辅助作用使工程师无需花费大量时间在工作细节协作上,提升了工程师交付能力; - 《大模型辅助软件开发:方法与实战》一书融合了专业技能与大模型能力,完整介绍了基于大模型辅助进行软件开发的全流程,展示了其端到端开发的可行性。

怜星夜思:

1、大模型擅长的领域是什么?现在能达到什么程度?
2、如何选择一个合适的大模型辅助软件开发?
3、除了书中提到的能力提升之外,大模型在软件开发领域还有什么潜在应用前景?

原文内容

是人类工程师的能力,而不是大模型的能力,决定了大模型协作式开发的上限。

软件开发正在经历一场前所未有的范式变革。人工智能的飞速发展,特别是大型语言模型所取得的成功,不仅会对软件本身的形态产生深远影响,也将极大地推动开发方式的演进,为软件行业带来前所未有的发展机遇。




我用大模型开发效率不高

仅仅是不会写提示词吗?

对软件工程师来说,利用大模型完成工作的能力的高低,不仅取决于是否了解大模型的相关知识,更取决于工程师是否具有深厚的专业素养和较高的认知水平。例如,有些人给大模型提出编码需求,大模型总是可以输出高质量代码,而对于另外一些人提出的需求,大模型就会答非所问,产生的代码完全不能用。这是为什么呢?从表面上看,这是因为不同人的任务分解能力、专业沟通能力存在差异。

  • 你是否把大问题合理地拆解为小问题?

  • 你是否明确地描述了问题背景、任务目标和输出要求?如果更深入地挖掘,我们就会发现,这种能力差异,本质上是对软件工程认知的广度和深度的差异。

  • 如果你了解领域模型,就更关注概念的准确性,能够清晰地利用领域概念表述需求,从而顺畅地和大模型进行沟通。

  • 如果你对测试先行、测试驱动有较为全面的理解,就能写出明确的设计契约。

  • 如果你知道演进式设计,就会由简到繁逐步引导,而不是一上来就给大模型提出非常复杂的需求。





有了大模型,每个人都可以

做到之前很难做到的事情

在过去,普通工程师如果想直接对软件的价值负责,是非常困难的。软件开发活动会涉及多个环节和技术领域,因此在大多数情况下,每个工程师只能负责整个开发过程中的一小部分内容。要想掌握全栈式开发技能,需要投入大量时间进行专业学习。能够独立完成从需求到设计、从实现到上线的工程师,更是凤毛麟角。

现在,在大模型的帮助下,对于一名对软件开发基本原理有所了解的工程师来说,熟悉多种语言、运用多种前后端框架、向前拓展需求分析和架构能力、向后拓展测试和运维能力,都不再是困难的任务。通过大模型辅助,个体的能力得到增强,工程师不必再花费大量精力与他人在工作细节上进行协同。把基于任务的低层次协同提升到基于价值交付单元的高层次协同,这会减少开发过程中不必要的损耗和摩擦,大幅提升软件开发的效率和工程师的交付能力。




通过实际案例,看懂专家使用

大模型辅助开发的底层逻辑

市面上少有的讲解大模型辅助软件开发的图书——《大模型辅助软件开发:方法与实战》来了!

真正结合当下程序员的需求!作者通过自己软件开发的多年经验,教你运用当下的最强工具大模型,实现开发需求。书中不仅介绍了软件设计的思想和底层逻辑,还手把手教你如何用好大模型。助大家成为开发效率超高的卓越工程师。

《大模型辅助软件开发:方法与实战》
张刚 | 著
本书围绕一个真实的案例展开,完整记录了一个融合专业技能和大模型能力的软件开发过程,真正从 0 到 1,介绍如何基于坚实的专业基础,借助大模型,实现从业务探索、需求分析、架构设计、编码实现到上线运行的完整过程,展示了大模型支持端到端软件开发的可行性。




作者简介

张刚,软件工程博士、资深技术专家、CCF 软件工程委员会执行委员、贝尔实验室杰出工程师。先后任职于阿尔卡特朗讯、上海理工大学和阿里巴巴。20 余年软件开发、架构设计和技术领导者的成功经验,先进软件工程方法与实践的持续探索者和积极传播者。 




内容概览

书中内容围绕一个真实的案例展开,介绍如何基于坚实的专业基础,借助大模型,实现从业务探索、需求分析、架构设计、编码实现到上线运行的完整过程,展示了大模型支持端到端软件开发的可行性。全书共 9 章,围绕软件开发的生命周期组织。

(目录提前看)





大咖评价

目前,利用大模型进行代码补全、片段生成、代码解释等工作的方法已经日渐成熟,我们需要思考如何利用大模型实现更加全面和系统的生成式软件开发,因为只有这样才能在更大的量级上实现软件开发的“提质增效”《大模型辅助软件开发:方法与实战》是当前少有的关于大模型辅助开发的系统性实践,将带领读者开启一场畅淋漓的体验:演进式设计思路主导下的高效人机协作。相信这本书对于学术界和工业界了解大模型辅助软件开发的成功之道以及确立下一步的研究与实践探索道路都大有裨益。


——彭鑫,复旦大学计算机科学技术学院副院长,教授,教育部长江学者
大模型及各类 Copilot 产品持续冲击视野,我不断思考一个问题:大模型是否会从根本上颠覆软件工程开发范式?具体说,大型可以做什么,不可以做什么?本书在前者给了我很多启示,例如基于 DDD 方法的 prompt 能够快速生成基本可用的模型代码!事实上,本书就在尝试定义工程师和大模型的交互边界。在软件工程根本之处探索总是富有乐趣的,感谢张刚老师展开的“小径”。
——许晓斌,阿里巴巴技术总监
毋庸置疑,丰富的软件开发和生成式 AI 使用经验能显著提升个人的开发效率。张刚博士作为一名在软件工程和架构领域有多年实践经验的工程师,也一直在生成式 AI 领域不断探索,并在这本书里分享这条探索之路上的宝贵经验,为读者提供了一个全面且深刻的视角:与关注如何使用模型相比,读者更应关注如何构建和设计出优秀的问题。这种问题构建能力,才是充分利用生成式 AI 的核心所在。
——黄峰达(@Phodal),Thoughtworks AI 辅助研发工具与开源负责人
这本书不仅适合希望建立软件开发全局观和想要了解现代软件开发实践的初学者,更适合希望借助大模型提升软件开发效率的专业开发者。感兴趣的小伙伴一键下单吧~👇

大模型甚至可以作为“软件工程师助理”,帮助工程师们完成一些重复性强、耗时长的任务,例如代码生成、文档编写和代码审查。这将极大地解放工程师的生产力,让他们专注于更具创造性和战略性的工作。【展望未来】

良好的易用性可以降低大模型的使用门槛和学习成本。选择提供友好界面、详细文档和技术支持的大模型更有利于开发人员快速上手和高效使用。【学术】

选择大模型辅助软件开发时,可以考虑其功能、准确性和易用性。不同的模型适用于不同的任务和领域,在选择之前可以先明确自己的需求和开发场景。

大模型在软件开发领域还有很多潜在应用前景,例如:辅助软件测试、自动生成测试用例、代码审查和缺陷检测等。通过利用大模型强大的自然语言处理和模式识别能力,可以提高软件测试的效率和准确性,降低人工测试的成本。

大模型目前在自然语言处理、图像识别、代码生成等领域表现突出,能在这些领域辅助人类完成复杂任务,达到接近甚至超越人类专家的水平。

不过,大模型也存在局限性,它们可能无法完全理解上下文的含义,生成的内容有时会存在事实错误或偏见,需要人类的监督和指导。相信随着大模型的不断发展,它们的应用领域和能力还将进一步拓展。【抖机灵】

在评估大模型的准确性时,可以查看其在相关任务上的表现指标,如准确率、召回率等。同时,也可以通过尝试使用大模型处理一些样例数据来直观感受其效果。

大模型擅长处理海量数据和复杂模式,能够生成高质量文本、翻译语言、识别图像和视频中的物体,甚至写代码和解决数学问题。

此外,大模型还可以辅助软件架构设计,通过分析代码结构和依赖关系,识别潜在的架构问题和改进建议。这将有助于提高软件的质量和可维护性。【偏娱乐】