程序员大杀器?带你玩转ChatGPT
作者:京东零售 栗鸿宇
ChatGPT简介
ChatGPT是一款基于AI技术的机器人对话软件,它能够与用户进行智能化的聊天对话,帮助用户解决日常生活中的问题,为用户提供丰富的信息和服务。它集成了海量知识库,能够回答用户的各种问题,包括日常生活中的常识性问题、文理科专业问题等,并且能够根据用户的需求提供个性化的信息服务。
同时,ChatGPT还拥有强大的学习能力,通过收集互联网上海量的文本资源,并在交流中不断地学习用户的交流习惯和语言表达方式,从而不断优化自身的对话能力,让用户在使用ChatGPT时感到越来越自然和舒适。
总之,ChatGPT是一款先进的机器人对话软件,能够为用户提供丰富的信息和服务,让用户在日常生活中获得更多便利和乐趣。
让ChatGPT自己介绍一下自己:
训练机制
官方博客中介绍到,ChatGPT是基于GPT-3.5(模型card:https://datalearner.com/ai-resources/pretrained-models/gpt-3-5 )微调的结果。ChatGPT是InstructGPT的兄弟模型(InstructGPT是官方训练的一个比GPT-3更好的遵循用户意图的语言模型,是基于OpenAI的alignment research技术研发的,比GPT-3更强的语言模型)。ChatGPT的训练使用了基于人类反馈的强化学习( Reinforcement Learning from Human Feedback,RLHF)。这点与InstructGPT一样,但是在数据收集方面有差异。OpenAI使用监督下的微调训练了一个初始模型:人类人工智能trainer提供对话,他们在对话中扮演双方—用户和人工智能助理。这可以让训练者接触到模型编写的建议,以帮助组成对应的回应。
编程能力
目前几家硅谷大厂都在朝着AI自动化编程努力:
•DeepMind的AlphaCode,据说「吊打72%人类程序员」,但尚未开放;
•传闻中谷歌的「神秘项目」Pitchfork,也还在酝酿中;
•前段时间大火的GitHub Copilot主要是一个代码补全工具。
但是要说以上工具完全代替人类程序员,它们还不够格。那么号称能学习人类思维来编程的ChatGPT能做到什么程度呢?
笔者首先丢给他一个LeetCode上经典的Hard难度问题:接雨水( https://leetcode.cn/problems/trapping-rain-water/ )
我在提问时并没有说明这是一道编程题,ChatGPT也能够正确识别并回答,说明拥有了一些理解提问者思想的能力。不到10秒钟,他就给出来了相应的示例代码,而且代码在leetcode上是可以AC的
但是上面的这些问题是不是直接通过搜索引擎搜出来,甚至是从AC的Solution里面摘抄出来的呢?
接着我给了一个面试时经常会问到的SQL问题:
这种应该就不是搜出来的,但是AI算法经过学习还是能够理解并写出答案。虽然这段代码还不能拿过来直接使用,但是基本逻辑是正确的,开发者可以按照真实的表结构修改后使用。
在回答的最后,ChatGPT甚至还会简单分析下代码的逻辑,因此这款工具对于理解复杂算法提供了很好的辅助手段。
作为实验,我又让他解释了下快速排序的时间复杂度:
可以看出虽然解释的内容相对简单,但是对于有一定基础的人还是可以快速理解的。
所以各位远程面试的面试官要小心咯!因为你不知道电话另一边的回答是不是来自于一个机器人的手笔
程序员终结者?
我在日常沟通、专业解答、编程方案等方面和ChatGPT聊了很久,发现这个AI确实要比之前那些聊天机器人强很多,大多数情况下给出的回答都能够符合预期
但是聊得多了就能发现,ChatGPT解决问题的策略更像是一个优秀的答案缝合思路,看到题目先联想是否做过类似的,然后通过已知的答案缝合成另一个答案,所以我觉得现阶段ChatGPT让大量程序员失业还不太可能
从已有的成果和调研来看,AI绘画出的图片(如Deep Dream、stable diffusion)可以抵得上很多有较长练习经验的人的水平,但是chatGPT输出的程序尚且达不到中高级程序员的可靠性,而且其给出的代码全部是方法级、片段式的,无法直接满足一个完整需求。如果把AI当做是一个私人助理,chatGPT是合格的,虽然他说的很多都是车轱辘话,但是也能保证说出的是“正确的,客观的,中肯的...”,尤其是针对编程问题和理科问题, 大部分时候给出的建议还是挺靠谱的 (不靠谱的回答会非常明显,一眼看穿)。
因此,作为一个类似于Siri或是Google Assistant的聊天机器人来说,是绝对比之前的AI好的,但是拿来写代码,我觉得基本上不太可能。因为程序员的工作不仅仅需要写代码,更需要遵循逻辑、根据复杂的需求场景构思出符合要求的完整工程。另外,根据我自身对于ChatGPT的测试结果来看,目前阶段,靠ChatGPT去写代码还不如靠搜索引擎,最多能看作一个助手,对于广大程序员来说是一个不错的辅助工具。
至于替代程序员的工作,只能说如果有人如果能被这玩意替代,应该也找不到什么好工作……
但是,这AI写车轱辘话的水平一流!营销号狂喜!
注册使用流程
技术有国界,想玩用梯子
要注册使用 ChatGPT,我们需要准备以下内容:
•能够访问Google的全局代理,推荐美国节点(实测亚洲节点如香港、新加坡节点会被ban);
•一个邮箱用于注册,如Gmail,Outlook;
•一个国外手机号,如果没有可以在第1步中通过第三方接码平台来完成注册
1. 账号注册
进入注册页面:https://chat.openai.com/auth/login
点击注册按钮,输入邮箱,还有你的注册账号,并设置密码
邮箱确认好之后,接下来要填入电话。
这里请大家注意,中国区的+86是不行的,如果你用GoogleVoice的话,也会被判别是虚拟电话,而做不了验证码。
需要通过下方平台接收短信
2. 使用第三方接码平台
打开网站:https://sms-activate.org/cn
点击右上角的注册按钮,在注册页面输入自己的邮箱账号,设置密码后提交。会给你的邮箱发一条验证邮件,点击邮件中的链接确认即完成注册。
我们注册后登录,在「余额」那里点击「充值」,使用支付宝充值 0.2 美金即可
然后,回到首页,搜索并选择OpenAi服务,加车后购买即可
3. 使用购买的号码激活
购买完成后,然后就可以在激活区域看到待使用的号码。
复制这个号码,然后把这个号码放在第1步最后的验证码接收区
点击接收验证码按钮后,可以回到第三方接码平台网站,看到验证码(从上面的截图中应该能够看到我有一个印度号码的使用记录),再次复制这个验证码填进去,这样就成功完成注册了
注册完后,就可以ChatGPT网站去登陆:
https://chat.openai.com/auth/login
大家快去调戏ChatGPT吧~~
程序员大杀器?带你玩转ChatGPT的更多相关文章
- 使用docker-compose 大杀器来部署服务 上
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- 使用docker-compose 大杀器来部署服务 上(转)
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- [转]使用docker-compose 大杀器来部署服务 上
本文转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker ...
- 使用docker-compose 大杀器来部署服务
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的.Freesacle.ADI.NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Si ...
- Postgresql-模糊匹配大杀器
# Postgresql-模糊匹配大杀器 ## 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser) ...
- [NewLife.XCode]反向工程(自动建表建库大杀器)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
- postgres模糊匹配大杀器
ArteryBase-模糊匹配大杀器 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser),使用全文 ...
- 一文读懂机器学习大杀器XGBoost原理
http://blog.itpub.net/31542119/viewspace-2199549/ XGBoost是boosting算法的其中一种.Boosting算法的思想是将许多弱分类器集成在一起 ...
- 离群点检测与序列数据异常检测以及异常检测大杀器-iForest
1. 异常检测简介 异常检测,它的任务是发现与大部分其他对象不同的对象,我们称为异常对象.异常检测算法已经广泛应用于电信.互联网和信用卡的诈骗检测.贷款审批.电子商务.网络入侵和天气预报等领域.这些异 ...
随机推荐
- 从小白到架构师(4): Feed 流系统实战
「从小白到架构师」系列努力以浅显易懂.图文并茂的方式向各位读者朋友介绍 WEB 服务端从单体架构到今天的大型分布式系统.微服务架构的演进历程.读了三篇万字长文之后各位想必已经累了(主要是我写累了), ...
- VUE学习2
目录分析 public目录 index.html是起始的html文件 # 这是关键 <div id="app"></div> src目录 main.js是V ...
- 聊聊mysql的事务
今天来聊聊事务的四大特性以及其实现原理,需结合之前写的mysql是如何实现mvcc的来理解,因为大多数的实现都是基于mvcc的,理论介绍完后会通过实例来演示mvcc又是如何实现这些隔离级别的 事务的四 ...
- 这是不是你想要了解SQL的艺术,基础语法等等
一.基础sql语句: 模块定义 基础语句 基础功能 数据定义 create table 创建数据库表 drop table 删除数据表 alter table 修改表结构 create view 创建 ...
- C++初阶(运算符重载汇总+实例)
运算重载符 概念: 运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似. 函数原型: 返回值 operator操作符(参数列表) 注意: ...
- CentOS 7.x字符界面安装图形界面方法
1. 配置好yum源,可以使用光盘镜像源,也可以使用网络源. 阿里源下载示例: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.ali ...
- 重学c#系列——枚举[二十三]
前言 该系列继续更新,枚举介绍. 正文 首先呢,枚举是值类型,这个没什么好说的. enum ConnectionState { DisConnected, Connecting, Connected, ...
- [排序算法] 堆排序 (C++)
堆排序解释 什么是堆 堆 heap 是一种近似完全二叉树的数据结构,其满足一下两个性质 1. 堆中某个结点的值总是不大于(或不小于)其父结点的值: 2. 堆总是一棵完全二叉树 将根结点最大的堆叫做大根 ...
- git回滚操作系列
git回滚操作系列 准备工作 本地环境 线上环境 分支 master 场景1 线上环境回滚,同步线上与本地操作 线上环境当前与本地一致 先把线上回滚至早期 获取提交日志 [root@root]# gi ...
- C温故补缺(三):存储类声明符(auto,register,extern,static)
auto,register,extern,static 四个存储类声明符,用于定义变量/函数的作用域和声明周期 ① auto:自动变量,即普通变量,在平时定义变量时会自动赋予其auto类型 被auto ...