GPT加Gemini Code Assist,寫程式變神速?

郭宇璇
user

郭宇璇

2025-03-13

瀏覽數 9,250+

ChatGPT跟Google聯手開發更強。左:取自Unsplash、右:取自Google Blog
ChatGPT跟Google聯手開發更強。左:取自Unsplash、右:取自Google Blog

喜歡這篇文章嗎 ?

登入 後立即收藏 !
00:00
00:00

ChatGPTGoogle聯手開發更強?Google日前推出AI程式助理Gemini Code Assist,可直接在Visual Studio Code等程式開發環境中使用,有每天高達6000次的免費額度,讓用戶下指令讓AI幫忙生成或修改程式碼。本文實測三項使用Gemini Code Assist完成的小任務,發現只要加上ChatGPT指導,就能快速一鍵生成可直接執行的小遊戲或小工具!對程式小白來說開發變神速。怎麼用?一文完整教學。

Gemini Code Assist是什麼?怎麼用?

Gemini Code Assist為Google在2024年推出的AI程式助理,其前身為2023年底發布的Duet AI for Developers。Gemini Code Assist可與Visual Studio Code等開發環境整合,只要使用自然語言下指令,就能讓AI自動生成程式碼,也可協助修改寫好的程式碼。與使用ChatGPT相比,省去了跨平台複製貼上的時間。

過去Gemini Code Assist僅有付費版本,但2月26日起Google推出可免費使用的Gemini Code Assist for individuals,每日有高達6000次(每月180000次)的免費額度,以及相當大的上下文視窗(context window),在聊天室中可支援多達128000個Tokens。

若要使用Gemini Code Assist,需要先下載Visual Studio Code或JetBrains等程式碼編輯器。接著,以Visual Studio Code為例,可在左側選單的「Extensions」中搜尋「Gemini Code Assist」並安裝。

可在VS Code中安裝Gemini Code Assist。截自VS Code

可在VS Code中安裝Gemini Code Assist。截自VS Code

安裝後可在左側選單中看到Gemini Code Assist的選項,點選後即可在對話框中輸入指令。

安裝後即可點選左側選單中的Gemini Code Assist下指令。截自VS Code

安裝後即可點選左側選單中的Gemini Code Assist下指令。截自VS Code

此外,也可使用鍵盤的command + I 鍵(Windows為Ctrl + I),開啟Gemini Code Assist視窗,使用生成或修改程式碼等功能。

也可使用command+I鍵開啟Gemini Code Assist視窗。截自VS Code

也可使用command+I鍵開啟Gemini Code Assist視窗。截自VS Code

實測1:設計記帳小工具

實測在VS Code中安裝Gemini Code Assist,並設計一個簡易的記帳工具。為了讓指令夠完善,減少後續修改的時間,先詢問ChatGPT「我想用AI寫一個記帳工具,請給我指令」後,得到以下指令:

請幫我用 Python 撰寫一個記帳的本地小工具,主要需求如下:

1. 使用者介面:
• 使用 Tkinter 建立桌面 GUI
• 介面包含記帳項目的新增、編輯與刪除功能,以及顯示記帳資料的表格

2.記帳功能:
• 每筆記帳項目包含日期、類型(收入或支出)、金額與備註
• 使用者可以輕鬆新增、修改與刪除記帳項目

3.資料儲存:
• 使用 SQLite 作為本地資料庫儲存記帳資料
• 實作資料庫連線、資料的增刪查改功能

4.資料展示與統計:
• 在 GUI 表格中呈現所有記帳項目,並提供日期與類型的篩選功能
• 計算並顯示總收入、總支出及結餘數據

5.視覺化圖表:
• 可選擇使用 matplotlib 繪製收支趨勢圖,方便使用者視覺化數據(非必要但建議)

6.程式碼結構與註解:
• 採用模組化程式設計,將各項功能分成獨立函數或類別
• 程式中需有清楚的註解,方便理解每個功能的實作邏輯

請根據以上需求,產出一份完整的程式碼,並確保使用者體驗良好且操作簡便。 

雖然也可以直接詢問Gemini Code Assist生成指令,但實測後發現其生成回應的所需時間較ChatGPT長,也無法提供完整、可直接複製的指令,因此後續的實測皆以ChatGPT先生成指令後,再請Gemini Code Assist提供程式碼。

執行Gemini Code Assist生成的程式碼後,即可直接使用介面簡潔的記帳小工具,可輸入金額、備註、選擇類型(收入或支出),記帳內容會直接顯示在畫面下方,還能根據日期或類型篩選過去紀錄。


實測2:設計蕃茄鐘小工具

