这篇文章的背景是同事推荐了一个人工智能程序员cursor,看了下简介说使用了GPT-4,比copilot都厉害? 什么是copilot? 什么是GPT-4?他是谁发布的?他们之间都是什么关系?
一、ChatGPT:由OpenAI开发的聊天机器人
发布时间
2022/11/30 发布
语言模型:
ChatGPT 目前使用的是ChatGPT-3.5Turbo。 是GPT03.5系列中最快速,最便宜,最灵活的模型。
费用:
ChatGPT正式收费了! 每月20美元(约134人民币)
地址
核心功能:
聊天机器人
公司:openAI(美国人工智能研究公司)
- 2015年12月创立,非营利公司。
- 2016年6月21日,OpenAI宣布了其主要目标,包括制造“通用”机器人和使用自然语言的聊天机器人。
- 19年4月15日OpenAI 五人击败 Dota 2 世界冠军;
- 2019年7月22日[微软]投资OpenAI并与其合作;
- 2020年6月11日,OpenAI宣布了GPT-3语言模型,微软于2020年9月22日取得独家授权。 1750亿参数
- 2023年2月2日,OpenAI宣布推出ChatGPT Plus订阅服务,可以让用户在高峰期优先使用人工智能聊天机器人 ChatGPT。
- 2023年2月16日消息,OpenAI买下了超优质域名AI.com,并将其链接跳转到了ChatGPT。
- 2023年3月15日,OpenAI正式推出GPT-4。
- GPT-4是多模态大模型,即支持图像和文本输入以及文本输出,拥有强大的识图能力,文字输入限制提升到了2.5万字。GPT-4的特点在于
- 它的训练数量更大;
- 支持多元的输出输入形式;
- 在专业领域的学习能力更强。
- GPT-4是多模态大模型,即支持图像和文本输入以及文本输出,拥有强大的识图能力,文字输入限制提升到了2.5万字。GPT-4的特点在于
旗下产品:
- Dall-E:美国图像生成系统,2021年1月5日
- Dall-E 2:文本生成图像系统,2022年4月6日
- Whisper : 自动语言识别(ASR)系统, 2022/9 发布
- ChatGPT: 聊天机器人程序,2022/11/30 发布
- GPT-4: chatGPT的语言模型,2023/3/14 发布
百度百科:语言模型是一个单纯的、统一的、抽象的形式系统,语言客观事实经过语言模型的描述,比较适合于电子计算机进行自动处理,因而语言模型对于自然语言的信息处理具有重大的意义。
GPT语言模型进化史:
- 18年初代
- 19年 GPT-2: 15亿参数 初步阅读,生成连贯段落
- 20年 GPT-3: 1750亿参数 有在上下文中学习的能力,可举一反三
- 22年 GPT-3.5:语言更流畅,有人类复杂的逻辑和思维
- 23年 GPT-4:能识别图片,识别和处理更复杂的指令
二、其他基于语言模型的聊天机器人产品:
- 百度:文心一言
- 谷歌:bard
- 复旦大学:moss
- 阿里云:通义千问
三、 微软 Copilot:AI助手
发布时间:
2023年3月17 发布, 微软Copilot是一种基于人工智能的代码自动补全工具。
语言模型:
GPT-4
在微软宣布将在 Office 中嵌入 GPT 之后,
Copilot 搭载着 GPT-4 模型,适用于全套 Microsoft 365(原名 Office)。Copilot 可以帮忙做会议纪要。更神奇的是,Copilot 还能直接把 SWOT 表加到指定 PPT 中,Copilot 的出现,可以让打工人不用再被 PPT 等繁琐的办公程序折磨
费用:
付费
核心功能:
它使用了大量的开源代码库和机器学习算法,可以根据上下文和用户输入来生成代码片段。
这个工具可以帮助程序员更快地编写代码,减少手动输入的工作量。但Copilot生成的代码可能不是完美的,需要程序员自己进行检查和修改。
Copilot 的意义:
- 它极大提高了用户的办公效率,
- 还将彻底改变人类和电脑的交互方式。
- 真正让广泛的观众感知的,是应用层面带来的便捷,这一点 Copilot 确实做到了
应用场景:
此前,微软宣布了
- 新版的必应(Bing)搜索,将搭载 ChatGPT,
- 网页浏览器 Edge 也将内置 OpenAI 的技术,帮用户浏览网页。
微软必应中整合进 ChatGPT 后,微软已经成为了 AI 聊天机器人领域的领导者。
限制:
-
Copilot目前还处于测试阶段,可能存在一些问题和限制。
-
微软过了试用天数要收费,国内受限,
四、 Cursor:专为编程与AI而设计的编辑器
但其实,Copilot X 不是第一个集成 GPT-4 模型的 AI 智能编程工具。在它发布的一两周前,一款名为 Cursor 的代码编辑器便已开始在技术圈内被疯狂传播。它主打一个亮点:通过 GPT-4 来辅助你编程,完成 AI 智能生成代码、修改 Bug、生成测试等操作。利用 GPT-4 强悍的编程能力,让 Cursor 成为第一个吃上螃蟹的代码工具。短短数日,它便收获了大量的开发者用户。同时,也有不少开发者通过它所内置的 Chat 功能,提前使用了 GPT-4。可惜的是,由于该编辑器完全免费开放,再加上 GitHub Copilot X 的发布,导致项目的运营成本越来越高。于是 Cursor 选择不再集成 GPT-4,也就是说,现在虽然 Cursor 还能用,但已经不基于 GPT-4 运行了。好消息是 Cursor 团队这两天已将代码开源到 GitHub 上了,有需求的开发者可自行定制。原文
发布时间:
2023-3
语言模型:
首个使用GPT-4的应用,目前已经退回到GPT3.5,可自定制
费用:
目前免费开源
核心功能:
是个IDE 编辑器,主要是 生成代码,优化代码,改正代码,解释代码等
支持的语言和操作系统:
Cursor 支持多种编程语言,如 Python, Java, C#, JavaScript 等,并且可以在不同的操作系统上运行,如 Mac, Windows, Linux 等。
可以使用vscode 插件吗?
不可以,并且未来计划要构建的一些功能也不能作为vscode插件使用
可以做什么:
虽然现在还处于早期阶段,但目前Cursor可以完成以下几个任务:
- 写作:使用比
Copilot
更智能的AI生成10-100行代码; - 差异:请求AI编辑一段代码块,并只查看建议的更改;
- 聊天:采用类ChatGPT界面,了解当前的文件;
- 以及更多:请求修复lint错误,在悬停时生成测试/注释等。
原理:
基于自然语言处理和机器学习技术,可以分析用户提出的问题,并从【代码库找到相关的代码来回答问题】
自然语言处理是一种计算机科学和人工智能领域的交叉学科,旨在使计算机能够理解、解释和生成人类语言。它涉及到语音识别、文本分析、机器翻译、情感分析等多个方面。在实际应用中,自然语言处理可以帮助我们更好地理解和利用大量的自然语言数据,从而提高工作效率和决策质量。
机器学习是一种人工智能的分支,它使用算法和统计模型来使计算机系统从数据中学习,而不是进行明确的编程。通过机器学习,计算机可以自动改进其性能,而无需人类干预。在现代技术中,机器学习被广泛应用于图像识别、语音识别、自然语言处理、推荐系统等领域。
源码架构
是基于Electron
+CodeMirror
搭建的
在Electron
架构之上主要构建了6个模块:
LSP
,语言服务,内置了对TS、Python、C++等常见的语言支持Settings
,一系列设置,比如OpenAI
的key,开启的语言服务等等Comment
,注释,生成注释用CodeMirror
,一些基于CodeMirror的补丁Chat
,核心模块,generation也在这里面,是与AI的交互部分,也是我们本文分析的重点模块extensions
,扩展,比如编辑器相关的扩展,自动补全,等等,目前还没有开放插件能力
与后台交互大致流程:
sequenceDiagram
client->>server(不开源):发起post请求,传递参数(如msgType, message,precedingCode, currentFlrName,currentRootPath,CurrentFileContents等)
server(不开源)-)client: 服务端将信息通过token的方式流式返回,`Content-Type'值是 'text/event-stream'`
请求参数:
msgType的值:
- edit
- generate
- freeform
在edit模式下,很容易会触发一个
continue
的请求,这是因为选中的文本,再加上AI返回的内容,很容易就会超过模型最大token的限制,所以Cursor
这里还加了一个continue
接口,用来接上之前不能一次性返回的内容,continue
的逻辑在源码中是有一个interrupted
作为标识的,如果判断是edit
模式并且因为token问题被中断了,就会触发continue
的逻辑
使用步骤:
下载编辑器
界面
- 右侧:
- chat:可以和内置AI聊天,同chatGPT
- more:默认回答是英文,可以在more里设置用中文回答我
- 左侧:文件夹列表
- 中间:编辑器区域,可以通过以下指令
- ⌘+K 直接输入要求
- ⌘+L 可以提问问题
- 底部:内置了终端,可以安装缺少的依赖
配置使用中文回答:
测试:
在光标处直接⌘+K
可选中代码直接⌘+L,然后输入问题
提出优化代码
替换优化的代码
总结:
- Cursor是一个AI语言模型,专门用于回答编程问题。我可以理解多种编程语言,并且可以提供代码示例和解释。
- chatGPT是一个自然语言处理模型,用于生成对话和文本。虽然我们都是AI模型,但是我们的设计和用途是不同的。
- 微软Copilot: 是微软在自家办公系列软件Office中最新研发的AI助手,搭载了GPT-4大模型。这是一款目前全世界最大系列办公软件和目前全世界最强大的AI语言模型相结合的产物, copilot可以理解为一个非常智能化的Office插件
有个公司叫openAI,他研究出了语言模型GPT,研究的不错,微软就投钱了,然后搭载着GPT-3.5语言模型的chatGPT就问世了,但是GPT-3.5还有改进的空间,所以他们研究出来了能识别图片的GPT-4,然后微软的office办公软件全都内置了这个语言模型,就是copilot。但是在他发布之前呢,有个团队就提前使用了GPT-4并且发布了一个叫cursor的编辑器,但是后面因为GPT-4太贵了,目前他们已经不用了。所以无论是chatGPT 还是 copilot 还是cursor 都是 GPT语言模型的应用。
相对来说,chatGPT更专注聊天机器人,cursor更专注代码编码,改正,优化。copilot为了办公的效率
问题:
是不是以后人工智能程序员越来越成熟了以后, 就不再需要前端程序员了呢?
我认为程序员不仅仅只是开发代码,他们还会设计,测试,维护,分析用户需求,与其他团队合作,按时交付等,所以暂时还不会失业的,哈哈。