首页 > 编程语言 >【译】下一个大型编程语言是英语(自然语言)

【译】下一个大型编程语言是英语(自然语言)

时间:2024-05-08 18:45:19浏览次数:22  
标签:编程语言 英语 代码 任务 Workspace Copilot ChatGPT 自然语言 CW

来源:every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces

GitHub Copilot 就像程序员的自动完成功能。

当你输入时,它猜测你想要完成什么,并建议它 认为 你将要编写的代码块。如果它猜对了——而它经常猜对——你只需按下 Tab 键,它会为你填写剩下的部分。在 ChatGPT 到来之前的 2021 年推出的 Copilot,是真正开始蓬勃发展的编程的第一个突破性生成 AI 应用案例。

如果 GitHub Copilot 就像自动完成一样,GitHub Copilot Workspace——目前处于有限的技术预览阶段——就像一个极其能干的双人编程伙伴,从不要求喝咖啡休息或 RSU。

这是一个让你可以从头到尾用纯英语编写代码而不离开浏览器的工具。如果你给它一个任务来完成,Copilot Workspace 将会阅读你现有的代码库,构建一个逐步构建它的计划,然后——一旦你点亮绿灯——它会在你观看的同时实现代码。

换句话说,这是一个代理。这类似于 Devin,一个编程的人工智能代理,其 发布公告 几个月前在网络上广为流传,据报道正在寻求新的融资,估值达到 $20 亿。我还没有得到那个(向 Devin 愤怒地挥动拳头!),但我可以访问 Copilot Workspace。

在过去的 24 小时里,我对 Copilot Workspace 进行了一些测试。我试图让它自己构建一个庞大而复杂的功能,但我也要求它执行更小、定义更清晰的任务。我的目标是看看我能向它要什么,它能处理什么样的任务,以及何时我会选择使用它而不是 ChatGPT。

简而言之:这种产品是编程的未来。详细答案见下文。

Copilot Workspace 是如何工作的

我一直在研究一个我们在 Every 使用的内部工具,叫做 Spiral。它允许用户构建和共享常见 AI 任务的提示——但更多关于这个的内容将在未来的文章中谈及。我设计了一个丑陋的部落纹身式的标志,我想用一个由 Keshav (我们其中一位才华横溢的设计师)设计的新标志来替换它。

这是一个并不难编写的改变,但有点烦人。你必须确保徽标在上下文中看起来正确,并且不会破坏周围元素的任何样式。这是那些太简单的任务之一,我通常会拖延直到我真的需要。

所以,我觉得这对 AI 来说是完美的。我决定尝试 Copilot Workspace——从这里简称为 CW——看看它能做到什么。

创建一个任务

首先,我打开了 CW 并创建了一个任务。任务是对你想让 CW 构建的内容的自然语言描述:

来源:作者提供的截图。

你会注意到,我给它的任务描述包括一些细节,比如我希望它修改的文件,我希望徽标出现的位置,以及徽标图像的文件名。我尝试了不同的提示(并查阅了 GitHub 文档),并了解到提供更多细节应该会带来更好的结果。

一旦我输入了任务,CW 对其进行处理并创建了一个规范:当前代码库的地图,以及成功看起来是什么样的一组标准。

明确你的成功想法

CW 通过一种类似于我出门买咖啡前所做的事情的过程来创建一个规范:我轻轻拍打我的裤子口袋,确保我带了手机、AirPods、钱包和钥匙。从某种意义上说,我在问我的裤子:“你是否装有我出门购买咖啡、确保我不会被锁在外面所需的所有必需品?”

根据他们的回答,——请耐心等待——我知道每个项目是存在还是缺失的。这帮助我制定计划,收集我需要找到以成功完成任务的东西。(自己注意:你的钱包总是奇迹般地夹在沙发和墙之间的某个物理上不合常规的位置。看那里。没找到?再看一遍。)