先詢問ChatGPT「我想用AI寫一個蕃茄鐘工具,要可愛一點的,請給我指令」,得到指令如下(由ChatGPT生成):

【遠見 x 未來兒童雙刊共讀】週年限時優惠,不只加送一期,還送《未來兒童》知識庫權限!
請幫我用 Python 與 Tkinter 撰寫一個可愛風格的桌面蕃茄鐘小工具。需求如下:

1. 建立一個直覺且充滿可愛風格的 GUI 介面,使用柔和的配色與圓潤的按鈕,並可搭配 Unicode 表情符號增添趣味。

2. 顯示一個倒數計時器,明確標示目前為工作時間或休息時間,且使用可愛的字體或圖示(以內建文字或符號呈現)。

3. 番茄鐘工作時段預設為 25 分鐘,休息時段預設為 5 分鐘,使用者可按「開始」按鈕啟動計時。

4. 當倒數結束時,自動切換至下一階段(工作→休息、休息→工作),並顯示簡單且活潑的提示訊息(例如使用 emoji 表情)。

5. 提供「暫停」與「重設」功能,讓使用者可以隨時控制計時,並搭配動畫或文字變化,增加互動性。

6. 程式碼需採用模組化設計,將介面建立、計時邏輯與狀態切換分別封裝成獨立的函數或類別,並包含詳細註解以便後續維護與擴充。

7. 所有功能與文字皆內建於程式中,不需額外的圖片或資源。

請依據以上需求,產出完整且可執行的程式碼,讓使用者在使用時能感受到可愛與趣味。

執行其生成的程式碼後,就擁有一個粉紅色的蕃茄鐘,以及簡單的開始計時、暫停和重設功能。

實測3:設計瑪利歐小遊戲 

先詢問ChatGPT「我想生成類似瑪利歐的小遊戲,請給我指令」,得到如下指令(由ChatGPT生成):

請使用 Python 並搭配 Pygame 套件來開發一款類似瑪利歐的 2D 橫向捲軸平台遊戲。請在程式中包含以下功能:

1. 角色控制:玩家可以操控主角左右移動、跳躍,並且有基本的動畫效果。

2. 地圖與關卡設計:設計一個簡單的遊戲關卡,包括平台、障礙物與空中平台等元素。

3. 碰撞偵測:實現角色與地圖中的平台和障礙物之間的碰撞檢測,防止角色穿透牆壁或掉出地圖。

4. 敵人與互動:在遊戲中加入至少一種敵人,敵人有簡單的移動與碰撞行為,並能夠在玩家觸碰時產生相應反應。

5. 得分系統:設計一個得分機制,例如收集道具、擊敗敵人後獲得分數。

接著執行Gemini Code Assist生成的程式碼,可發現其有符合大部分指令要求,有左右移動、跳躍等功能,也有收集道具後得分、碰到敵人後扣分的分數系統。

使用fix功能增加捲軸設計。截自VS Code

使用fix功能增加捲軸設計。截自VS Code

執行修改後的程式碼,可發現其確實在既有的基礎上增加了可延伸的捲軸設計,但延伸的畫面變成空白的,沒有原先的跳台、障礙物等設計,可能指令要更完整才能做到。

ChatGPT與Google Gemini Code Assist優缺點比較

整體而言,Gemini Code Assist最大的優勢,就是能直接在開發環境中用AI生成和修改程式碼;但對於解釋程式碼等其他需求,其等待回應的時間較長、有時會以英文回答,內容也沒有ChatGPT清楚。兩者優缺點比較如下一表:

比較項目

ChatGPT

Google Gemini Code Assist

程式碼生成與修改

需要手動複製貼上至開發環境

可直接在開發環境內生成與修改程式碼(最大優勢)

回應速度

速度較快

回應時間較長

程式碼解釋能力

解釋清楚,邏輯清晰

解釋較不清楚,有時不夠詳細

語言

主要使用中文回答

有時會用英文回答

資料整理:遠見編輯部|資料來源:郭宇璇實測

程式新手推薦兩者一起用

若以快速用程式碼開發工具為目的,尤其是經驗不多的程式開發新手,推薦可先使用ChatGPT生成完整的指令,先獲得可直接執行的工具,接著再針對個人需求,使用Gemini Code Assist的fix功能微調即可。

你可能也喜歡

AI教父黃仁勳的創業領導成功之道
數位專題

AI教父黃仁勳的創業領導成功之道

AI晶片巨頭輝達(NVIDIA)執行長黃仁勳勢不可擋!1993年創立輝達以來,公司市值近來創下歷史新高,黃仁勳身價更是破千億美元榮登全球前15大富豪。隨著Computex 2024登場,他帶來的A

請往下繼續閱讀

登入網站會員

享受更多個人化的會員服務