愛鋒貝

標(biāo)題: GitHub 推出 Copilot X(集合 GPT-4),可自動補(bǔ)全代碼和 ... [打印本頁]

作者: ¤科技獸¤    時間: 2023-4-10 14:10
標(biāo)題: GitHub 推出 Copilot X(集合 GPT-4),可自動補(bǔ)全代碼和 ...
-----------------------------
作者: 失望的心    時間: 2023-4-10 15:38
程序員我覺得是一個很有意思的群體,他們的勞動工具是代碼,但是不同于絕大多數(shù)的行業(yè),他們在勞動的時候,不僅想著要完成工作任務(wù),還老想著去改進(jìn)勞動工具。
這才有了層出不窮的編程語言和各種框架,并且更新?lián)Q代如此之快。
就拿AIGC工具來說,這兩周的新工具推出,基本上是按天來算的,一天一個,甚至一天好幾個。
這個行業(yè)天生的就想著把工作自動化,能一鍵完成的就不允許自己按兩下鍵盤。
在github 這個copilot推出之前,話說為什么都喜歡叫copilot這個名字?
我現(xiàn)在的編程工作已經(jīng)完全離不開ChatGPT了,因為在以前我有想法,我得去找API,然后讀,然后畫半天時間才能寫出來。
但是現(xiàn)在因為我知道我想要做什么,并且知道用什么庫,怎么樣的邏輯,我可以讓chatgpt在很快的時間內(nèi)完成我想要的功能。
就比如前兩天的這個圖片轉(zhuǎn)字符畫的代碼,我自己寫可以,但是起碼得半小時,但是Copilot寫的話,不到2分鐘,我自己稍微改一下就行。
我只能說未來跟AI協(xié)作是不可避免了,甚至所有的行業(yè)都得如此。
作者: 慫55    時間: 2023-4-10 16:41
昨天晚上,GitHub 官方發(fā)推宣布,一款基于 AI 驅(qū)動的、跨時代代碼編輯器 GitHub Copilot X 橫空出世,將為開發(fā)者帶來前所未有的編程體驗!

(, 下載次數(shù): 273)
已開通了 GitHub Copilot 的同學(xué),可前往下方鏈接申請進(jìn)入 waitlist。
申請內(nèi)測:https://github.com/github-copilot/chat_waitlist_signup/join
上一代的 GitHub Copilot,在協(xié)助開發(fā)者完成編程任務(wù)時,便有著極其出色的體驗。誕生至今兩年,便自動生成了 46% 的代碼,更將編碼速度提高了 55%。

(, 下載次數(shù): 244)
此次更新的 GitHub Copilot X,又給我們帶來了哪些驚喜呢?請看:
下面,就讓我們來逐個看看,對于一個開發(fā)者來說,這些功能到底能有多震撼。
GitHub Copilot Chat

相信最近這些日子被 ChatGPT 和 Bing Chat 刷屏的你,對于這兩款產(chǎn)品的真實(shí)實(shí)力已經(jīng)沒有存疑。
那么,如果把他們的功能,都加到 GitHub Copilot 上呢?
沒錯,本次 GitHub Copilot X 將在產(chǎn)品中內(nèi)嵌一個聊天窗口,把 GPT-4 融合到實(shí)際開發(fā)場景,并集成至 VS Code 和 Visual Studio 上。

(, 下載次數(shù): 252)
這個聊天窗口可不一般,除了更進(jìn)行實(shí)時交互問答之外,它還可以完成諸如代碼內(nèi)容識別、報錯信息顯示、語音交流等操作。
通過這一功能,開發(fā)人員可深入分析和了解各個代碼塊的用途,快速生成單元測試,甚至還能一鍵修改 Bug,就問你猛不猛!
未來,或許我們不再需要一行行看代碼、找 Bug、寫測試了,而是直接改用 GitHub Copilot Chat 來迅速處理這些工作。
Copilot for Pull Requests

