ChatGPT 與 Google Gemini:哪種型號更適合程式設計?

谷歌發布 Gemini AI 模型以應對 OpenAI 的 ChatGPT 時,缺少了 ChatGPT 用戶非常喜愛的一項功能:編寫程式碼的能力。然而,在需求持續成長的情況下,Google 對 Gemini 進行了升級,使其能夠使用數十種可用的程式語言編寫程式碼。

從那時起,Google就一直大力宣傳 Gemini 的程式碼編寫和調試能力,但它與令人驚嘆的 ChatGPT 相比又如何呢?讓我們來一探究竟。 ChatGPT 可以幫助內容創作者.

ChatGPT 與 Gemini:支​​援的程式語言

官方稱,Google Gemini 可以支援約 20 種程式語言,其中大部分是 Typescript、Python、C++、Go、Java、JavaScript 和 PHP 等熱門語言。它也能處理 Perl 和 Scala 等不太流行的語言,但效率不一定相同。

另一方面,ChatGPT 沒有官方支援的程式語言清單。聊天機器人可以處理 Gemini 的大部分功能,以及數十種其他語言。 ChatGPT 可以使用較新、較流行的程式語言,以及 Fortran、Pascal、BASIC 和 COBOL 等較老、不太流行的語言編寫、調試和解釋程式碼。

然而,支持並不一定意味著效率。我們用 PHP、JavaScript、BASIC 和 C++ 等特定語言測試了一些簡單的任務。 Gemini 和 ChatGPT 都能渲染出常見的程式語言,但只有 ChatGPT 能夠令人信服地連接使用較舊語言的應用程式。因此,在語言支援方面,我們認為 ChatGPT 更勝一籌。

ChatGPT 與 Gemini:準確性和代碼質量

假設你使用 ChatGPT 或 Gemini 產生一段執行某個功能的程式碼,它幾秒鐘內就能產生幾十行程式碼。真的很容易嗎?但你得到的程式碼能用多久呢?假設程式碼能用,它有多好?

為了比較這兩個 AI 聊天機器人產生的程式碼的準確性和質量,我們為它們佈置了一些程式設計任務。我們要求 Gemini 和 ChatGPT 使用 HTML、CSS 和 JavaScript 建立一個簡單的待辦事項清單應用程式。複製貼上產生的程式碼並在瀏覽器中查看後,ChatGPT 應用如下所示:

使用 ChatGPT 版本,您可以新增任務、刪除任務或將任務標記為已完成。 Google 的 Gemini 也成功創建了一個功能齊全的待辦事項清單應用程式。但是,您只能新增任務,無法刪除或將其標記為已完成。 Gemini 的介面看起來也不太吸引人;它看起來是這樣的:

我們重複了測試,這次要求兩個模型重新建立 Twitter 時間軸卡片。以下是 ChatGPT 的結果:

以下是 Google Gemini 所製作的內容:

兩種方案各有利弊。如果 Gemini 有點讚、轉推和留言按鈕,我們肯定會選它。然而,Gemini 的這些功能被巧妙地省略了,所以還是留給你自己決定哪個比較好。當然,程式碼品質不僅僅關乎程式碼的美觀。

在分析兩個聊天機器人產生的程式碼時,Gemini 似乎更面向對象,而 ChatGPT 則更注重程式化。我們對程式語言的選擇可能對此有所影響,但 ChatGPT 在必要時似乎能寫出更清晰的程式碼。它也傾向於產生更完整的解決方案,這通常會導致程式碼行數更多。

就產生程式碼的品質而言,我們本輪將冠軍授予了 ChatGPT。詳情請見: 常見的 ChatGPT 錯誤及其修復方法.

ChatGPT 與 Gemini:調試與調試

Bug 就像是程式設計師最想避開的謎題。如果只是一個字母,它們就會讓你抓狂,但修復它們卻能帶來極大的滿足感。所以,當你在程式碼中遇到 Bug 時,應該向 Gemini 或 ChatGPT 尋求幫助嗎?為了做出選擇,我們給這兩個智慧聊天機器人都設定了一些除錯問題來解答。

首先,我們要求這兩個模型解決 PHP 程式碼中的一個邏輯錯誤。眾所周知,邏輯錯誤很難檢測,因為包含這些錯誤的程式碼雖然看起來沒有錯,但卻沒有按照程式設計師的意圖運作。

