开发者「第二大脑」来袭
开发者「第二大脑」来袭,GitHub Copilot更新,人类开发参与进一步减少
Copilot 帮助开发者完成更大、更复杂的任务。
原文来源:机器之心
图片来源:由无界 AI生成
是什么让 Andrej Karpathy 感慨,人类在软件开发过程中直接编写代码的贡献将越来越小,直接输入和监督作用将更加抽象化。最终,人类的角色将仅仅是进行基本的审核和确认,而不再是主要的编程和开发者。
原来是 GitHub 新发布的 Copilot Workspace,它重新构想了开发者的内部流程。如果 AI 开发工具是开发者的第二双手,那么 Copilot Workspace 将是开发者的「第二个大脑」。
在编码的过程中,最头疼的莫过于遇到不熟悉的软件仓库、编程语言或框架。解决这些问题带来的困难,可能会拖延你完成任务的时间,甚至导致根本无法完成。在时间内想要快速掌握这些,重振旗鼓并不容易。但 Copilot Workspace 或许能够让你事半功倍,甚至能够帮助你完成更大、更复杂的任务。
Copilot Workspace,你的「第二个大脑」
Copilot Workspace 侧重于任务选择、意图表达和与 AI 合作寻求解决方案。这样做的目的是减少复杂性,提高生产力,同时还能保持软件开发中重要的方面,如决策和创造性和自主权。
你可以向 Copilot Workspace 提出问题,它会自动提出解决方案。Copilot Workspace 拥有问题(包括所有评论和回复)和代码库的全部上下文,因此它既能理解你想做什么,也能理解你的代码具体内容。如果 Copilot Workspace 提出的解决方案不完全正确,你也可以编辑流程中的任何步骤,从行为到计划,再到代码,全部都可以用自然语言完成。
Copilot Workspace 回答 GitHub 问题
编辑流程中的步骤,进行调整
Copilot Workspace 可在整个软件包的粒度范围内运行,并可跨不同编程语言对多个文件进行连贯修改。它既能处理核心编码任务,也能处理脚手架类型的任务,如「建立测试框架 」或「为持续集成编写 GitHub Actions 工作流」。它已在 GitHub Next 中被使用,用于开发 Copilot Workspace 自身和其他项目。
以任务为中心的工作流程
Copilot Workspace 能够帮助开发人员完成完整的开发任务,这些任务通常以 GitHub 问题的形式指定和跟踪。因此,Copilot Workspace 可以将问题作为输入,自动提取代码的当前行为,提出可解决该问题的新行为,制定计划,并实施该计划(即编写代码)。Copilot Workspace 拥有问题的全部上下文,包括所有注释,甚至可以跟踪问题中的链接以提取信息,帮助完成任务。
用户反馈和迭代是 Copilot Workspace 所注重的。从建议的新行为、计划到实施,你可以编辑流程的每一步。例如,在实施计划并看到代码后,您可以返回并调整行为或计划,然后再试一次。你甚至可以在多个标签页中打开同一个问题,探索几条不同的路径。
之前使用 LLM 完成开发人员任务的尝试主要集中在对话上,但 Copilot Workspace 更加基于任务的用户界面具更加结构化,并且有明显的优势:
目前,Copilot Workspace 以 GitHub 的问题作为起点,但计划未来将支持更多的入口点。例如,Copilot Workspace 可以帮助开发人员处理通过 CodeQL 发现的安全警报,迁移到新版本的依赖库或从一个库迁移到另一个库,以及解决 PR 审核中的评论问题。
云驱动的智能体
GitHub 结合 AI 智能体技术和 GitHub Codespaces 实现无头、短暂、安全的计算方式。当用户点击「运行」按钮时,后台中会创建一个新的 codespace,将修改后的代码推送到其中,并尝试构建项目。如果构建失败,我们会将错误信息和代码反馈给 Copilot Workspace,并要求其修复构建。一旦构建成功,修改后的代码会同步回 Copilot Workspace 的用户界面,让用户看到构建是如何被修复的。如果运行的项目是 Web 应用,codespace 上的端口会转发到只有该用户能访问的 URL。用户可以点击并查看 Web 应用的实时预览,从而直观地验证 Copilot Workspace 是否按照他们的预期执行。