維護(hù)過開源項目,或者用 Git 進(jìn)行團(tuán)隊協(xié)作的同學(xué)應(yīng)該知道,規(guī)范化提交 Pull Request(PR) 對于項目開發(fā)者來說,到底有多重要。
一個清晰簡潔的 PR 描述信息,能讓代碼審查者一目了然,快速了解你的代碼變動情況,減少項目合并出錯的可能性,并提升溝通效率。
因此,Copilot 引入了 GPT-4 模型,試圖讓它通過動態(tài)提取與分析代碼的變更信息,自動生成描述。
開發(fā)者人員只需在 PR 描述中插入標(biāo)記,Copilot 便會自動識別,并進(jìn)行擴(kuò)展補(bǔ)寫。
支持的標(biāo)記,主要有以下幾種:
具體操作如下所示:
(, 下載次數(shù): 253)
Copilot for PR
https://www.zhihu.com/video/1622261928214114304
隨著后續(xù)產(chǎn)品的更新迭代,Copilot 還會新增名為 GentestGhost Text 的兩大功能。
Gentest:通過 AI 來識別 PR 中可能缺少的測試,并自動幫你構(gòu)建與生成測試。
Ghost Text:在你編寫 PR 描述或文檔時,提供內(nèi)容自動補(bǔ)全功能。
不僅如此,在你收到用戶提交的 issue 時,如果沒有比較好的解決方案,AI 會給你提供建議。審查代碼覺得麻煩,AI 也能協(xié)助。
估計再過不久,AI 還要幫你自動調(diào)整代碼、完善 PR、修復(fù) Bug 了。
說白了,這貨要開始搶你飯碗了...
Copilot for docs

文檔對于一個開發(fā)者來說,其重要性不言而喻。無論你是新接手一個項目,還是忘記某個 API 的具體使用方法。
這個時候,你都會殷切的盼望有一份優(yōu)秀的技術(shù)文檔能出現(xiàn)在你面前。
為了幫你更快定位文檔內(nèi)容,簡單直接獲取到想要的信息,Copilot for docs 應(yīng)運(yùn)而生。
用戶能通過類似 ChatGPT 的界面,針對項目文檔、常用代碼等內(nèi)容發(fā)起提問,即時獲取答案。
你所需要做的,就是在輸入框中,寫下你想了解的問題,按下回車,Copilot 便會自動定位并返回包含在文檔中的相關(guān)內(nèi)容。
(, 下載次數(shù): 257)
Copilot 智能文檔
https://www.zhihu.com/video/1622262080786116608
還有個比較厲害的地方,就是它能根據(jù)用戶的不同編程水平,對該文檔的了解程度,以及想要知曉的內(nèi)容,返回不同的答案。

(, 下載次數(shù): 240)
如果有需要的話,它也能在不同的第三方庫文檔之間來回穿梭,將其內(nèi)容進(jìn)行拼接,并給你返回結(jié)果。
有興趣的話,不妨嘗試把 Copilot for docs 變成你的知識庫,相信會有意想不到的收獲。
Copilot for CLI

除了上面提到的處理 PR 請求與編寫代碼,命令行終端也是開發(fā)者日常工作必不可少的工具之一。
我經(jīng)常喜歡在 iTerm 上安裝各種各樣的命令行生產(chǎn)力工具,這些工具在大多時間能幫我高效處理掉一些問題,但那些比較少用的,就會經(jīng)常性忘記命令。
每當(dāng)這個時候,我便總會輸入 help 來獲取關(guān)于該命令的更多信息。
對于功能較為復(fù)雜的命令行工具,還得時不時跑到 StackOverflow 上尋找正確用法。
如果有一個 AI 在身邊,聽明白我的訴求,幫我快速搞定一切,那就再好不過了。
于是乎,Copilot for CLI 帶著它那 3 個 shell 命令來了。
這 3 個命令分別是:??,git?,gh?。
??可以作為任意 shell 命令的通用 goto,在該命令后面輸入相關(guān)描述,Copilot 便會列出最適用該描述的具體命令。
比如,你不清楚如何列出所有 JavaScript 文件,只需要輸入:
>  ?? list js fileAI 便會提供可參考的命令以及描述,如果不滿意,還能進(jìn)一步更改描述。
確定之后,在終端選中 Run this command,然后按下回車即可。

