開(kāi)發(fā)者「第二大腦」來(lái)襲,GitHub Copilot更新,人類開(kāi)發(fā)參與進(jìn)一步減少
是什么讓 Andrej Karpathy 感慨,人類在軟件開(kāi)發(fā)過(guò)程中直接編寫(xiě)代碼的貢獻(xiàn)將越來(lái)越小,直接輸入和監(jiān)督作用將更加抽象化。最終,人類的角色將僅僅是進(jìn)行基本的審核和確認(rèn),而不再是主要的編程和開(kāi)發(fā)者。
原來(lái)是 GitHub 新發(fā)布的 Copilot Workspace,它重新構(gòu)想了開(kāi)發(fā)者的內(nèi)部流程。如果 AI 開(kāi)發(fā)工具是開(kāi)發(fā)者的第二雙手,那么 Copilot Workspace 將是開(kāi)發(fā)者的「第二個(gè)大腦」。
在編碼的過(guò)程中,最頭疼的莫過(guò)于遇到不熟悉的軟件倉(cāng)庫(kù)、編程語(yǔ)言或框架。解決這些問(wèn)題帶來(lái)的困難,可能會(huì)拖延你完成任務(wù)的時(shí)間,甚至導(dǎo)致根本無(wú)法完成。在時(shí)間內(nèi)想要快速掌握這些,重振旗鼓并不容易。但 Copilot Workspace 或許能夠讓你事半功倍,甚至能夠幫助你完成更大、更復(fù)雜的任務(wù)。
Copilot Workspace,你的「第二個(gè)大腦」
Copilot Workspace 側(cè)重于任務(wù)選擇、意圖表達(dá)和與 AI 合作尋求解決方案。這樣做的目的是減少?gòu)?fù)雜性,提高生產(chǎn)力,同時(shí)還能保持軟件開(kāi)發(fā)中重要的方面,如決策和創(chuàng)造性和自主權(quán)。
你可以向 Copilot Workspace 提出問(wèn)題,它會(huì)自動(dòng)提出解決方案。Copilot Workspace 擁有問(wèn)題(包括所有評(píng)論和回復(fù))和代碼庫(kù)的全部上下文,因此它既能理解你想做什么,也能理解你的代碼具體內(nèi)容。如果 Copilot Workspace 提出的解決方案不完全正確,你也可以編輯流程中的任何步驟,從行為到計(jì)劃,再到代碼,全部都可以用自然語(yǔ)言完成。
Copilot Workspace 回答 GitHub 問(wèn)題
編輯流程中的步驟,進(jìn)行調(diào)整
Copilot Workspace 可在整個(gè)軟件包的粒度范圍內(nèi)運(yùn)行,并可跨不同編程語(yǔ)言對(duì)多個(gè)文件進(jìn)行連貫修改。它既能處理核心編碼任務(wù),也能處理腳手架類型的任務(wù),如「建立測(cè)試框架 」或「為持續(xù)集成編寫(xiě) GitHub Actions 工作流」。它已在 GitHub Next 中被使用,用于開(kāi)發(fā) Copilot Workspace 自身和其他項(xiàng)目。
以任務(wù)為中心的工作流程
Copilot Workspace 能夠幫助開(kāi)發(fā)人員完成完整的開(kāi)發(fā)任務(wù),這些任務(wù)通常以 GitHub 問(wèn)題的形式指定和跟蹤。因此,Copilot Workspace 可以將問(wèn)題作為輸入,自動(dòng)提取代碼的當(dāng)前行為,提出可解決該問(wèn)題的新行為,制定計(jì)劃,并實(shí)施該計(jì)劃(即編寫(xiě)代碼)。Copilot Workspace 擁有問(wèn)題的全部上下文,包括所有注釋,甚至可以跟蹤問(wèn)題中的鏈接以提取信息,幫助完成任務(wù)。
用戶反饋和迭代是 Copilot Workspace 所注重的。從建議的新行為、計(jì)劃到實(shí)施,你可以編輯流程的每一步。例如,在實(shí)施計(jì)劃并看到代碼后,您可以返回并調(diào)整行為或計(jì)劃,然后再試一次。你甚至可以在多個(gè)標(biāo)簽頁(yè)中打開(kāi)同一個(gè)問(wèn)題,探索幾條不同的路徑。
使用展示
之前使用 LLM 完成開(kāi)發(fā)人員任務(wù)的嘗試主要集中在對(duì)話上,但 Copilot Workspace 更加基于任務(wù)的用戶界面具更加結(jié)構(gòu)化,并且有明顯的優(yōu)勢(shì):
- 1. Copilot Workspace 可以全面了解問(wèn)題的來(lái)龍去脈,從而提出正確的解決方案。
- 2. 結(jié)構(gòu)化的輸出(原始和修改后的行為、計(jì)劃和實(shí)施)使得用戶可以在恰當(dāng)?shù)某橄髮哟紊戏奖愕刂笇?dǎo) Copilot Workspace。
目前,Copilot Workspace 以 GitHub 的問(wèn)題作為起點(diǎn),但計(jì)劃未來(lái)將支持更多的入口點(diǎn)。例如,Copilot Workspace 可以幫助開(kāi)發(fā)人員處理通過(guò) CodeQL 發(fā)現(xiàn)的安全警報(bào),遷移到新版本的依賴庫(kù)或從一個(gè)庫(kù)遷移到另一個(gè)庫(kù),以及解決 PR 審核中的評(píng)論問(wèn)題。
云驅(qū)動(dòng)的智能體
GitHub 結(jié)合 AI 智能體技術(shù)和 GitHub Codespaces 實(shí)現(xiàn)無(wú)頭、短暫、安全的計(jì)算方式。當(dāng)用戶點(diǎn)擊「運(yùn)行」按鈕時(shí),后臺(tái)中會(huì)創(chuàng)建一個(gè)新的 codespace,將修改后的代碼推送到其中,并嘗試構(gòu)建項(xiàng)目。如果構(gòu)建失敗,我們會(huì)將錯(cuò)誤信息和代碼反饋給 Copilot Workspace,并要求其修復(fù)構(gòu)建。一旦構(gòu)建成功,修改后的代碼會(huì)同步回 Copilot Workspace 的用戶界面,讓用戶看到構(gòu)建是如何被修復(fù)的。如果運(yùn)行的項(xiàng)目是 Web 應(yīng)用,codespace 上的端口會(huì)轉(zhuǎn)發(fā)到只有該用戶能訪問(wèn)的 URL。用戶可以點(diǎn)擊并查看 Web 應(yīng)用的實(shí)時(shí)預(yù)覽,從而直觀地驗(yàn)證 Copilot Workspace 是否按照他們的預(yù)期執(zhí)行。
由于大型語(yǔ)言模型(LLMs)并不完美,許多任務(wù)的「最后一公里」顯得十分重要。Copilot Workspace 允許你打開(kāi) Codespace 并從中斷的地方繼續(xù),可以在具有安全運(yùn)行時(shí)的完整云 IDE 中完成任務(wù)。
為協(xié)作而設(shè)計(jì)
只需點(diǎn)擊「共享」按鈕,Copilot Workspace 就能輕松共享工作區(qū)。由于用戶體驗(yàn)是結(jié)構(gòu)化的,因此它能捕捉到會(huì)話的整個(gè)活動(dòng)日志,這也是了解實(shí)施方案為何如此的好方法。你可以查看計(jì)劃,觀看每一步的實(shí)施過(guò)程,然后通過(guò)點(diǎn)擊用戶界面中的計(jì)劃步驟導(dǎo)航到相應(yīng)的代碼變更。這豐富了代碼審查形式,在這種審查中,代碼差異及其原因都一目了然。
GitHub 計(jì)劃添加注釋和多人編輯功能,Copilot Workspace 將能在一個(gè)工具中同時(shí)處理開(kāi)發(fā)人員內(nèi)循環(huán)和審查循環(huán)。