随着 AI 持续的发展跟整合,在程式开发上的协助不仅仅是在写程式的时候才可以派上用场,现在我们也可以透过 GitHub Copilot Workspace 这个功能在我们动手开发前一直到完成程式码送出都可以在这个功能完成,而这个功能也在 2024 年底推出公开的技术预览了,只要有付费的 GitHub Copilot 帐号都可以使用这个功能来协助开发,后面就来介绍这个功能跟简单的实际操作来展示可以达到怎样的效果。
说明
登入并取得授权
要使用这个功能之前会需要透过 GitHub 帐号 oAuth 授权的流程来取得授权,先连到 GitHub Copilot Workspace 来登入。
点选 Sign in with GitHub
之后可以看到熟悉的 oAuth 授权画面,点选授权就可以了。
如何使用 GitHub Copilot Workspace
接下来用一个简单的範例来展示如何使用 GitHub Copilot Workspace,首先要有一个 GitHub 上的 Repository,我这边就準备了一个用预设专案範本建立的 ASP.Net MVC 专案,里面还没有写任何的功能,就单纯是一个预设的站台。
然后透过 Issue 来建议新增一个新的功能。
比如说我要新增一个猜数字的游戏,并且把基本规则说明,建立好之后在 Issue 页面点选右下角的 Open In Workspace
,就会开启 GitHub Copilot Workspace 来协助我们开发这一个新功能。
这时候就会帮我们做脑力激荡,看要怎么完成这一个 Issue。
在脑力激荡的区块可以看到分为两个部分,一个会收集目前专案的状态,看是不是已经有建议的功能,因为我建立的是新的专案範本,所以会分析出来没有此功能,也没有任何输入的页面等等。
然后另一个区块则是建议的作法和步骤,我们也可以透过 Add Item
来新增没列到的项目,像是我想要顺便新增一个说明文件介绍游戏如何玩。
接下来点选 Generate plan
来产生之后 AI 的执行计画,
等了一阵子之后就会产生执行计画,这时候就会针对需要开发的项目列出每一个档案的执行步骤和产生的内容建议。
确认都是我们要的之后就可以点选 Implement selected files
来实做这些档案的内容。
这时候就可以看到 Copilot 帮我们把程式都写好了,也把需要修改的原本档案也修改好了。
如果觉得产生的结果不如预期或是要再修改的,就可以在左边的区块补上新的规则或是逻辑,让 Copilot 可以更新档案到我们要的结果。
如果都没问题就可以点选 Create pull request
来完成这个功能的开发了。
结论
本文简单的介绍了 GitHub 推出的 GitHub Copilot Workspace 这个功能,也在完全没有写到程式码的情境底下完成了一个功能,看似很强大,也会让程式设计师开始担心是不是要失业了?就我的看法是短期内还不太可能,但是我们的开发模式可能会因此改变,需要的技能也会不同,虽然 Copilot 都帮我们完成功能了,但是仍能需要有工程师来判断写的结果是不是有问题,包含逻辑或是安全性等等,AI 再怎么强大,最后做决策的还是得是人,不然完全没人可以审核跟把关产出的结果,如果系统是会影响到很多人的生计或是安全的话,不可不慎,所以短时间内是不可能完全取代工程师的,AI 只是帮我们节省下需要动手写很多程式码的阶段,最后产出还是得人来审核或是微调才行,工程师也会更需要知道怎么请 AI 帮我们改成我们要的逻辑。
参考资料
- Expanding Access to the GitHub Copilot Workspace Technical Preview