从某种意义上说,CW 也是这样做的。给定你指定的任务,它试图弄清楚你的代码库的当前状态(用裤子的话说,它轻轻拍打代码库,并发现钱包和钥匙丢失了)。然后,它提出了一组测试,以确定任务正确完成时你的代码库应该是什么样子的(现在钱包和钥匙已经安全地放在它们应该在的口袋里)。

为了更加简单,它用普通英语进行了说明:

此外,你可以编辑这个过程的每一步,如果你愿意的话,用自然语言添加自己的想法。基本上,你可以给 CW 提供你自己的成功测试标准,以便它在编写代码时进行检查。

一旦你对规范满意,就可以继续进行规划。

创建你的计划

如果规范阶段是关于弄清楚你的代码库需要做什么,那么计划步骤就是如何做。在这个阶段,CW 进入了代码库的细节,并写出了对每个文件所做的更改:

再次说明,所有这些都是在自然语言中发生的,如果你认为 CW 遗漏了某些内容,你可以编辑或添加任何内容到计划中。一旦你满意,你就点击

实现

——魔法开始了。

它编码!

我已经和 AI 编程超过一年半了,而这部分对我来说仍然非常有趣。当你点击 实现 时,CW 将接受你的计划,并在你的代码库内为你编写相应的代码。

你可以实时观看它的工作,最后,你可以看到每个文件的差异——一种查看任何更改亮点的方式:

通常情况下,当我使用 ChatGPT 时,我经常在浏览器和编程环境之间来回跳转,将代码复制粘贴到 ChatGPT 中,反之亦然。相比之下,CW 的体验完全集成到你的代码库中,所以你可以把手指离开键盘并观看。

看,妈妈,我不用手!

如果你对 CW 所做的更改满意,你可以创建一个 拉取请求,并立即将新功能合并到你的代码库中。这非常酷。

而且,它确实在正确的文件中创建了正确的代码:它用新的换掉了旧的标志——不需要编程或复制粘贴。

问题是:这种编程代理体验与使用 ChatGPT 或 Claude 完成相同任务相比如何?

GitHub Copilot Workspace 是编程的未来吗?

ChatGPT 就像是一个新鲜的空白笔记本:没有结构,你可以用它做几乎任何事情。但这意味着几乎没有防护栏,所以很难充分利用它。

Copilot Workspace 更像是一个子弹日记:它遵循一个流程来帮助你完成任务。它专为编程而设计,所以比 ChatGPT 更不灵活,但在某些情况下可能更有效。

在使用 CW 时,我注意到了一些事情。首先,它很慢。我尝试使用 CW、ChatGPT 和 Claude 对我们内部的 Spiral 应用程序进行相同的更新(使用相同的初始提示),以便我可以将它们并排进行比较。ChatGPT 和 Claude 都在 10-20 秒内返回了答案。CW 则需要两到三分钟才能返回。

我认为这是因为 ChatGPT 和 Claude 都只输出了我需要更改的小代码片段。相比之下,CW 重写了整个文件,这花费了更多时间。

正面看,我发现 CW 生成的代码质量更高。ChatGPT 和 Claude 都答对了,但它们都犯了一些微妙而讨厌的错误,我本来不得不手动清理。CW 确实花了更长的时间,是的,但它一次就做对了。

我花了一些时间试图黑 CW(别生气,GitHub,这只是友好的黑客攻击!)用各种提示注入来让它告诉我它底层使用的是哪些 AI 模型,但遗憾的是,它拒绝揭示它的秘密:

根据我对标志更换的经验,可以合理地假设 CW 在修复成熟代码库中经常出现的小问题或次要功能请求方面表现出色。它可能不会一次性完成所有任务,但对于小任务,它可能足够让工程师完成 90%的工作。而且它与 GitHub 深度集成,使得管理和合并更改变得容易。

但是关于圣杯:您能让它对一个大功能请求进行大范围地运行吗?我也试过。我一直想为 Spiral 创建一个团队共享流程,以便每个团队成员更轻松地共享螺旋。这个任务产生了更多的混合结果,但原因可能会让您感到意外。

