與 ChatGPT 對戰國際象棋:僅用三個月,它從完敗到完勝!

【CSDN 編者按】也許將來可能會被 OpenAI 的機器人打敗,但在那之前依然可以享受人類之於機器的優越感!

原文連結:https://villekuosmanen.medium.com/i-played-chess-against-chatgpt-4-and-lost-c5798a9049ca

未經授權,禁止轉載!

作者 | Ville Kuosmanen 譯者 | 彎月

責編 | 王子彧

去年 12 月,我曾與 ChatGPT 對戰過幾盤國際象棋,結果總是驚人的相似:每次開局 ChatGPT 的落子方式都相同,直到它忘記自己的棋子都落到了哪裡,然後下到違反規則的地方——當然整個過程 ChatGPT 是信心滿滿的。

事實上, GPT-3 並不知道如何下棋,下棋過程充分暴露了 GPT-3 只是一隻「隨機鸚鵡」的本質,它只會根據訓練集產生一個看似可信的答案。

於是,我在去年 12 月寫道:

ChatGPT 的下棋水平還不足以對戰人類(目前)。它非常清楚遊戲,每次開局方式都完全相同。但是,一旦棋局超出理論水平,ChatGPT 就跟不上了。這表明,這個語言模型對國際象棋的基本規則並沒有任何理解,只是在照搬國際象棋比賽中經常出現的下法。

ChatGPT 的自信,加上它對國際象棋規則的誤解,成為了網際網路上國際象棋對戰的一種搞笑素材,相關帖子登上了 Reddit 的頭條, YouTube 的視訊也獲得了數百萬次的觀看。

我們嘲笑 ChatGPT,想用它的缺陷來證明人類相較於機器的優越感——可如今,GPT-4 來了。

與 GPT-4 的第一局比賽

與 GPT-4 的第一局比賽

自去年 12 月以來,我在 Chess.com 上的 ELO 評分一直在積累,目前我的分數為 1435,這表明我是一名中級水平的棋手。

雖然 GPT-4 自稱相較於 GPT-3 有了重大進步,但我不認為它的下棋水平能有多大提升。於是,我與 GPT-4 開始了第一場對戰,戰況如下面的視訊所示。

我輸了!我不僅輸了,而且是完敗,GPT-4 竟然只用了 20 步就把我將死了。

為了打敗 GPT 的策略,我嘗試了不太常見的波蘭開局(1.b4),流行的開局方式中在這個位置上落子的下法很罕見,但這似乎這並沒有影響到 GPT-4,它很好地處理了這個位置,並迅速抓住了我的錯處。

最讓我害怕的是這款 AI 的攻擊方式:它會犧牲一個象,將這個棋子暴露給我的國王,然後再發起一次有效的攻擊。這與傳統計算機的下法截然不同,更像是一個喜歡進攻的人類棋手會做出的決定:不是選擇了計算機評估之後的最佳走法,而是選擇了人類很難防禦的走法。

第二局

第二局

在第二局比賽中,我依然使用了波蘭開局。

這一次,GPT-4 開局犯了一個很常見的錯誤,即第二步將馬推到了 c6,導致馬圍著棋盤轉了一圈,最終在第 4 步的時候擋住了自家的象。我與人類玩家對戰時見過這樣的下法,但我以為 GPT-4 學習了足夠多的棋局,能夠發揮出更高的水平。

或許是因為這種下法太常見了,GPT-4 才照搬了?

雖然我在剛開局不久吃掉了 ChatGPT 的一個小兵,並最終贏得了這局棋,但我贏得並不輕鬆。我在第 27 步犯了一個錯誤,其實 ChatGPT 可以在兩步之內將死我,但它沒發現。

人類經常犯這樣的錯誤,一門心思想著吃掉對方的馬,而忽略了對方的王的弱點。後來 ChatGPT 又因同樣的攻擊失去了車和後,它本應提前幾步避免這個錯誤的,也許是因為它忘記了位於 b1 的白色車?

決賽局

決賽局

這一次我想嘗試另一種流行的開局方式,第 1 步我將兵移動到了 d4。