(, 下載次數(shù): 204)
git?用于專門搜索以及調(diào)用git。
相比??, 它在生成 Git 命令方面要強(qiáng)大許多。
如果你明確要用的是 Git 命令,那可以優(yōu)先選擇使用這個。

(, 下載次數(shù): 249)
gh? 結(jié)合了 GitHub CLI 命令的靈活性與查詢界面的便捷性,強(qiáng)強(qiáng)聯(lián)手,讓搜索變得更加快捷、信息展示更為清晰。

(, 下載次數(shù): 232)
內(nèi)測申請:https://githubnext.com/projects/copilot-cli
雖然 GitHub Copilot CLI 大部分場景主要集中在 Git 以及 GitHub 上,但是與 AI 相結(jié)合之后,互動性與連貫性得到了進(jìn)一步提升。這種方式,相信也能給其他的命令行工具開發(fā)者,提供一些參考思路。
Copilot Voice

前幾年,GitHub Copilot 剛放出來的時候,網(wǎng)上就有人討論:"AI 那么強(qiáng),興許后面我動動嘴皮子,它就能幫我寫出想要的代碼了"。
估計大家都沒想到是,這一天來得竟如此之快。
Copilot Voice,一個極其具有突破性的編程工具,出現(xiàn)了。
用戶通過與 GitHub Copilot 進(jìn)行交談,它就能立即開始編寫代碼,直接解放你的雙手!
不滿意的話,還可以接著說話,讓它進(jìn)行更改。
通過對話,Copilot Voice 可以完成:
所有的工作,張張嘴就能搞定。
內(nèi)測申請:https://githubnext.com/projects/copilot-voice
Linux 創(chuàng)始人曾說:"Talk is cheap, Show me the code."
但是這一次,不好意思,我全都要。

(, 下載次數(shù): 263)
將來的某一天,當(dāng)你心血來潮,突然間想開發(fā)一個程序時,或許只需要喊一聲 "嘿,GitHub!",AI 便能幫你完成一切。
寫在最后

本次 GitHub Copilot X,圍繞 AI 對話、Pull Request 提交處理、文檔智能檢索與閱讀、命令行改造,到最后的語音生成代碼,可以說是全方位顛覆了傳統(tǒng)的編程方式。
當(dāng)機(jī)器人能夠準(zhǔn)確理解人類自然語言,學(xué)會從零到一,完成項目的設(shè)計、開發(fā)、部署等工作時。未來程序員這個群體,或許將跟電報員一樣,成為某個曾經(jīng)在歷史上出現(xiàn)過的普通工種。
事了拂衣去,深藏功與名。
文末,照舊安利一波我們的公眾號:GitHubDaily,平時主要分享比較實(shí)用或有趣的開發(fā)工具與 GitHub 開源項目,偶爾也會聊聊技術(shù)圈內(nèi)最近發(fā)生的新鮮事,感興趣的小伙伴可以關(guān)注一下~
文中所提到的所有開源項目與工具,已收錄至 GitHubDaily 的開源項目列表中。
該列表包含了 GitHub 上諸多高質(zhì)量、有趣實(shí)用的開源技術(shù)教程、開發(fā)者工具、編程網(wǎng)站等內(nèi)容。
從 2015 年至今,累積分享 3500+ 個開源項目,有需要的,可訪問下方 GitHub 地址自?。?br /> GitHub:https://github.com/GitHubDaily/GitHubDaily

(, 下載次數(shù): 251)
作者: 靜42    時間: 2023-4-10 18:32
嘿嘿,這部分其實(shí)可以用Cursor率先體驗一下,Cursor就是調(diào)用的是Copilot的接口(也是GPT-4)模型的。
用了一段時間了,實(shí)際體驗是簡單的那種一搜索一大片的代碼寫起來沒什么問題,但是稍微復(fù)雜點(diǎn)的代碼,就需要改了,而且很多細(xì)節(jié)問題拐不過彎來,比如我想用一維數(shù)組當(dāng)二維矩陣來用,他就寫一些亂七八糟的玩意出來了。
為了貼合這個阿斗,我特意捏了一個簡單的游戲引擎出來,并為它量身捏了一款腦癱版類c語compiler,好讓它幫我打工寫游戲。但是,稍微要動點(diǎn)腦子的代碼(根本不能叫復(fù)雜,稍微比easy難一丟丟的問題)基本9成需要自己改過,比如我讓他幫我寫一個迷宮生成算法:

