ChatGPT 與 Gemini:哪個 AI 聊天機器人比較擅長程式設計?
摘要
- ChatGPT 提供卓越的語言支持,涵蓋大量新舊語言。
- 與 Gemini 相比,ChatGPT 在編碼任務方面可提供更高的準確性和程式碼品質。
- ChatGPT 擅長除錯、錯誤偵測、情境感知、問題解決和整體程式設計功能。
如果您陷入程式設計項目,您可能會尋找一個工具來幫助您集思廣益、編寫乾淨的程式碼或解釋一個棘手的概念。你選擇哪一個AI聊天機器人:快速資訊豐富的Gemini,還是全面強大的ChatGPT?
語言支援
說到語言支持,ChatGPT在廣度和功能上都勝過Gemini熟練程度。雖然 Gemini 官方支援大約 22 種流行的程式語言(包括 Python、Go 和 TypeScript),但 ChatGPT 的語言功能要廣泛得多。
與 Gemini 不同,ChatGPT 沒有官方支援的語言清單。然而,它不僅可以處理 Gemini 支援的流行語言,還可以處理數十種其他語言,從 TypeScript 和 Go 等較新的語言到 Fortran、Pascal 和 BASIC 等較舊的語言。
要測試它們的語言能力,我嘗試使用 PHP、JavaScript、BASIC 和 C 等語言進行簡單的編碼任務。 Gemini 和 ChatGPT 在流行語言上都表現良好,但只有 ChatGPT 可以令人信服地將 BASIC 等較舊語言的程式串起來。
準確性和程式碼品質
您的專案截止日期已晚,您需要一些樣板程式碼。您要求 ChatGPT 和 Gemini 產生程式碼來實現該功能,這兩個工具都會產生數十行程式碼。快速獲勝,對吧?
但是您可以信任哪個工具的程式碼來提供您要求的功能?為了比較兩個人工智慧聊天機器人產生的程式碼的準確性和質量,我給了他們一個簡單的編碼任務來完成。我要求 Gemini 和 ChatGPT 使用 HTML、CSS 和 JavaScript 產生一個簡單的待辦事項清單應用程式。我沒有提供任何底漆;我們的目標是了解兩個聊天機器人在處理有限資訊的情況下表現如何。
ChatGPT (GPT-4o) 產生的功能程式碼具有「夠好」的美感。使用ChatGPT的程式碼,您可以新增或刪除任務。這是我在瀏覽器上執行 ChatGPT 後得到的結果:

接下來,我讓 Google 的 Gemini 重複同樣的任務。 Gemini 還能夠產生一個實用的待辦事項清單應用程式。您也可以新增和刪除任務,但整體設計不太吸引人:

我進行了第二次測試,這次要求兩個聊天機器人重新創建 Twitter (X.com) feed。 ChatGPT 製作了一個復古風格的 Twitter feed,具有功能性的推文功能。我可以在文字方塊中輸入內容,發送推文,然後將其動態載入到頁面上。這不是我希望的 Twitter feed,但考慮到 ChatGPT 的大部分訓練資料都充斥著舊版 Twitter 程式碼,結果是可以理解的。

不幸的是,在這一輪中,Google 的 Gemini 無法提供功能代碼。它產生了數百行 JavaScript 程式碼,但有太多佔位符需要用缺少的邏輯來填充。如果您很趕時間,這種佔位符較多的程式碼不會特別有用,因為它仍然需要大量的開發工作。在這種情況下,從頭開始編寫程式碼可能會更有效。
我嘗試了一些其他基本編碼任務,在所有情況下,ChatGPT 的解決方案顯然是更好的選擇。
除錯與錯誤偵測
錯誤和bug就像程式設計師又愛又恨的謎題。它們會讓你發瘋,但修復它們是非常令人滿意的。因此,當您在程式碼中遇到錯誤時,您應該向 Gemini 或 ChatGPT 尋求協助嗎?這可能取決於您試圖避免的錯誤類型。
為了做出決定,我給兩個人工智慧聊天機器人提供了兩個除錯問題來解決。首先,我提示兩個聊天機器人解決一些簡單 PHP 程式碼中的邏輯錯誤。眾所周知,邏輯錯誤比語法錯誤更難發現,因為它們取決於程式碼的意圖:

此螢幕截圖中的程式碼可以運行,甚至在許多情況下會產生正確的結果。然而,它有幾個邏輯錯誤,但這些錯誤並不能立即顯現出來;你能發現它們嗎?我向Gemini 尋求幫助,不幸的是,聊天機器人無法找出程式碼中的邏輯錯誤:

雙子座解決問題的三次嘗試都沒有準確。六個月前我嘗試過類似的問題,結果同樣令人失望;看來Gemini在這方面還沒有進步。
然後我向ChatGPT尋求幫助,它立即指出了邏輯錯誤。

Gemini 也重寫了程式碼來修復錯誤:

上下文感知
使用人工智慧聊天機器人進行程式設計的最大挑戰之一是它們相對有限的上下文感知。他們也許能夠為明確定義的任務創建單獨的程式碼片段,但很難為更大的專案建立程式碼庫。
例如,假設您正在使用 AI 聊天機器人建立 Web 應用程式。你告訴它要為你的註冊和登入 HTML 頁面編寫程式碼,它做得非常完美。然後,您要求聊天機器人產生伺服器端腳本來處理登入邏輯。這是一個簡單的任務,但由於上下文感知有限,它最終可能會產生一個帶有新變數和命名約定的登入腳本,這些新變數和命名約定與程式碼的其餘部分不符。
哪個聊天機器人比較擅長保留情境意識?我給了這兩個工具相同的程式設計任務:我們知道 ChatGPT 已經可以建立的聊天應用程式。
自從 GPT-4 Turbo 及其 128k 上下文窗口到來以來,ChatGPT 的能力保留在較長一段時間內,更多的背景顯著增加。當我第一次使用 4k 上下文視窗 GPT-4 透過 ChatGPT 建立聊天應用程式時,進展相對順利,僅發生了一些偏離上下文的小事件。
2023 年 11 月使用 128k GPT-4 重新創建了相同的項目Turbo 在情境感知方面表現出顯著改善。六個月後,在 2024 年 5 月,上下文感知沒有任何重大變化,但也沒有惡化。
不幸的是,當我第一次在同一個專案上嘗試 Gemini(當時稱為 Bard)時,它失敗了追蹤專案的上下文並未能完成應用程式。幾輪更新之後,我在同一個專案上重新測試了Gemini,它似乎進一步惡化了。因此,在上下文感知方面,ChatGPT 再次獲勝。
解決問題
在這一點上,Google的Gemini還有很多不足。但最終能否取得勝利呢?讓我們來測試一下它解決問題的能力。有時您只是遇到問題,但不確定如何以程式設計方式表示它,更不用說如何解決它了。
在這些情況下,像 Gemini 和 ChatGPT 這樣的聊天機器人可以派上用場。我要求他們兩個「寫一段 JavaScript 程式碼來計算特定單字在文字中出現的次數。」
這是 Google Gemini 的結果:

這是ChatGPT 的結果:

乍一看,這兩種方法看起來都相當可靠。雙子座的做法甚至看起來簡潔。然而,ChatGPT 的程式碼採用更穩健、更準確的方法來計算文字中單字的出現次數。它考慮單字邊界和區分大小寫,正確處理標點符號,並提供更可靠的結果。 ChatGPT 再次表現出色。
ChatGPT 的方法將輸入文字拆分為單詞,其方式可以處理所有非單字字元(如標點符號)和特殊字元(如單字分隔符號)。同時,Gemini 只將空格視為分隔符號。如果文字在單字中包含標點符號或其他非單字字符,或者單字沒有用空格字符分隔,則此方法可能會失敗。
因為 Google Gemini 在我用於比較的每個指標中都幾乎丟失了,我決定給它一個救贖的機會。我問聊天機器人「哪個編碼能力比較好?ChatGPT 和 Gemini?」這是它的回覆:

似乎我部分同意!我問ChatGPT 對評估的看法,它同意:

現在,雖然這看起來很正常,但這裡有一個有趣的轉折。在去年的大部分時間裡,Gemini(當時的巴德)總是自信地聲稱它可以產生更好的程式碼,效率更高,並且犯的錯誤更少。這是我在2023 年11 月進行的一項測試的螢幕截圖:

程式設計功能
ChatGPT 和 Gemini 都沒有專門用於程式設計的主要功能。然而,如果您知道如何有效地使用它們,這兩個聊天機器人都具有可以顯著提高您的程式設計體驗的功能。
ChatGPT 提供了一系列功能,可以在使用聊天機器人時簡化程式設計流程。記憶體和自訂 GPT 等有用的附加功能可讓您根據您的特定程式需求自訂 ChatGPT。
例如,自訂 GPT 功能可協助您透過上傳相關檔案為特定專案建立專用的 ChatGPT 迷你版本。這使得調試程式碼、優化和添加新功能等任務變得更加簡單。整體而言,與 Google 的 Gemini 相比,ChatGPT 包含更多可以增強您的程式設計體驗的功能。
ChatGPT 獨樹一格
Google 的Gemini 有享受了很多炒作,所以看到它與ChatGPT 相比到底有多少缺陷可能會讓人感到驚訝。雖然 ChatGPT 顯然佔據了領先地位,但您可能會認為 Google 的大量資源會幫助它削弱這一優勢。
儘管有這些結果,但將 Gemini 視為程式輔助工具是不明智的。雖然它不如 ChatGPT 強大,但 Gemini 仍然具有強大的衝擊力,並且正在快速發展。
以上是ChatGPT 與 Gemini:哪個 AI 聊天機器人比較擅長程式設計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在從事代理AI時,開發人員經常發現自己在速度,靈活性和資源效率之間進行權衡。我一直在探索代理AI框架,並遇到了Agno(以前是Phi-

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

該版本包括三種不同的型號,GPT-4.1,GPT-4.1 MINI和GPT-4.1 NANO,標誌著向大語言模型景觀內的特定任務優化邁進。這些模型並未立即替換諸如

解鎖嵌入模型的力量:深入研究安德魯·NG的新課程 想像一個未來,機器可以完全準確地理解和回答您的問題。 這不是科幻小說;多虧了AI的進步,它已成為R

模擬火箭發射的火箭發射:綜合指南 本文指導您使用強大的Python庫Rocketpy模擬高功率火箭發射。 我們將介紹從定義火箭組件到分析模擬的所有內容

雙子座是Google AI策略的基礎 雙子座是Google AI代理策略的基石,它利用其先進的多模式功能來處理和生成跨文本,圖像,音頻,視頻和代碼的響應。由DeepM開發

“超級樂於宣布,我們正在購買花粉機器人,以將開源機器人帶到世界上,” Hugging Face在X上說:“自從Remi Cadene從Tesla加入我們以來,我們已成為開放機器人的最廣泛使用的軟件平台。

在AI社區的重大發展中,Agentica和AI共同發布了一個名為DeepCoder-14B的開源AI編碼模型。與OpenAI等封閉源競爭對手提供代碼生成功能
