用 AI 编程-释放ChatGPT的力量

最近读了本书,是 Sean A Williams 写的,感觉上还是相当不错的。一本薄薄的英文书,还真是写的相当好。如果你想看,还找不到,可以考虑私信我吧。

ChatGPT for Coders

Unlock the Power of AI with ChatGPT: A Comprehensive Guide to Efficient and Effective Coding

下面这篇内容,基本上是我的读书笔记与自己的感悟。

先看一下下面这一段视频,它是一个最直观的 Transformer,有输出就有输出(是不是跟有问题就有答案像的狠呢?)

GPT能干什么

GPT 做为一个生成网络,只要有输入就一定给个输出,同时有一定的随机性,也不能保证它的输出一定是人类期望的结果(这个是现在AIGC 里最难的做对齐的那部分RLHF)。在这个基础上我们来理解 GPT 能干什么吧。

本质上 GPT 是一个针对输入产生输出的生成模型。不过它可以针对输入做多种任务的输出:翻译、总结、回答、代码生成等。

对于程序员来讲它可以做下面的事

  1. 根据输入的要求输出代码。
  2. 根据输入的信息进行 Debug。
  3. 根据输入的错误信息提供解决问题的思路与方法。
  4. 可以集成到 IDE 或者别的什么里边辅助完成功能。
  5. 解读各种语言的代码,理解它的功能。
  6. 提供一定的自定义能力,或者说定制化。
  7. 一个很强大的 NLP 工具或者 NLP 库。

实际上在使用 GPT 做编程辅助的时候,能感受到的就是效率的快速提升,还有低端编码工作的快速被替代。同时它还能极大的 扩展一个熟练级别员工的工作能力范围。建议任何一个老板都给自己的员工这样一个工具。少花钱,多做事。

如果 GPT 的对齐能力更好,那肯定是能替换越来越多的低端编码人员。所以,我真的不建议那些现在还在考虑转行到 IT 行业的人继续这样的行动。

下面就分别介绍一下它。

如果你要用 GPT 编程你需要清晰的知道 ,它不会完成你的所有功能,它会有错误,尤其是内存问题,逻辑可能没问题,但是内存的使用与管理一定会有问题。

你可以把它当成一个有一定 CS 知识的刚毕业的学生,这可能暂时是一个恰当的水准,但是它有时还能给你惊喜。

所以你要使用它编码,你要给出清晰的功能指令描述,还有你期望使用的一些技术,如变量命名规则,那些部分使用函数,那些部分使用类,那些部分使用 DesignPattern,你只有完成了这些东西的构想或者说逻辑设计 在自己的脑海里,才能更清晰的指望 GPT 帮你完成了。

举个例子吧:

Prompt:完成一个 TODO 的功能,用 Django 框架,写出相应的 View 及 Template 代码。

你能精确的得到 views.py, models.py, todo 相关的 template 代码。但是怎么运行,还有创建这个 App 它是不会告诉你的。

而下在贩 Prompt 可能就会告诉你所有的。

用 Django 完成个 TODO 的 Demo,给出所有的相关代码 。

它返回的是所有的 Python 代码 、Template 代码还有交互。

所以,你用 GPT 编码时,要清晰的知道自己的指令能不能表达出自己的完整的需求。只有你能够清晰的表达了自己的逻辑,你才可以用 GPT 去做编码工作。它不能代替你做系统性的思考。但是可以辅助你做任何事。

但是,只要你有编程经验,我都比较建议你了解大模型的相关知识,学习一下如何将大模型应用到自己的工作领域中。如果不知道从何开始,可以看看知乎知学堂推出的《程序员的AI大模型进阶之旅》,这里有业内大咖带你了解和学习大模型的实现原理和应用技术,带你学习AI 大模型技术与编程相结合,培养独立训练大模型的能力,可以增加你的职场竞争力.

这两天就开课了,趁着免费,有时间的建议去听听

调试这件事是在做什么呢?处理代码的问题,让它完成正常的功能。所以要做 Debug,就需要你做的

  1. 清晰的理清逻辑是什么。
  2. 提供出错的代码及出错的信息。
  3. 扔给 GPT,让它尝试告诉你问题及如何修改。
  4. 把修改过的代码再确认一下,如果不成,重复 1~3.

不过,我建议你把这个东西在所谓的 Debug 之前也做一下,因为 GPT 是可以 做代码 Reveiw,也可以做静态检查,甚至光看代码就能评估出一部分错误的。所以为什么不早点用它呢?

编码用它,编译前也用它,编译后也用它。你要想什么事都可能有它的作用。

不过同时 要注意这几件事:

  1. 问题要清晰
  2. 代码要简洁
  3. 不要光指望它解决所有问题。

按我的个人经验,有效的 Debug 只有下面几种

Print、Log、Profile、Breakpoint、人肉看代码

GPT 高级技巧

数据库设计,我想 GPT 做的数据库设计还是在平均水平以上的,因为它既懂三范式,又有大量的实践经验。还能直接生成 SQL 对应各个数据库的,让你直接试用一下哦。那怕用它生成性能测试的都没问题。

接口调用,只要给它接口描述文档,它是一定可以生成正确的调用代码的。省时省力。

Web 开发,用它写基础的前后端代码我都干过,后端出错少,前端出错多,但是也不是不能解决的。

人工智能:数据处理它是比较擅长的,模型大概只能帮你想想,别的辅助代码可以帮你写写。挺好用的,但是也挺没用的。

自然语言处理,这个用它的 API 完全可以达到你期望的理想水平,就是有点儿贵。

最佳实践与避坑指南

尽信书不如无书,GPT 这东西可以用,但是全靠它,那就没有必要了。因类它得到的东西并不能保证正确与精简。

你最好只提供最小最精准的需求给它,这样它能给你个准确的结果。太广而泛之的东西,它给的结果并不一定是正确的,甚至是可能没用的。

如果你能给它一个 Few-Shot 的学习,它可能给你的结果更好。

多看看别人怎么用 GPT 的 Prompts,这样对你有足够的帮助。

不要相信 GPT 生成的操作多维数据甚至动态内存的代码。

关注我,带你学会 AI 与使用 AI 编程!

最后给大家分享一个我常用的国内可以访问的chagpt地址:https://ai.chatai-hub.com?share=wz
国内GPT地址

相关推荐
喵~来学编程啦26 分钟前
【论文精读】LPT: Long-tailed prompt tuning for image classification
人工智能·深度学习·机器学习·计算机视觉·论文笔记
深圳市青牛科技实业有限公司39 分钟前
【青牛科技】应用方案|D2587A高压大电流DC-DC
人工智能·科技·单片机·嵌入式硬件·机器人·安防监控
水豚AI课代表1 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
几两春秋梦_1 小时前
符号回归概念
人工智能·数据挖掘·回归
用户691581141652 小时前
Ascend Extension for PyTorch的源码解析
人工智能
用户691581141652 小时前
Ascend C的编程模型
人工智能
成富3 小时前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle
CSDN云计算3 小时前
如何以开源加速AI企业落地,红帽带来新解法
人工智能·开源·openshift·红帽·instructlab
艾派森3 小时前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
hairenjing11233 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机