新增AI Agent,GitHub Copilot重大更新,超強自動化編程
全球最大開源平臺之一GitHub在官網宣布,對AI編程助手Copilot進行了重磅更新,增加AI Agent模式,可以自動迭代代碼,識別并修復BUG。
GitHub同時還發(fā)布了另一個Agent—Project Padawan的預覽版,主要協(xié)助開發(fā)人員自動執(zhí)行一些重復、繁瑣的開發(fā)流程,例如,設置開發(fā)環(huán)境、運行測試、合并代碼等。
此外,GitHub在去年10月推出的Copilot Edits功能現(xiàn)在可以使用了,其內聯(lián)聊天功能非常強大可高效管理開發(fā)文件,Copilot的回復也會直接顯示在代碼編輯器中,而不是單獨的聊天窗口中,極大提升開發(fā)和調試效率。
GitHub Copilot的Agent模式
在傳統(tǒng)的代碼編輯器中,開發(fā)者通常需要手動編寫代碼、調試、修復錯誤,來逐步完善功能。有的時候這些過程都是固定、枯燥的流程非常耗費時間。
所以,GitHub Copilot通過引入Agent模式來解決這一難點。在Agent模式下,Copilot能夠自動識別代碼中的問題,并提出解決方案,甚至可以直接修改代碼以解決問題。
例如,當開發(fā)者要求Copilot構建一個簡單的Web應用程序時,Agent模式下的Copilot不僅僅會生成初始代碼,還會自動檢查代碼的邏輯是否正確、是否存在潛在的漏洞,甚至會根據(jù)最佳實踐對代碼進行重構。整個過程是動態(tài)的,Agent會根據(jù)代碼的實際運行情況,不斷調整和優(yōu)化代碼,直到滿足開發(fā)者的需求。
國外科技博主解讀Agent模式
此外,Agent還具備代碼預測功能,不僅能解決開發(fā)者的實際問題,還能根據(jù)需求自動進行下一步功能。仍以上面的案例為主,當開發(fā)者要求Copilot為一個Web應用程序添加用戶登錄功能時,Agent不僅會生成登錄頁面的代碼,還會自動推斷出需要創(chuàng)建一個用戶數(shù)據(jù)庫、設計用戶驗證邏輯以及處理用戶會話管理等任務。
Copilot會根據(jù)這些推斷出的任務,逐步生成相應的代碼,并確保這些代碼之間的邏輯連貫有效。
Project Padawan
為了進一步提升開發(fā)效率,GitHub還發(fā)布了一個預覽版的Agent——Project Padawan。
Padawan的最大技術特點就是自主性很強,能夠自動完成從代碼生成到代碼審查的整個流程。例如,當你讓Padawan為電子商務網站的購物車功能,添加錯誤處理模塊。
Padawan會自動啟動一個安全的云沙箱,克隆倉庫,設置開發(fā)環(huán)境,并開始分析代碼庫。然后,根據(jù)任務的需求,編輯必要的文件,生成代碼,并進行構建、測試和代碼檢查。
還會為新功能生成相應的單元測試代碼,并確保這些測試通過。最后,Padawan還會創(chuàng)建一個拉取請求將代碼提交給開發(fā)者進行審查。
有時候在開發(fā)支付等敏感模塊時,開發(fā)人員肯定不想讓AI自動來處理,這時候就可以啟動“人機協(xié)作開發(fā)模式”,可以全程指導Padawan來完成開發(fā),還可以隨時接手。
Copilot Edits
當我們開發(fā)一個復雜的項目時,會有大量的文件組成,并且這些文件之間存在復雜的依賴關系。傳統(tǒng)的開發(fā)模式,就是在不同的文件之間來回切換,就算老手切換幾十個文件時難免也會出現(xiàn)遺漏和錯誤。
現(xiàn)在借助Copilot Edits,開發(fā)者可以在一個統(tǒng)一的界面中,同時查看和修改多個文件中的代碼。開發(fā)者可以通過自然語言指令需要修改的文件范圍,然后讓Copilot Edits根據(jù)指令進行修改。這些修改會直接反映在代碼編輯器中,開發(fā)者可以實時查看修改的效果,并根據(jù)需要進行調整。
例如,可以指定一個項目中的所有Python文件,并要求Copilot Edits將所有的print語句替換為日志記錄函數(shù)。Copilot Edits會立即掃描所有指定的文件,并在每個文件中進行相應的修改。
Copilot Edits的跨文件內聯(lián)修改功能不僅支持簡單的文本替換,還能夠處理復雜的代碼邏輯修改。
例如,開發(fā)者可以要求Copilot Edits在所有文件中查找并修復某個已知的安全漏洞,Copilot Edits會根據(jù)漏洞的特征,在代碼中找到相關的位置,并進行修復。
這個功能對于超大型開發(fā)項目來說非常有用,再也不怕眼花繚亂的文件夾啦~