0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

微软首席技术官谈AI:基于描述性注释和消息签名生成函数主体

发表时间:2023-09-23 07:00:39

文章来源:炫佑科技

浏览次数:198

菏泽炫佑科技

微软首席技术官谈AI:基于描述性注释和消息签名生成函数主体

在微软的 Build 大会上,微软 CTO Kevin Scott 谈到了一个实验项目,其中一个接受代码训练的 AI 实际创建了程序:它基于描述性注释和消息签名生成函数体。 同样,一篇不相关的研究论文报告称,从一种语言到另一种语言的无监督翻译程序实际上比自然语言翻译更容易。

微软的demo很好,只是demo,研究论文只是研究论文。 微软的AI可以为一些相对简单的功能提供方法体。 这显然是相当有限的。 这就引出了一个问题:你到底如何编写注释来告诉人工智能该做什么? 我们只是用模糊的、不精确的人类语言来替换精确的编程语言中的描述吗? 我确信训练模型的成本比雇用程序员编写一些简短功能的成本更高。 编程工作几十年内不会消失自动化软件开发,程序员仍然有价值。

然而,对于我们来说,重要的是要考虑自动化对编程的未来意味着什么。 我可以告诉你,编程已经高度自动化,一个好的优化编译器已经是一个先进的人工智能系统,可以将你的提示转化为工作代码。

编程不会“消失”或“变得过时”。 然而,它的含义将会改变。 虽然微软的演示可能表明程序员*终可能会从编写简单函数的任务中解放出来,但代码生成引擎肯定是由程序员团队(也许是一支庞大的军队)构建的。 编写高级工具(例如编码引擎本身)的程序员可以松一口气。 对于设计 API 的程序员来说也是如此,因为您仍然需要提供函数/方法签名。

虽然这个演示可以输出函数,但我没有看到任何迹象表明它可以从它编写的函数构建更大的系统。 尽管它能够调用已经编写的函数,但它无法根据已经编写的规范组合大型程序。 它也许能够吐出一个简单的账单,但它肯定吐不出一个完整的计费系统。 毫无疑问,但这可能需要几十年的时间。 普通编码员现在很安全。

然而,这一壮举仍然引发了关于编程意味着什么的问题。 在视频中,凯文·斯科特 (Kevin Scott) 谈到了减少程序员花在乏味、重复性任务上的时间。 是的,这就是我们对人工智能的看法:它将减少花在乏味、重复性任务上的时间,并腾出更多时间进行创造性工作。 但让我们分解一下。 大多数编程都详细说明如何执行某些过程。 这可能是乏味的、经常重复的并且肯定容易出错。 我们确实需要更多地思考编程应该是什么。 用斯科特的话说,编程的“创造性”方面是什么?

我不确定“创意”这个词是否正确。 早在 20 世纪 60 年代和 1970 年代,程序员被称为“分析师”。 虽然这份工作可能与您现在所做的工作略有不同,但让我们考虑一下成为“分析师”意味着什么。 分析师分析问题; 他们考虑问题是什么以及如何有效解决它。 他们考虑将其分成几部分。 他们甚至可能想知道是否应该解决这个问题。 他们可能会思考应该如何解决它,它引发了哪些道德问题,以及应该如何处理这些问题。 软件会被滥用吗? 如果是这样,该怎么办? 可以采取哪些措施来防止滥用? 分析师需要考虑人们将如何使用该软件:用户界面是什么,用户体验是什么,以及残疾人可以使用它吗?

“分析师”本质上是在做软件架构:就软件应该做什么以及如何构建做出重大决策。 分析师和架构师需要了解业务案例。 他们需要从业务角度向管理者展示有关软件系统的决策。

我们强调通过“代码行数”来编写代码和衡量生产力是短视的。 只需看一下我们用于构建、测试、归档和部署代码的所有出色(且绝对必要)的工具即可。 但本质上具有革命性的工具并不能解决真正的问题:我们正在解决正确的问题吗? 有成千上万的应用程序通过了每个单元测试、每个集成测试和每个验收测试,但仍然难以使用。 我们正在学习我们很少考虑的软件的新方面:是否有群体需要使用我们的软件? 您的软件支持辅助功能吗? 无法使用计算机和互联网的人可以使用它吗? 设计系统,以便需要使用它的人可以轻松使用它。 我们需要更多这样的分析。

编程不仅仅是编写代码和函数。 这项工作*重要的部分与面试时在白板上写快速排序无关。 有很多事情需要思考; 目前,程序员花费太多时间赶在发布日期前编写代码微软首席技术官谈AI:基于描述性注释和消息签名生成函数主体,而不是考虑更大的事情。 这几乎总是别人的工作。 但无论是否投入生产,微软的研究都提供了一个思考编程真正含义的机会。 真正的工作是什么? 我们究竟想要实现什么目标?

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多