最近读了本书,是 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 是一个针对输入产生输出的生成模型。不过它可以针对输入做多种任务的输出:翻译、总结、回答、代码生成等。
对于程序员来讲它可以做下面的事
- 根据输入的要求输出代码。
- 根据输入的信息进行 Debug。
- 根据输入的错误信息提供解决问题的思路与方法。
- 可以集成到 IDE 或者别的什么里边辅助完成功能。
- 解读各种语言的代码,理解它的功能。
- 提供一定的自定义能力,或者说定制化。
- 一个很强大的 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,就需要你做的
- 清晰的理清逻辑是什么。
- 提供出错的代码及出错的信息。
- 扔给 GPT,让它尝试告诉你问题及如何修改。
- 把修改过的代码再确认一下,如果不成,重复 1~3.
不过,我建议你把这个东西在所谓的 Debug 之前也做一下,因为 GPT 是可以 做代码 Reveiw,也可以做静态检查,甚至光看代码就能评估出一部分错误的。所以为什么不早点用它呢?
编码用它,编译前也用它,编译后也用它。你要想什么事都可能有它的作用。
不过同时 要注意这几件事:
- 问题要清晰
- 代码要简洁
- 不要光指望它解决所有问题。
按我的个人经验,有效的 Debug 只有下面几种
Print、Log、Profile、Breakpoint、人肉看代码
GPT 高级技巧
数据库设计,我想 GPT 做的数据库设计还是在平均水平以上的,因为它既懂三范式,又有大量的实践经验。还能直接生成 SQL 对应各个数据库的,让你直接试用一下哦。那怕用它生成性能测试的都没问题。
接口调用,只要给它接口描述文档,它是一定可以生成正确的调用代码的。省时省力。
Web 开发,用它写基础的前后端代码我都干过,后端出错少,前端出错多,但是也不是不能解决的。
人工智能:数据处理它是比较擅长的,模型大概只能帮你想想,别的辅助代码可以帮你写写。挺好用的,但是也挺没用的。
自然语言处理,这个用它的 API 完全可以达到你期望的理想水平,就是有点儿贵。
最佳实践与避坑指南
尽信书不如无书,GPT 这东西可以用,但是全靠它,那就没有必要了。因类它得到的东西并不能保证正确与精简。
你最好只提供最小最精准的需求给它,这样它能给你个准确的结果。太广而泛之的东西,它给的结果并不一定是正确的,甚至是可能没用的。
如果你能给它一个 Few-Shot 的学习,它可能给你的结果更好。
多看看别人怎么用 GPT 的 Prompts,这样对你有足够的帮助。
不要相信 GPT 生成的操作多维数据甚至动态内存的代码。
关注我,带你学会 AI 与使用 AI 编程!文章来源:https://www.toymoban.com/news/detail-859870.html
最后给大家分享一个我常用的国内可以访问的chagpt地址:https://ai.chatai-hub.com?share=wz
国内GPT地址文章来源地址https://www.toymoban.com/news/detail-859870.html
到了这里,关于用 AI 编程-释放ChatGPT的力量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!