(, 下載次數(shù): 238)
然后它幫我寫了一段:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ROW 20
#define COL 20

int map[ROW][COL];

void printMaze() {
    for (int i = 0; i < ROW; i++) {
        for (int j = 0; j < COL; j++) {
            if (map[j] == 1) {
                printf("■ ");
            } else {
                printf("□ ");
            }
        }
        printf("\n");
    }
}

void generateMaze() {
    srand((unsigned)time(NULL));
    for (int i = 0; i < ROW; i++) {
        for (int j = 0; j < COL; j++) {
            if (i == 0 || j == 0 || i == ROW - 1 || j == COL - 1) {
                map[j] = 1;
            } else if (rand() % 3 == 0) {
                map[j] = 1;
            } else {
                map[j] = 0;
            }
        }
    }
    map[0][0] = 0;
    map[ROW - 1][COL - 1] = 0;
}

int main() {
    generateMaze();
    printMaze();
    return 0;
}
可是入口和出口,都不是連通的

(, 下載次數(shù): 243)
我嘗試讓他修復(fù)這個bug,顯然這個為難它了,嘗試各種提示也不管用,不講碼德,拿一些根本不頂用的代碼來騙,來忽悠我.

(, 下載次數(shù): 265)

(, 下載次數(shù): 253)

還是不連通的,實(shí)際上一眼也看出來他在忽悠了

沒辦法,我只好在這個代碼的基礎(chǔ)上做點(diǎn)微調(diào)(感覺90%的工作其實(shí)還是我干的),包括固定了隨機(jī)數(shù)種子,然后用類似煉丹的方式變換種子終于搞出了一個至少能通關(guān)的地圖了

(, 下載次數(shù): 213)
附上代碼
#name "main"
#include "stdlib.h"

export void GameOnTrigger(string id)
{
   
}

export void GameOnDie()
{
   sleep(3000);
   defeat();
}

export void GameOnFood(string id)
{
    setspeed(0);
    sleep(1000);
    victory();
}

void drawmap(int x,int y)
{
    drawrect(x*20,y*20,20,20,1,1,1,1);
}

#define ROW 40
#define COL 40

export void GameInitialize(int width,int height)
{
    int i,j;
    createplayer(8,8,10);
    createfood(800-8,800-8,1,1,0,0,16,"food");
    setlayer(0);
    clearmap(1,0,0,0);
    rand();
    rand();
    rand();
    rand();  
    rand();
    rand();
    rand();
    rand();
    rand();
    rand();
   //就這段ai寫的
    for (i = 0; i < ROW; i++) {
        for (j = 0; j < COL; j++) {
           if (rand() % 3 != 0)
            {
                drawmap(i,j);
            }
        }
    }
    drawmap(0,0);
    drawmap(ROW - 1,COL - 1);
   //到這里
    wait(3000);
}


export void GameRun(int elapsed)
{

}還有幾個AI輔助創(chuàng)作的,也差不多,體驗就是,有用,但感覺也沒多有用(營銷號就不要整天吹什么取代了,光貼個生成代碼的截圖搞的跟真的一樣,有本事你點(diǎn)下編譯啊~)

(, 下載次數(shù): 235)
附上代碼
#name "main"
#include "stdlib.h"

int ate = 0;

export void GameOnTrigger(string id)
{
   
}

export void GameOnDie()
{
   sleep(3000);
   defeat();
}

export void GameOnFood(string id)
{
   ate++;
   if (ate==4)
   {
      setspeed(0);
      sleep(1000);
      victory();
   }
}

