Copilot Workspace 是 GitHub 对基于人工智能的软件工程的一种体现
软件开发的未来是AI驱动的集成开发环境吗?GitHub提出了这个想法。
在周一于旧金山举行的年度GitHub Universe大会上,GitHub宣布推出Copilot Workspace,这是一个开发环境,利用GitHub描述的“Copilot动力代理”来帮助开发人员用自然语言进行头脑风暴、计划、构建、测试和运行代码。
GitHub的软件研发团队GitHub Next的负责人Jonathan Carter将Workspace定位为GitHub AI编码助手Copilot的进化版,是一个更通用的工具,基于最近推出的功能,如Copilot Chat,让开发人员可以用自然语言提问关于代码的问题。
据研究,我们发现,对于许多任务来说,开发人员最大的困难在于如何入门,尤其是如何解决编码问题,知道要编辑哪些文件以及如何考虑多种解决方案及它们的取舍,” 卡特说。“因此,我们希望建立一个能在开发人员产生想法或任务时接触到他们的人工智能助手,减少开始所需的激活能量,然后与他们合作对整个核心基地进行必要的编辑。”
最后统计显示,Copilot拥有超过180万付费个人客户和5万家企业客户。但卡特琳娜设想一个更大的用户基础,吸引他们的是一些具有广泛吸引力的功能扩展,比如Workspace。
卡特尔说:“开发人员花费大量时间处理编码问题,我们相信通过与人工智能的‘思维合作’,我们可以每天帮助开发人员更加强大。你可以将Copilot Workspace看作是一个伴侣体验和开发环境,它可以补充现有工具和工作流程,简化一类开发人员任务。我们相信,在不受现有工作流程限制的AI本机开发环境中可以提供很多价值。”
毫无疑问,内部压力迫使Copilot盈利。
根据《华尔街日报》的报道,每位用户每月Copilot平均损失20美元,有些用户给GitHub造成的损失高达80美元。竞争对手的数量还在不断增长。亚马逊的CodeWhisperer是其中之一,去年底该公司免费提供给个人开发者使用。此外还有一些创业公司,如Magic、Tabnine、Codegen和Laredo。
给定一个GitHub仓库或者仓库中的一个特定bug,Workspace可以利用OpenAI的GPT-4 Turbo模型构建一个计划来(尝试)消除bug或者实现一个新功能,依据对仓库的评论、问题回复以及更大的代码库的理解。开发者会得到bug修复或者新功能的建议代码,以及需要验证和测试该代码的事项清单,还有用于编辑、保存、重构或者撤销代码的控件。
建议的代码可以直接在工作区中运行,并通过外部链接与团队成员共享。一旦团队成员进入工作区,他们可以根据需要对代码进行完善和调试。
也许最明显的启动Workspace的方式是在GitHub仓库的问题和拉取请求左侧的新“在Workspace中打开”按钮。单击它会打开一个字段,用自然语言描述要完成的软件工程任务,比如,“为这个拉取请求中的更改添加文档”,一旦提交后,会被添加到新的Workspace视图中的“会话”列表中。
Workspace通过系统地一步一步执行请求,创建规范,生成计划,然后实施计划。开发人员可以深入其中的任何一步,以获取建议代码和更改的精细视图,并根据需要删除、重新运行或重新排序这些步骤。
卡特尔说:“如果你问任何开发者在新项目中容易卡住的地方在哪,你通常会听到他们说问题在于不知从何处开始。Copilot Workspace消除了这个负担,为开发者提供了一个开始迭代的计划。”
工作空间将在周一进入技术预览阶段,针对多种设备进行优化,包括移动设备。
重要的是,由于它还处于预览阶段,Workspace不在GitHub的知识产权赔偿政策范围内,该政策承诺帮助客户应对第三方索赔,声称他们使用的由AI生成的代码侵犯了知识产权。 (生成式AI模型众所周知地反复使用它们的训练数据集,而GPT-4 Turbo部分是在受版权保护的代码上进行训练的。)
GitHub表示还没有确定如何将Workspace进行产品化,但会利用预览版来“了解它带来的价值以及开发者如何使用它”。
我认为更重要的问题是:Workspace 是否能解决围绕 Copilot 和其他人工智能编程工具存在的问题?
GitClear对过去几年提交到项目存储库的1.5亿多行代码进行了分析,发现Copilot导致更多错误代码被推送到代码库中,并导致更多代码被重新添加而不是重复使用和优化,给代码维护者带来了麻烦。
在其他地方,安全研究人员警告称Copilot和类似工具可能会放大软件项目中现有的漏洞和安全问题。 斯坦福大学的研究人员发现,接受人工智能编码助手建议的开发人员 tend to produce less secure code。 (GitHub向我强调,它使用基于AI的漏洞预防系统来尝试阻止不安全的代码,另外还有一个可选的代码重复过滤器来检测公共代码的复制。)
然而开发者并没有回避人工智能。
在2023年6月的一项StackOverflow调查中,44%的开发者表示他们现在在开发过程中使用AI工具,26%的开发者计划即将使用。Gartner预测到2028年,75%的企业软件工程师将使用AI代码助手。
强调人工审查,或许Workspace能够帮助清理由人工智能生成的代码引入的混乱。随着Workspace进入开发者手中,很快我们就会发现答案。
“我们与Copilot Workspace 的主要目标是利用人工智能来减少复杂性,让开发人员可以更自由地表达他们的创造力和探索更多。”Carter说道。“我们确信人类与人工智能的结合总是优于单独的一个,这也是我们与Copilot Workspace 下注的方向。”