邓明轩:现在的大语言模型在架构上有多种路线,但是现在有一种观点认为,模型的架构本身并不重要,只要我们有充足的连接,即非线性的连接,并提供足够多的数据给模型进行训练,它就能够产生很好的效果 。因为这些模型内嵌了大量人类知识,尽管不是全部但可以通过使用足够大的模型将文本输入其中,进而实现预期的效果 。因此我个人认为,底层的算法结构可能并不会对上层的应用产生太大影响 。
关于代码质量检查工具的使用,我同意两位老师提到的观点,即最好的评估方法就是运行它 。现在普遍使用的是解释型语言和编译型语言 。在这种情况下,解释型语言具有一定的优势,因为可以直接将生成的代码输入语言环境中进行解释和运行,捕捉可能的错误,然后返回给大语言模型 。对于编译型语言如 Rust,需要设置额外的运行时环境来进行编译和运行 。总之,对于代码质量来说,“无论是白猫还是黑猫”,只要能够满足需求就是好的 。
此外,现在许多与大语言模型相关的接口使用的都是 Python,在神经网络和机器学习领域,Python 是主流语言之一,具有动态解析和良好的语言支持 。我认为,未来可能会进一步推动 Python 的发展,比如在大语言模型中生成一段代码后,直接在 Python 的运行环境中进行评估和调试,然后返回结果给大语言模型 。
现在有许多与语言相关的 LangChain 或其他外围框架,这可能是未来的发展方向之一 。通过额外的框架配合,可以在语言的运行环境中进行多轮对话,自动检查代码质量,无需人工干预,我们只需要描述要完成的任务,然后让系统开始运行即可 。如果出现错误,系统会自动进行修改,并再次运行 。
关于代码安全性,实际上在我了解 CodeWhisper 时,也思考过版权问题 。我们使用大语言模型生成的代码,但对于它的版权关系并不确定,比如它使用了什么开源许可证,如果你的代码在结构上与某个开源许可证中的代码完全一致,那根据过去的案例,你可能会被诉讼 。这对于使用这些工具的程序员来说是一个挑战 。
零基础如何使用 AIGC 工具
吴少杰:这里有个观众问题道,“零基础学员如何使用好这些工具,需要提升哪些点?比如大模型给出几段代码,但是我却不懂,很好的调试可以达到执行 。”
邓明轩:如果是零基础,那么了解一些编程概念是有必要的 。如果有一些基础,只是不够深的话,那与大语言模型进行互动是一个不错的方法 。
可以从简单的例子开始,比如我们之前写代码时常用的“Hello World” 。现在你可以要求模型给你一个 Rust 版本的“Hello World”,虽然可能一开始看不懂,但可以直接运行这段代码,如果出现错误了就把错误信息反馈给模型,询问出了什么问题,这样的交互循环可以让你快速学习新技术 。另外,还可以选择一段代码并要求模型解释它是做什么的 。然后进一步问,比如要在其中添加一个循环或者一个条件分支该如何实现?总之,你可以慢慢学习,逐渐形成对编程的基本理解,关注在代码的运行逻辑上,而不是语法结构 。
每种语言都不同,你并不需要详细研究每种语言的具体细节,只需要理解基本的概念,例如循环、分支,包括递归以及更复杂的数据结构等 。关键时通过交互的方式逐步构建这些概念 。我认为,有了这些工具之后,学习编程会更快速,而不是有些人担心的那样“程序员会失业,不需要学习了”,这实际上降低了编程和与计算机对话的门槛 。
Michael Yuan:“有了更好的工具后,程序员就要失业了 。”这种话我听了二十多年了 。我还记得过去有种说法,“大家都不要学计算机了,因为都要印度人去做了,你们没有机会了 。”但事实证明并非如此 。我对大语言模型的理解是,它是程序员的工具,程序员会用它来辅助其他人工作,这就是我不同意 OpenAI 那篇报告的原因 。
OpenAI 的报告声称洗碗和刷房子不会失业,但实际上洗碗也会失业,因为程序员会有更多的时间开发出洗碗机器人,取代所有洗碗的人,所以程序员也是可以卷走其他人工作的 。大模型可以大幅提高程序员的能力,有了大模型后可以很快地学习和理解 。
回到之前的问题,之前计算机科学的书籍和教育对我们有很大的影响,我自己也写过几本书,写书的时候通常会从背景开始、介绍概念开始 。有些语言容易有些就难,有些语言概念非常多,比如 Rust 概念很多,学习起来比较困难 。但使用大模型后,它可以解释很多东西,还可以完全根据你的学习需求进行定制 。
推荐阅读
- 爆火ChatGPT代码解释器食用指南,来了
- 逆天“魔法”正式解禁!GPT-4以来最强应用“代码解释器”上线!
- GPT是什么意思?了解深度学习中的语言生成模型
- 一些 Python 代码加速工具,让代码变得更简洁更迅速!
- 传统AI时代,终将过去?
- 怎么查苹果手机激活时间代码
- wps如何自动生成目录页
- 自己设置的样式如何自动生成目录
- word怎么自动生成目录内容
- 如何生成目录及页数页码