開發者「第二大腦」來襲,GitHub Copilot更新,人類開發參與進一步減少
是什么讓 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 更加基于任務的用戶界面具更加結構化,并且有明顯的優勢:
- 1. Copilot Workspace 可以全面了解問題的來龍去脈,從而提出正確的解決方案。
- 2. 結構化的輸出(原始和修改后的行為、計劃和實施)使得用戶可以在恰當的抽象層次上方便地指導 Copilot Workspace。
目前,Copilot Workspace 以 GitHub 的問題作為起點,但計劃未來將支持更多的入口點。例如,Copilot Workspace 可以幫助開發人員處理通過 CodeQL 發現的安全警報,遷移到新版本的依賴庫或從一個庫遷移到另一個庫,以及解決 PR 審核中的評論問題。
云驅動的智能體
GitHub 結合 AI 智能體技術和 GitHub Codespaces 實現無頭、短暫、安全的計算方式。當用戶點擊「運行」按鈕時,后臺中會創建一個新的 codespace,將修改后的代碼推送到其中,并嘗試構建項目。如果構建失敗,我們會將錯誤信息和代碼反饋給 Copilot Workspace,并要求其修復構建。一旦構建成功,修改后的代碼會同步回 Copilot Workspace 的用戶界面,讓用戶看到構建是如何被修復的。如果運行的項目是 Web 應用,codespace 上的端口會轉發到只有該用戶能訪問的 URL。用戶可以點擊并查看 Web 應用的實時預覽,從而直觀地驗證 Copilot Workspace 是否按照他們的預期執行。
由于大型語言模型(LLMs)并不完美,許多任務的「最后一公里」顯得十分重要。Copilot Workspace 允許你打開 Codespace 并從中斷的地方繼續,可以在具有安全運行時的完整云 IDE 中完成任務。
為協作而設計
只需點擊「共享」按鈕,Copilot Workspace 就能輕松共享工作區。由于用戶體驗是結構化的,因此它能捕捉到會話的整個活動日志,這也是了解實施方案為何如此的好方法。你可以查看計劃,觀看每一步的實施過程,然后通過點擊用戶界面中的計劃步驟導航到相應的代碼變更。這豐富了代碼審查形式,在這種審查中,代碼差異及其原因都一目了然。
GitHub 計劃添加注釋和多人編輯功能,Copilot Workspace 將能在一個工具中同時處理開發人員內循環和審查循環。