为了开始,我写了一个简短的段落,说明了我认为共享功能应该如何工作,CW 为此建立了一个规范:

但是当我看着规范时,我的眼睛模糊了。一切看起来基本正确,但很难知道我是否应该让 CW 继续制定计划和实施,还是我需要退一步。

为什么呢?我意识到我对功能应该是什么没有很好的理解。有许多不同的共享方式,需要做出许多微妙的决定。CW 已经为我做出了这些决定。在某些情况下,这可能是很好的,但我很难辨别它做出了哪些决定以及它们对最终体验的影响。

基本上,我对我想要构建的东西有一个模糊的心理模型。CW 接受了这一点,并创建了它认为我想要的具体模型。但是尝试将 CW 的设计映射到我头脑中的模型是令人费解的。任务太大了;我觉得我需要以某种方式将其可视化。

所以尽管我并没有完全理解它,我还是继续要求它执行完整的实现,只是想看看会发生什么。当它开始编码时,我注意到它编写的代码中存在一些问题。它是根据它制定的计划编写代码的,但只有当我看到最终代码时,我才注意到计划中存在的问题。

我通常与 ChatGPT 没有这种经历。我认为这有两个原因。

首先,我经常要求 ChatGPT 问我关于我正在构建的功能的问题,以便在它开始规划如何构建功能之前完善任何未明确说明的内容。这有助于使我的思维更加清晰,使其计划更有可能是正确的。我们正在一步一步地共同建立功能的共享模型 - 因此我们都清楚最终它应该是什么样子。

第二,我经常在 ChatGPT,我的代码编辑器和我正在构建的任何应用程序的本地版本之间进行快速反馈循环。我正在完成一个功能的小部分,构建它,然后看到结果。因此,我可以快速看到 ChatGPT 创建的任何代码的下游影响,并朝着我想要的结果进行迭代。我没有像我之前对 CW 那样一次性要求 ChatGPT 构建整个功能。

在 CW 的一侧有一些简单的解决方案,有些是在我这边。在 CW 的一侧,如果我输入了一个任务后,CW 能够启动一个聊天会话,帮助扩展我实际想要的内容,然后再转移到具体说明,那就太棒了。有时我还不知道!我只有一个模糊的想法,我希望它能迫使我更加清晰,这样我们就可以一起建立对需要完成的工作的理解。

在我的这一端,有效地使用这样的工具将涉及学习了解它能处理哪些类型的任务,它能独立处理多么繁重的任务,然后明确地为此使用它。我需要学会如何成为这种模型的良好模型经理

它绝对还没有到我可以将一个复杂特性的模糊概念交给它并让它像我期望人类程序员那样端到端地构建的地步。但是如果正确使用,它可以大大加快创建该特性所涉及的许多任务。

Copilot Workspace 目前仍处于技术预览阶段,因此我预计它的一些缺点是在更广泛地发布之前解决的成长烦恼。

尽管有这些小问题,CW 无疑是朝未来发展的一步。英语正在变成一种编程语言。您仍然需要了解并使用脚本语言如 Python 或 Javascript,或者低级语言如 C。

但是大多数软件可能会始于像 CW 这样的界面中写入的句子。

这是作为程序员的激动人心的时刻。

标签:编程语言,英语,代码,任务,Workspace,Copilot,ChatGPT,自然语言,CW
From: https://www.cnblogs.com/apachecn/p/18180624