這局棋最終打成了車殘局,ChatGPT 這邊剩下的大多數是王翼兵。我以為到了這個階段 GPT-4 會開始猶豫,因為雙方來回交戰了這麼多次,在它的資料集中類似的棋局肯定很少。

令我驚訝的是,這款 AI 打出了一個出色的殘局。

在我將我的車偷偷移動到第 8 排後,Chess 網站的 Stockfish 引擎判斷我將輸掉這局棋。然而,GPT-4 並沒有找到可以保持優勢的走法,而是選擇了重複的走法,並最終打成了平局。同樣,這是一個不尋常但類似於人類的決定:GPT 的兵比我多,因此它有獲勝的機會,但前提是你能找到贏得比賽的方法。如果你不小心丟掉一個兵,那麼很容易輸掉比賽。

最後的想法

最後的想法

我沒有想到 GPT-4 能下棋,更沒想到自己會輸給它!ChatGPT 的下法跟人類一樣:輸都是因為開局和結尾的失誤,贏的那一局是由於勇猛的進攻,它還知道如何處理慢棋和緊張的車殘局。

在整個過程中,GPT-4 從未在不符合規定的位置上落子。事實上,它還糾正了幾次我的錯誤,儘管也不是完全準確,因為我在抄錄棋子的移動位置時犯了錯誤,而不得不放棄幾局比賽。

你可以認為,GPT-4 在蒙著眼睛下棋,因為它無法刷新對棋盤當前狀態的記憶。這就解釋了為什麼在第二局棋中,GPT-4 犯了那樣的錯誤,並導致我贏得了比賽。

試想一下,如果是人類蒙著眼睛與 GPT-4 下棋,最終它能得多少分?足以贏得國際棋聯冠軍的頭銜?我下棋的時候都使用了白棋,為的就是確保我給出的提示對結果沒有影響。

用一句話總結去年 12 月我與 ChatGPT 下棋的狀況:

也許將來 OpenAI 的機器人可能會打敗我,但在那之前我依然可以享受人類之於機器的優越感!

沒想到,僅僅過了幾個月,這一天就到來了。

以前,計算機確實在下棋上打敗過人類,但這一次不同。ChatGPT 用了三個月的時間就可以在象棋上打敗我。那麼,它還需要多長時間在程式設計方面打敗我?也許連幾個月都不需要——GPT-4 將改變整個世界!

相關文章

C++23:下一個 C++ 標準

C++23:下一個 C++ 標準

【編者按】C++23 是 C++20 之後的下一個 C++ 標準,它包含了對 C++ 的一系列改進,但對於 C++98、C++11 或 C+...

破壞 java.lang.String

破壞 java.lang.String

【編者按】本文展示瞭如何利用 Java 的一個 bug 來製造一些奇怪的字串,包括字串相等性的條件、創建損壞字串的方法以及利用該 bug 在...

為什麼會有這麼多程式語言?

為什麼會有這麼多程式語言?

【編者按】本文主要探討為什麼存在這麼多的程式語言,以及新的程式語言為什麼不斷地被創造出來。作者從計算機歷史博物館的一幅展示程式語言演化的巨圖...

ORM 是「反模式」 嗎?

ORM 是「反模式」 嗎?

【編者按】ORM(對象關係對映)在軟體開發中受到爭議,常見批評包括違反 SOLID 原則和效率低,但實際問題在於透明性和調試困難。如果能夠正...

有必要追求 100% 的單測覆蓋率嗎?

有必要追求 100% 的單測覆蓋率嗎?

【編者按】本文主要討論了一個項目的開發過程中對測試覆蓋率的要求以及其帶來的挑戰,強調了 100% 的測試覆蓋率的重要性和好處,尤其是在避免隱...

微軟計劃將 Windows 完整遷移到雲端

微軟計劃將 Windows 完整遷移到雲端

【編者按】微軟計劃通過 Windows 365 將 Windows 作業系統完整遷移到雲端,以提供基於人工智慧的高質量服務和實現無縫數字化生...

MySQL如何支撐每秒百萬QPS?

MySQL如何支撐每秒百萬QPS?

【編者按】本文主要介紹 PlanetScale 是如何通過 MySQL 的水平分片支撐每秒一百萬個查詢(QPS)的。 原文連結:https:...