全球最大開源平臺之一GitHub在官網宣布,對AI編程助手Copilot進行了重磅更新,增加AI Agent模式,可以自動迭代代碼,識別并修復BUG。
GitHub同時還發布了另一個Agent—Project Padawan的預覽版,主要協助開發人員自動執行一些重復、繁瑣的開發流程,例如,設置開發環境、運行測試、合并代碼等。
此外,GitHub在去年10月推出的Copilot Edits功能現在可以使用了,其內聯聊天功能非常強大可高效管理開發文件,Copilot的回復也會直接顯示在代碼編輯器中,而不是單獨的聊天窗口中,極大提升開發和調試效率。
GitHub Copilot的Agent模式
在傳統的代碼編輯器中,開發者通常需要手動編寫代碼、調試、修復錯誤,來逐步完善功能。有的時候這些過程都是固定、枯燥的流程非常耗費時間。
所以,GitHub Copilot通過引入Agent模式來解決這一難點。在Agent模式下,Copilot能夠自動識別代碼中的問題,并提出解決方案,甚至可以直接修改代碼以解決問題。
例如,當開發者要求Copilot構建一個簡單的Web應用程序時,Agent模式下的Copilot不僅僅會生成初始代碼,還會自動檢查代碼的邏輯是否正確、是否存在潛在的漏洞,甚至會根據最佳實踐對代碼進行重構。整個過程是動態的,Agent會根據代碼的實際運行情況,不斷調整和優化代碼,直到滿足開發者的需求。
國外科技博主解讀Agent模式
此外,Agent還具備代碼預測功能,不僅能解決開發者的實際問題,還能根據需求自動進行下一步功能。仍以上面的案例為主,當開發者要求Copilot為一個Web應用程序添加用戶登錄功能時,Agent不僅會生成登錄頁面的代碼,還會自動推斷出需要創建一個用戶數據庫、設計用戶驗證邏輯以及處理用戶會話管理等任務。
Copilot會根據這些推斷出的任務,逐步生成相應的代碼,并確保這些代碼之間的邏輯連貫有效。
Project Padawan
為了進一步提升開發效率,GitHub還發布了一個預覽版的Agent——Project Padawan。
Padawan的最大技術特點就是自主性很強,能夠自動完成從代碼生成到代碼審查的整個流程。例如,當你讓Padawan為電子商務網站的購物車功能,添加錯誤處理模塊。
Padawan會自動啟動一個安全的云沙箱,克隆倉庫,設置開發環境,并開始分析代碼庫。然后,根據任務的需求,編輯必要的文件,生成代碼,并進行構建、測試和代碼檢查。
還會為新功能生成相應的單元測試代碼,并確保這些測試通過。最后,Padawan還會創建一個拉取請求將代碼提交給開發者進行審查。
有時候在開發支付等敏感模塊時,開發人員肯定不想讓AI自動來處理,這時候就可以啟動“人機協作開發模式”,可以全程指導Padawan來完成開發,還可以隨時接手。
Copilot Edits
當我們開發一個復雜的項目時,會有大量的文件組成,并且這些文件之間存在復雜的依賴關系。傳統的開發模式,就是在不同的文件之間來回切換,就算老手切換幾十個文件時難免也會出現遺漏和錯誤。
現在借助Copilot Edits,開發者可以在一個統一的界面中,同時查看和修改多個文件中的代碼。開發者可以通過自然語言指令需要修改的文件范圍,然后讓Copilot Edits根據指令進行修改。這些修改會直接反映在代碼編輯器中,開發者可以實時查看修改的效果,并根據需要進行調整。
例如,可以指定一個項目中的所有Python文件,并要求Copilot Edits將所有的print語句替換為日志記錄函數。Copilot Edits會立即掃描所有指定的文件,并在每個文件中進行相應的修改。
Copilot Edits的跨文件內聯修改功能不僅支持簡單的文本替換,還能夠處理復雜的代碼邏輯修改。
例如,開發者可以要求Copilot Edits在所有文件中查找并修復某個已知的安全漏洞,Copilot Edits會根據漏洞的特征,在代碼中找到相關的位置,并進行修復。
這個功能對于超大型開發項目來說非常有用,再也不怕眼花繚亂的文件夾啦~
本文素材來源GitHub,如有侵權請聯系刪除
報告下載
大 佬觀點分享
關于RPA、AI、企業數字化轉型
(點擊文字即可閱讀)
| |
| | |
| | |
| | |
| |
行業知識交流分享,結識擴展人脈圈層
公眾號后臺回復【RPA】或者【流程挖掘】
可受邀加入相關的交流群
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.