相关文章

  • 编程语言和Python语言介绍
    编程语言和Python语言介绍一、【编程语言介绍】【1】机器语言(1)机器语言是什么机器语言就是计算机可以理解的语言,可以直接通过机器语言操作我们的硬件计算机是基于电工作的,高频是0,低频是1计算机通过控制高低频变化来工作(2)机器指令通过制高低电频的变化组成一系列的指令......
  • 【初中英语提分神器】中考高频词汇大全003-D开头单词高频,轻松掌握,考试无忧!速来围观!
    PDF格式公众号回复关键字:ZKGCH003D开头单词高频动词1decide决定”或“判定We'llhavetodecidewhattodonext.(我们必须决定下一步该做什么。)Thejudgedecidedinfavorofthedefendant.(法官判定被告胜诉。)2dislike/hatedislike不喜欢Hedislikesbeingl......
  • 英语背单词 专四词汇 2024年04月 ChatGPT
    2024-05-312024-05-302024-05-292024-05-282024-05-272024-05-262024-05-252024-05-242024-05-232024-05-222024-05-212024-05-202024-05-192024-05-182024-05-172024-05-162024-05-152024-05-142024-05-132024-05-122024-05-112024-05-102024-05-092024-05-082024-05-072024-......
  • GPT3:使用大型语言模型构建创新的自然语言处理产品(一)
    GPT3:使用大型语言模型构建创新的自然语言处理产品(一)原文:zh.annas-archive.org/md5/2e1cd03e3bd6ec89040bbe656cecdba9译者:飞龙协议:CCBY-NC-SA4.0前言GPT-3,或称为生成式预训练转换器3,是由OpenAI开发的基于转换器的大型语言模型。它由惊人的1750亿参数组成。任何人都......
  • GPT3:使用大型语言模型构建创新的自然语言处理产品(二)
    GPT3:使用大型语言模型构建创新的自然语言处理产品(二)原文:zh.annas-archive.org/md5/2e1cd03e3bd6ec89040bbe656cecdba9译者:飞龙协议:CCBY-NC-SA4.0第六章:挑战、争议和缺陷每一次技术革命都带来争议。在本节中,我们重点关注GPT-3的三个最具争议性的方面:AI偏见被编码到模型......
  • 【初中英语提分神器】中考高频词汇大全002-B/C开头单词高频,轻松掌握,考试无忧!速来围观!
    PDF格式公众号回复关键字:ZKGCH002B开头单词高频连词1but然而Ilikeapples,butIdon'tlikebananas.我喜欢苹果,但我不喜欢香蕉。2because因为Ididn'tgotoschooltodaybecauseIwassick.我今天没去上学,因为我生病了3before在……之前;先于;以前;在……面......
  • 搞IT的为什么不建议搞底层(编译器、编程语言、)——当你搬进你的新家之后,你会在意这个楼
    文字表达引自:https://www.youtube.com/watch?v=KITqGv1qYg8当你搬进你的新家之后,你会在意这个楼是谁打的地基吗?你猜猜那些打地基的工人赚多少钱,卖你沙发电视机微波炉的人赚多少钱,当你在你温馨的小家里舒适的生活的时候,你会想这地基打的真好吗,只有一种情况下你会想到地基的事,就......
  • 【学位英语】常用短语总结,共314个
    让我们从"abideby"开始。句子:Shealwaysabidesbytherules,evenwhennooneiswatching.这句话意思是她总是遵守规则,即使没有人在看着她。通过这个句子,你可以联想到遵守规则的重要性,从而更容易记住"abideby"这个短语。句子:Heisabsentfromthemeetingtodaydueto......
  • 初中中考英语词汇大全003掌握常用词汇,轻松应对考试
    PDF格式公众号回复关键字:ZKCH0031ancient古代的;古老的modern现代的;时髦的official官方的;正式的;公务员foreign外国的;外来的2soonerorlater迟早;早晚有一天allthetime一直;始终overandover一遍又一遍;反复地inahurry匆忙地;立即;很快地3slower更慢......
  • Transformers-自然语言处理(七)
    Transformers自然语言处理(七)原文:zh.annas-archive.org/md5/a1e65552fc41f3b5a667f63d9bed854c译者:飞龙协议:CCBY-NC-SA4.0附录V:问题的答案第一章,什么是转换器?我们仍处于第三次工业革命。(True/False)False.历史上的时代确实有重叠。然而,第三次工业革命着眼于使世......