GitHub Copilot 現(xiàn)在也支持 Agent 模式了,也就是你交代給它一項(xiàng)任務(wù),包括改 Bug 或者開(kāi)發(fā)新模塊,不需要去特別說(shuō)明相關(guān)的代碼,它會(huì)自動(dòng)去代碼去找到合適的代碼,并解決問(wèn)題,就像你雇了一個(gè)工程師。
需要先下載 VS Code Insiders,然后在 GitHub Copilot Chat 的設(shè)置中啟用 Agent 模式。
另外他們首次展示了自主 SWE 智能體,也就是一個(gè)完全自主干活的 AI 軟件工程師,你只要下指令,不需要手把手的教它,它就能獨(dú)立去完成任務(wù),演示視頻中(見(jiàn)正文倒數(shù)第二段),可以直接后臺(tái)修復(fù) GitHub 上的 Issue,并且會(huì)實(shí)時(shí)更新進(jìn)展,最后的 PR,人類可以反饋,還可以進(jìn)行修改。
更多詳情可以看下面他們的博文:
GitHub Copilot:智能體覺(jué)醒
在 VS Code 中為 GitHub Copilot 引入 agent 模式,宣布 Copilot Edits 正式上線,并首次展示我們的 SWE 智能體。
GitHub Copilot agent 模式
當(dāng)我們?cè)?2021 年推出 GitHub Copilot 時(shí),我們的目標(biāo)非常明確:讓開(kāi)發(fā)者的生活更輕松,提供一個(gè)幫助他們編寫更好代碼的 AI 對(duì)手程序員(AI pair programmer)。“Copilot”這個(gè)名字體現(xiàn)了我們的信念:人工智能(AI)并不是要取代開(kāi)發(fā)者,而是始終站在他們這一邊。就像稱職的副駕一樣,Copilot 也可以獨(dú)立飛行:比如在提供 Pull Request 反饋、自動(dòng)修復(fù)安全漏洞或?yàn)槿绾螌?shí)現(xiàn)某個(gè) Issue 進(jìn)行頭腦風(fēng)暴時(shí)。
今天,我們通過(guò)更多智能體化(agentic)AI 的力量升級(jí)了 GitHub Copilot[3],在 VS Code 中推出了全新的 agent 模式,并宣布 Copilot Edits 正式上線。我們還為所有 Copilot 用戶在模型選擇器(model picker)中加入了 Gemini 2.0 Flash。更令人期待的是,我們首次展示了 Copilot 的全新自主智能體(autonomous agent),內(nèi)部代號(hào)為 Project Padawan。從代碼補(bǔ)全、聊天與多文件編輯,到工作區(qū)和智能體——Copilot 始終將人類置于軟件開(kāi)發(fā)這一創(chuàng)造性工作的中心。AI 會(huì)幫助你完成那些不想做的瑣事,騰出更多時(shí)間去做你真正想做的事情。
Agent 模式預(yù)覽版現(xiàn)已上線
GitHub Copilot 全新的 Agent 模式可以自行迭代其生成的代碼,識(shí)別錯(cuò)誤并自動(dòng)修復(fù)。它還可以建議需要在終端執(zhí)行的命令,并提示你執(zhí)行這些命令。它還能分析運(yùn)行時(shí)錯(cuò)誤并具備自我修復(fù)能力。
在 agent 模式下,Copilot 不僅會(huì)迭代它自己的輸出,還會(huì)迭代該輸出帶來(lái)的結(jié)果,并一直迭代下去,直到完成你所要求的一切子任務(wù)。也就是說(shuō),它不再只是執(zhí)行你指定的單個(gè)任務(wù),而是擁有推斷其它必要任務(wù)的能力——即使你并沒(méi)有在指令里顯式要求,但這些附加任務(wù)對(duì)最終結(jié)果而言是必不可少的。更棒的是,它還能自行發(fā)現(xiàn)并修復(fù)錯(cuò)誤,而不再需要你手動(dòng)將終端中的信息復(fù)制/粘貼回聊天窗口。
下面這個(gè)示例演示了 GitHub Copilot 如何構(gòu)建一個(gè)用于跟蹤馬拉松訓(xùn)練的 Web 應(yīng)用:
要開(kāi)始使用,你需要先下載 VS Code Insiders,然后在 GitHub Copilot Chat 的設(shè)置中啟用 agent 模式:
VS Code 的設(shè)置界面,搜索框內(nèi)輸入“Copilot Agent”,并顯示了“Chat Agent: Enabled”選項(xiàng)
接著,在 Copilot Edits 面板中,將模式從 Edit 切換到 Agent(就在模型選擇器旁邊):
Agent 模式將徹底改變開(kāi)發(fā)者在編輯器中的工作方式;同樣,我們也會(huì)將它帶到 Copilot 支持的所有 IDE 中。我們也清楚,目前的 Insiders 版本并不完美,歡迎你隨時(shí)提供反饋,幫助我們?cè)诮酉聛?lái)的幾個(gè)月中持續(xù)改進(jìn) VS Code 以及底層的智能體技術(shù)。
Copilot Edits 在 VS Code 中正式上線
去年 10 月,在 GitHub Universe 上我們宣布了 Copilot Edits。它結(jié)合了 Chat 和 Inline Chat 的優(yōu)勢(shì),采用會(huì)話式的交互流程,并且能夠在你管理的一組文件中進(jìn)行內(nèi)聯(lián)修改。
過(guò)去你們提供的反饋[4] 和 建議[5] 對(duì)我們幫助極大,使得這項(xiàng)功能今天得以在 VS Code 正式上線。感謝你們!
在 Copilot Edits 中,你可以先指定要被編輯的一組文件,然后用自然語(yǔ)言向 GitHub Copilot 發(fā)出需求。Copilot Edits 會(huì)在你的工作區(qū)內(nèi)對(duì)多個(gè)文件進(jìn)行內(nèi)聯(lián)修改,并提供專門的界面以便快速迭代。你可以在編寫代碼的狀態(tài)下隨時(shí)審閱建議的更改、選擇可行的部分,然后再通過(guò)后續(xù)對(duì)話來(lái)持續(xù)改進(jìn)。
在 Visual Studio Code 中的 Copilot Edits 面板里添加了多個(gè)文件
在幕后,Copilot Edits 借助了一種雙模型架構(gòu)來(lái)提高編輯的效率和準(zhǔn)確性。首先,基礎(chǔ)語(yǔ)言模型(foundation language model)會(huì)結(jié)合 Edits 會(huì)話的完整上下文,生成初始的修改建議。你可以在 OpenAI 的 GPT-4o、o1、o3-mini,Anthropic 的 Claude 3.5 Sonnet,以及如今新增的 Google Gemini 2.0 Flash 之間進(jìn)行選擇。為了帶來(lái)更優(yōu)體驗(yàn),我們開(kāi)發(fā)了一個(gè)推測(cè)式解碼(speculative decoding)端點(diǎn),對(duì)代碼改動(dòng)的應(yīng)用進(jìn)行優(yōu)化。在編輯器中,基礎(chǔ)模型的修改建議會(huì)被發(fā)送到這個(gè)推測(cè)式解碼端點(diǎn),然后在內(nèi)聯(lián)方式顯示給你。
Copilot Edits 之所以能奏效,是因?yàn)樗鼘⒄瓶貦?quán)交給你,包括設(shè)置正確的上下文并決定是否接受更改。整個(gè)過(guò)程充滿迭代:當(dāng)模型給出的方案有誤時(shí),你可以在多個(gè)文件中查看更改,接受正確的部分,然后繼續(xù)與 Copilot 進(jìn)行討論,直到你們一起到達(dá)滿意的解決方案。接受更改后,你可以運(yùn)行代碼驗(yàn)證是否生效;如果有需要,還可以在 Copilot Edits 中撤銷更改,回到之前的可用狀態(tài)。
Copilot Edits 位于側(cè)邊欄(默認(rèn)在右側(cè)),因此你可以一邊在左側(cè)的資源管理器、調(diào)試或源代碼管理視圖中進(jìn)行操作,一邊在右側(cè)查看和審閱所提議的修改。舉例而言,你可以在左側(cè)打開(kāi)測(cè)試視圖[6]執(zhí)行單元測(cè)試,同時(shí)在右側(cè)的 Copilot Edits 中查看建議的改動(dòng);這樣在每次迭代后,你都能立刻驗(yàn)證修改是否通過(guò)單元測(cè)試。
在使用 Copilot Edits 時(shí),語(yǔ)音輸入[7] 也是一種非常自然的方式。只需“對(duì)著” Copilot 說(shuō)出你的想法,就能實(shí)現(xiàn)順暢且具有對(duì)話感的交互。這種感覺(jué)就像與一位具有專業(yè)領(lǐng)域知識(shí)的同事在真實(shí)場(chǎng)景下進(jìn)行結(jié)對(duì)編程一樣,進(jìn)行不斷的迭代。
我們未來(lái)的開(kāi)發(fā)規(guī)劃包括進(jìn)一步提升應(yīng)用修改時(shí)的推測(cè)式解碼性能、支持從 Copilot Chat 切換到 Copilot Edits 時(shí)保持上下文、自動(dòng)推薦合適的文件加入編輯范圍、以及允許你對(duì)單個(gè)代碼塊的修改進(jìn)行撤銷。如果你想第一時(shí)間體驗(yàn)這些改進(jìn),請(qǐng)務(wù)必使用 VS Code Insiders[8] 以及預(yù)發(fā)行版本的 GitHub Copilot Chat[9] 擴(kuò)展。想要幫助改進(jìn)這項(xiàng)功能,請(qǐng)前往我們的倉(cāng)庫(kù)提交問(wèn)題[10]。
在 VS Code 正式上線的同時(shí),Copilot Edits 也已經(jīng)在 Visual Studio 2022 中進(jìn)入預(yù)覽階段。
Project Padawan:GitHub 上的 SWE 智能體
SWE 智能體最早在 這篇論文[11] 中被提出。這類智能體是 AI 驅(qū)動(dòng)或自動(dòng)化的系統(tǒng),可協(xié)助(或代表)軟件工程師完成各種開(kāi)發(fā)任務(wù),比如生成與審閱代碼、重構(gòu)或優(yōu)化代碼庫(kù)、自動(dòng)化測(cè)試或流水線,并為架構(gòu)、錯(cuò)誤排查和最佳實(shí)踐等提供指導(dǎo)。它們旨在分擔(dān)一些例行或?qū)I(yè)化的工作,讓軟件工程師能夠?qū)W⒂诟邇r(jià)值的任務(wù)。SWE 智能體的性能通常通過(guò) SWE-bench[12] 進(jìn)行評(píng)估,SWE-bench 包含了來(lái)自 GitHub 上 12 個(gè)熱門 Python 倉(cāng)庫(kù)的 2,294 個(gè) Issue-Pull Request 對(duì)。
我們很高興能夠?yàn)榇蠹沂状握故疚覀兊淖灾?SWE 智能體,以及它如何融入 GitHub 的使用體驗(yàn)。當(dāng)今年晚些時(shí)候我們推出“Project Padawan”(暫定名稱)時(shí),你將可以直接在任何 GitHub 客戶端中把 Issue 分配給 GitHub Copilot,讓它自動(dòng)生成完全測(cè)試過(guò)的 Pull Request。一旦任務(wù)完成,Copilot 會(huì)分配人類評(píng)審來(lái)審查 PR,并根據(jù)他們的反饋繼續(xù)完善。可以想象,這幾乎就像把 Copilot 本身當(dāng)作一個(gè)貢獻(xiàn)者加入到 GitHub 上的每一個(gè)倉(cāng)庫(kù)中。
在幕后,Copilot 會(huì)為它被分配的每個(gè)任務(wù)自動(dòng)創(chuàng)建一個(gè)安全的云端沙箱。隨后會(huì)異步克隆倉(cāng)庫(kù)、配置環(huán)境、分析代碼庫(kù),編輯相關(guān)文件并進(jìn)行構(gòu)建、測(cè)試和 Lint 檢查。此外,Copilot 還會(huì)結(jié)合 Issue 或 PR 中的討論內(nèi)容,以及倉(cāng)庫(kù)內(nèi)的自定義指令,從而充分理解任務(wù)的全部意圖以及項(xiàng)目的指導(dǎo)原則和規(guī)范。
與我們?cè)?Copilot Extensions 以及 Copilot 模型選擇器上的做法相同,未來(lái)也會(huì)提供更多機(jī)會(huì)讓大家在這種“AI 原生”的工作流里進(jìn)行集成,并與合作伙伴和用戶保持緊密的反饋循環(huán)。我們相信,當(dāng) Project Padawan 完整上線時(shí),它會(huì)徹底改變團(tuán)隊(duì)在處理那些關(guān)鍵但重復(fù)乏味的任務(wù)(比如修復(fù) bug 或創(chuàng)建并維護(hù)自動(dòng)化測(cè)試)時(shí)的方式。歸根結(jié)底,我們的宗旨是通過(guò)讓 Copilot 分擔(dān)這些工作,讓開(kāi)發(fā)者能夠?qū)W⒂谡嬲匾氖虑椤7判暮昧耍覀儠?huì)保持耐心,不會(huì)讓這個(gè)智能體墮入“黑暗面”。
引用鏈接
[1] Posts by Thomas Dohmke:https://github.blog/author/ashtom/
[2]@ashtom:https://github.com/ashtom
[3]升級(jí)了 GitHub Copilot:https://github.com/features/copilot/whats-new?utm_source=agent-awakens-announcement&utm_medium=blogtop&utm_campaign=agentic-ai
[4]過(guò)去你們提供的反饋:https://github.com/microsoft/vscode-copilot-release/issues/95
[5]建議:https://github.com/microsoft/vscode-copilot-release/issues/1098
[6]測(cè)試視圖:https://code.visualstudio.com/docs/editor/testing
[7]語(yǔ)音輸入:https://code.visualstudio.com/docs/editor/voice
[8]VS Code Insiders:https://code.visualstudio.com/insiders/
[9]GitHub Copilot Chat:https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat
[10]請(qǐng)前往我們的倉(cāng)庫(kù)提交問(wèn)題:https://github.com/microsoft/vscode-copilot-release?utm_source=agent-awakens-announcement&utm_medium=blog&utm_campaign=agentic-ai
[11]這篇論文:https://arxiv.org/abs/2405.15793
[12]SWE-bench:https://www.swebench.com/
-
BUG
+關(guān)注
關(guān)注
0文章
156瀏覽量
15957 -
CoPilot
+關(guān)注
關(guān)注
1文章
52瀏覽量
6306 -
GitHub
+關(guān)注
關(guān)注
3文章
481瀏覽量
17453
原文標(biāo)題:GitHub Copilot 現(xiàn)在也支持 Agent 模式,可以自主解決 Bug、修改功能
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+Agent開(kāi)發(fā)平臺(tái)
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+Agent的工作原理及特點(diǎn)
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+ 入門篇學(xué)習(xí)
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+初品Agent
Arm推出GitHub Copilot新擴(kuò)展程序
《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》第1-2章閱讀心得——理解Agent框架與Coze平臺(tái)的應(yīng)用
GitHub Copilot 可以免費(fèi)使用了!

GitHub Copilot與Bitbucket、Jira、Confluence集成使用指南

微軟Copilot Studio新功能:支持定制Agent 賦能用戶構(gòu)建自主智能體

評(píng)論