這張截圖中的程式碼可以運行,但無法正常工作。你能找出其中的邏輯錯誤嗎?我們向Google的 Gemini 尋求幫助,但不幸的是,聊天機器人無法識別我們程式碼中的邏輯錯誤。有趣的是,Google的 Gemini 通常針對一個問題會有三個解決方案的草稿,我們檢查了所有三個草稿,發現它們都是錯的。

然後我們向 ChatGPT 尋求幫助,它立即發現了邏輯錯誤。

該 PHP 腳本沒有任何語法錯誤,但 isOdd() 函數的邏輯有問題。判斷數字是否為奇數,通常可以檢查它除以 2 後是否有餘數。如果有餘數,則該數為奇數。

雖然 Gemini 幾乎無法辨識這個錯誤,但 ChatGPT 在第一次嘗試時就發現了它。我們嘗試了另外四個邏輯錯誤,Gemini 只辨識出一個錯誤,而 ChatGPT 總是顯示該錯誤。切換到包含語法錯誤的程式碼後,Google的 Gemini 能夠跟上,在幾乎所有提供的樣本中識別出這些錯誤。

Google 的 Gemini 在調試方面表現相對較好,但我們再次將勝利歸功於 ChatGPT。

ChatGPT 與 Gemini:情境感知

在程式設計中使用人工智慧聊天機器人的最大挑戰之一是它們對上下文的感知相對有限。你讓人工智慧模型寫一段程式碼,然後再寫一段…在這個過程中,它完全忘記了它寫的下一段程式碼是同一個專案的一部分。

例如,假設您正在使用 AI 聊天機器人建立一個 Web 應用程式。您讓它為註冊頁面和登入頁面編寫 HTML 程式碼,它完美地完成了這兩個頁面。然後,隨著開發的繼續,您要求聊天機器人產生伺服器端腳本來處理登入邏輯。這是一個簡單的任務,但由於上下文感知能力有限,您最終可能會建立一個包含新變數和命名約定的登入腳本,而這些變數和命名約定與您的程式碼的其餘部分不符。

那麼,哪個聊天機器人比較擅長維持情境感知呢?我們為兩個模型分配了相同的程式設計任務: 聊天應用 我們知道 ChatGPT 已經可以建置了。

遺憾的是,Gemini 無法完成應用程式的開發,因為它在閒置一段時間後失去了對專案上下文的追蹤。儘管條件相同,ChatGPT 還是完成了應用程式的創建。同樣,在上下文感知方面,我們更看好 ChatGPT。

ChatGPT 與 Gemini:解決問題

目前,Google Gemini 的功能尚不完善。但它最終能勝出嗎?讓我們來測試一下它解決問題的能力。有時,你只是遇到了一個問題,但你不確定如何用程式設計來表達它,更不用說如何解決了。

在這些情況下,像 Gemini 和 ChatGPT 這樣的人工智慧聊天機器人會非常有用。但哪個模型的解決問題能力較強呢?我們要求它們「編寫一段 JavaScript 程式碼,計算特定單字在文字中出現的次數」。

Gemini 以有效的代碼做出回應,但當標點符號接近單字或單字以不同形式出現時,它會失敗。

我們向 ChatGPT 詢問了同樣的問題,結果如下:

ChatGPT 採用更穩健、更準確的方法來統計文本中的單字出現次數。它考慮了單字邊界和大小寫,正確處理標點符號,並產生了更可靠的結果。同樣,在解決問題方面,ChatGPT 更勝一籌。

由於 Google Gemini 在我們用於比較的每個指標上都大幅下降,我們決定給它一個恢復的機會。我們問模型:“哪個模型更擅長程式設計?ChatGPT 還是 Google Gemini?”

Gemini 雖然認同 ChatGPT 更具創意,但也表示其競爭對手更容易犯錯,而且 ChatGPT 的程式碼效率更低、組織性更差,整體來說也不太可靠。在這一點上,我們不得不表示異議! ChatGPT 可以幫助你寫小說.

ChatGPT 在自己的世界中

谷歌的 Gemini 一直備受關注,因此它與 ChatGPT 的差距之大或許令人意外。雖然 ChatGPT 明顯領先,但谷歌的雄厚資源很快就會幫助它超越。

儘管取得了這些成果,但將 Gemini 視為程式設計助理仍是不明智的。雖然 Gemini 不如 ChatGPT 強大,但它仍然擁有強大的功能,並且發展迅速。鑑於 Google 的資源,Gemini 成為有力的競爭對手只是時間問題。您可以查看 ChatGPT 與 Microsoft Bing AI 與 Google Gemini:哪個 AI 聊天機器人最好?

轉到頂部按鈕