export void thread1()
{
   float angle1;
   float angle2;
   float angle3;
   float angle4;
   float angle5;
   while (1)
   {
      sleep(150);
      setlayer(1);
      clearmap(0,1,1,1);
      drawcircle(400,400,400,16,1,0,0,0);
      drawcircle(400,400,300,16,1,0,0,0);
      drawcircle(400,400,200,16,1,0,0,0);
      drawcircle(400,400,100,16,1,0,0,0);
      drawcircle(400,400,50,16,1,0,0,0);

      angle1=angle1+3;
      angle2=angle2+6;
      angle3=angle3+9;
      angle4=angle4+12;
      angle5=angle5+15;
      //就這段ai寫的
      drawsolidcircle(400+cos(angle1/180.0*3.14159)*400,400+sin(angle1/180.0*3.14159)*400,32,1,1,1,1);
      drawsolidcircle(400+cos(angle2/180.0*3.14159)*300,400+sin(angle2/180.0*3.14159)*300,32,1,1,1,1);
      drawsolidcircle(400+cos(angle3/180.0*3.14159)*200,400+sin(angle3/180.0*3.14159)*200,32,1,1,1,1);
      drawsolidcircle(400+cos(angle4/180.0*3.14159)*100,400+sin(angle4/180.0*3.14159)*100,32,1,1,1,1);
      drawsolidcircle(400+cos(angle5/180.0*3.14159)*50,400+sin(angle5/180.0*3.14159)*50,32,1,1,1,1);
      //////
   }
}


export void GameInitialize(int width,int height)
{
    createplayer(400,400,16);
    createfood(16,16,1,1,0,0,16,"food");
    createfood(800-16,16,1,1,0,0,16,"food");
    createfood(16,800-16,1,1,0,0,16,"food");
    createfood(800-16,800-16,1,1,0,0,16,"food");
    createthread("thread1",1);
    wait(3000);
}


export void GameRun(int elapsed)
{

}
作者: 想你的季節(jié)    時間: 2023-4-10 19:38
關(guān)于大家問的收費(fèi)問題…學(xué)生認(rèn)證??!edu郵箱就可解決!學(xué)生計劃鏈接:
https://education.github.com/官網(wǎng):https://github.com/features/preview/copilot-x
快去排隊,一定記得四款產(chǎn)品要分別加入 waitlist,而不是點(diǎn)一個就行了。
- Copilot Chat: https://github.com/github-copilot/chat_waitlist_signup/join
- Copilot for Pull Request: Copilot for PRs
- Copilot CLI: GitHub Next | Copilot for CLI
- Copilot Doc: GitHub Next | Copilot for Docs

官方介紹:https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/
簡單來說就是:
采用了OpenAI的新GPT-4模型,而且還為Copilot引入了聊天和語音,并讓 Copilot pull requests,命令行和文檔來回答有關(guān)項目的問題。
四個功能也很直觀,從名字上就能看出來作用:
- Copilot Chat: 使用 GitHub Copilot 聊天在編輯器中類似 ChatGPT 的體驗:將一個聊天界面引入編輯器,該界面專注于開發(fā)人員方案,并與 VS Code 和 Visual Studio 本機(jī)集成。這遠(yuǎn)遠(yuǎn)超出了建議代碼的作用。GitHub Copilot Chat不僅僅是一個聊天窗口。它可以識別開發(fā)人員鍵入的代碼、顯示的錯誤消息,并將其深度嵌入到 IDE 中。開發(fā)人員可以深入分析和解釋代碼塊的用途,生成單元測試,甚至獲得對錯誤的建議修復(fù)。GitHub Copilot Chat建立在OpenAI和微軟對ChatGPT和新Bing所做的工作之上。它還將加入語音到代碼AI技術(shù)擴(kuò)展,稱之為GitHub Copilot Voice,開發(fā)人員可以口頭提供自然語言提示。
- Copilot for Pull Request: 對于 PR 和項目管理的幫助。
- Copilot CLI: 終端是開發(fā)人員花費(fèi)最多時間的地方。但即使是最熟練的開發(fā)人員也需要滾動瀏覽許多頁面才能記住許多命令的精確語法。這就是我們推出GitHub Copilot CLI的原因。它可以編寫命令和循環(huán),并拋出晦澀的查找標(biāo)志以滿足您的查詢。
- Copilot Doc: 它使用聊天界面為用戶提供 AI 生成的對文檔問題的回答,包括開發(fā)人員對他們正在使用的語言、框架和技術(shù)提出的問題。我們從React、Azure Docs和MDN的文檔開始,因此我們可以與這些項目的開發(fā)人員和用戶一起快速學(xué)習(xí)和迭代。將來也會我在努力將此功能引入任何組織的倉庫和內(nèi)部文檔。

