GitHub CEO 現場挑戰 18 分鐘寫貪吃蛇遊戲,差點翻車……

整理 | 鄭麗媛

對於各位程式設計師而言,從頭寫一個像下面這樣的貪吃蛇小遊戲需要多長時間?

在本週三全球網路峰會(Web Summit)上,GitHub CEO 通過現場實操給出的回答是:18 分鐘——更準確來說,應該是在 GitHub Copilot X 的幫助下,只需要 18 分鐘。

寫一個貪吃蛇遊戲,僅需 18 分鐘

寫一個貪吃蛇遊戲,僅需 18 分鐘

在 Copilot X 演示開始前,Thomas Dohmke(GitHub CEO)提到了這款源自 1976 年的經典遊戲貪吃蛇:「現在,我想在現場做這個,下面讓我們看看 Copilot X 能否做到。」

在正式進入編碼之前,Thomas Dohmke 先向 Copilot X 問了一個問題:「什麼是貪吃蛇遊戲?」

Copilot X 給出的回答是:「貪吃蛇遊戲是一款經典的視訊遊戲,玩家控制一條蛇在棋盤上移動,通過吃食物使其長度不斷增長。目標是避免碰撞牆壁或蛇自己的身體,同時儘可能多地吃食物。蛇越長越難避免碰撞。」

接著,Thomas Dohmke 進入了正題:「如何在 JavaScript 中創建一個貪吃蛇遊戲的程式碼?」

Copilot X 快速生成了相關程式碼,且幾乎每一行的程式碼都有註釋:可知道蛇被渲染成綠色,食物被渲染成紅色,而分數將是白色的。

將所得程式碼運行後,得到的效果還不錯:確實是貪吃蛇遊戲,用鍵盤上的方向鍵基本可以開始玩了。

不過,這樣一個沒有牆(邊框)、沒有障礙物的貪吃蛇,顯然趣味性不足。於是 Thomas Dohmke 逐步要求 Copilot X 為其加邊框(撞到即輸)、加底色,併為了美觀讓整個遊戲居中:

有了邊框之後,Thomas Dohmke 突然想到:在手機上玩這個遊戲時,貪吃蛇會穿牆而過並出現在另一邊。他便向 Copilot X 追問:「我怎樣才能讓蛇穿過牆呢?」很快,Copilot X 給出了對應程式碼,Thomas Dohmke 將其替換後也實現了該功能。

甚至原本只能由鍵盤控制方向的貪吃蛇,還可以讓 Copilot X 增添一個觸摸控制的方式,連添加貪吃蛇中必不可少的「障礙物」,也只需要問 Copilot X 一句即可。

直到這一步,Thomas Dohmke 用 Copilot X 的演示都很十分順利且成功,整個貪吃蛇遊戲已構建得差不多了,只剩最後一步設定:貪吃蛇撞到障礙物即輸。

「如何檢測到障礙物的碰撞?」 Thomas Dohmke 自信滿滿地輸入了這個問題,卻意外遭遇了「滑鐵盧」——Copilot X 沒有給出回覆,而是提示:「哎呀,你的回覆被過濾了。」

對此,Thomas Dohmke 尷尬一笑,解釋道:「這就是我們所說的負責任的 Al,它認為我可能想做一些可能對人類有害的事情,或者說不符合軟體開發精神的事情。」

重新打起精神後,Thomas Dohmke 換了兩次問法,強調是貪吃蛇中的碰撞檢測方法,Copilot X 才終於給出了正確程式碼,並實現了對應功能。

可以看到,整個過程中 Thomas Dohmke 只負責提問,然後複製粘貼 Copilot X 生成的程式碼——他沒有動手寫一行程式碼,卻在不到 18 分鐘的時間裡,創建了一個人人可玩的貪吃蛇小遊戲。

(貪吃蛇地址:https://hubberboss.github.io/cobra/)

人人皆可成為「10 倍開發者」?

人人皆可成為「10 倍開發者」?

實際上早在今年三月底,GitHub 就官宣了 Copilot X,即採用了 OpenAI 最新的 GPT-4 模型,並引入了聊天、語音功能,支持拉取請求,回答文件上的問題等功能。也就是說,開發者只需提需求,GitHub Copilot X 就能幫你把程式碼寫了、幫你 DeBug,甚至還能給你解釋不懂的程式碼片段。

對於名字中 「X」 的解釋,GitHub 說這是希望 Copilot 在哪裡都可用,從過去只有一種體驗(程式碼完成)拓展到整個開發者工作流程中並帶來 X 種體驗。

不過此前,這些功能和 Demo 更多存在於 GitHub 的官方介紹中,不少開發者而言對於 Copilot X 有多強大這件事,並沒有具體的概念——因此,Thomas Dohmke 此次在 Web Summit 大會直播上的現場演示,給予了開發者圈子不小的衝擊:

▶ 「這太酷了!」

▶ 「Copilot X 將成為遊戲規則的改變者!」

▶ 「作為 Copilot 的使用者,我非常期待在不久後的未來使用 Copilot X!」

除此之外,Thomas Dohmke 認為 Copilot 和 Copilot X 的出現,也有益於重新定義「10 倍開發者」的概念:10 倍開發者應指每個開發者都應該提高 10 倍的生產力,而當每一步都有 AI,人人皆可成為 10 倍開發者。

正如 Thomas Dohmke 在會上所說:「Copilot 和 Copilot X 的出現,將幫助新一代開發者以最快的速度去學習和建設。」

那麼,對於 Copilot X 的首次直播演示,你有什麼看法?你又是否使用過 Copilot?

參考連結:

https://rio.websummit.com/

https://twitter.com/github/status/1653779682439966721

相關文章

CNNVD通報Oracle多個安全漏洞

CNNVD通報Oracle多個安全漏洞

近日,CNNVD通報Oracle多個安全漏洞,其中Oracle產品本身漏洞60個,影響到Oracle產品的其他廠商漏洞247個。包括Orac...

AI 正在殺死舊 Web?

AI 正在殺死舊 Web?

編譯 | 蘇宓 隨著 OpenAI 的 ChatGPT、Google 的 Bard 等 AIGC 工具的出現,由 AI 驅動的內容、資訊、機...

為什麼我不使用 Next.js?

為什麼我不使用 Next.js?

【CSDN 編者按】Next.js是 Remix 的一個非常流行的替代品,本文作者想誠實地表達個人對 Next.js 的看法和使用體驗,並非...