看完以后感想就是:程序員的自我革命…太狠了。我身邊已經(jīng)有使用 ChatGPT 零基礎(chǔ)(從下載安裝環(huán)境開始,全程沒有跳出 ChatGPT 或者 NewBing)學(xué)習(xí)寫代碼并成功運(yùn)行的朋友了…
「出現(xiàn)了在 GPT 幫助下以分鐘進(jìn)化的人類」——不是在開玩笑。
作者: 張三    時間: 2023-4-10 21:19
GitHub Copilot X目前處于預(yù)覽模式,已加入 waitlist

(, 下載次數(shù): 213)

GitHub Copilot X是GitHub Copilot的一個新版本,是一種基于人工智能的代碼補(bǔ)全工具,使用OpenAI的Codex模型根據(jù)自然語言輸入或現(xiàn)有代碼生成代碼建議。 GitHub Copilot X采用了OpenAI最新的GPT-4模型,可以根據(jù)開發(fā)人員的上下文和偏好生成更準(zhǔn)確、更個性化的代碼建議。
(, 下載次數(shù): 242)

https://www.zhihu.com/video/1622233532989988864
GitHub Copilot X引入了幾個新功能,旨在增強(qiáng)開發(fā)人員在整個開發(fā)生命周期中的人工智能輔助體驗:

  • 編輯器中的聊天界面,允許開發(fā)人員使用自然語言、語音命令或代碼片段與GitHub Copilot交互。聊天界面可以幫助開發(fā)人員編寫和調(diào)試代碼、生成單元測試、解釋代碼塊、修復(fù)錯誤等。
  • pull request集成,使GitHub Copilot能夠自動生成PR描述、建議缺失的單元測試、審核代碼更改并提供反饋。 命令行界面,允許開發(fā)人員從任何終端或shell使用GitHub Copilot。
  • 命令行界面可以幫助開發(fā)人員創(chuàng)建新項目、運(yùn)行命令、安裝依賴等。 文檔集成,使GitHub Copilot能夠使用自然語言或代碼示例回答文檔頁面上的問題。
  • 文檔集成可以幫助開發(fā)人員學(xué)習(xí)新概念、找到相關(guān)信息并解決問題。

(, 下載次數(shù): 270)

(, 下載次數(shù): 238)
GitHub Copilot X的這些新功能為開發(fā)人員提供了更高效、更智能的代碼編寫和協(xié)作體驗。它可以幫助開發(fā)人員更快地編寫代碼,減少手動輸入和糾錯的時間,提高開發(fā)效率。此外,它還可以提高代碼的質(zhì)量和可維護(hù)性,減少錯誤和漏洞的風(fēng)險。

“X”代表一個占位符,表示我們希望 GitHub Copilot 可用的位置,以及我們期望它能夠做什么(例如“Copilot <for pull requests>”、“Copilot <for security>”)。它將產(chǎn)品從單一體驗、代碼完成擴(kuò)展到跨開發(fā)人員工作流程的 X 體驗。GitHub Copilot 明天總是需要比現(xiàn)在多得多。
此外,“X”表示我們打算對開發(fā)人員成就產(chǎn)生的影響程度。因此,這是一份意向聲明,也是對開發(fā)人員的承諾,因為我們將共同進(jìn)入人工智能時代。我們希望業(yè)界對 GitHub Copilot 充滿信心,并希望工程團(tuán)隊將其視為未來發(fā)展的紐帶。
GitHub Copilot X 目前是 GitHub 未來愿景的代表,而不是 GitHub Copilot 的可用產(chǎn)品。隨著我們繼續(xù)設(shè)計、測試和構(gòu)建符合 GitHub Copilot X 愿景的功能,我們也在花時間確定向我們的客戶提供這些功能的最佳方式。




歡迎光臨 愛鋒貝 (http://m.7gfy2te7.cn/) Powered by Discuz! X3.4