0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ChatGPT 時(shí)代,程序員的生存之道 | 人工智能 AI

圖撲-數(shù)字孿生 ? 來(lái)源:物聯(lián)網(wǎng)袋鼠 ? 作者:物聯(lián)網(wǎng)袋鼠 ? 2023-06-06 09:54 ? 次閱讀

ChatGPT 近期炙手可熱,仿佛沒有什么問(wèn)題是它不能解決的。出于對(duì) ChatGPT 的好奇,我們決定探索下它對(duì)于前端開發(fā)人員來(lái)講,是作為輔助工具多一些,還是主力工具更多一些?

2D 能力測(cè)試

我們就挑選一個(gè)著名的遞歸回溯問(wèn)題——“八皇后”,看看 ChatGPT 的表現(xiàn)如何。

什么是“八皇后”

首先,我們先讓它完整介紹下“八皇后“問(wèn)題。讓我們拭目以待 ChatGPT 會(huì)給出什么樣的答案,溝通如下圖所示:

wKgZomR-keCAI6kbAAFaGDrC5YE389.png

只是要求介紹一下“八皇后”問(wèn)題,它竟然連解題思路也如此清晰地一并給出。

編程能力

既然如此,那就來(lái)考考編程能力。

先要求它使用 JavaScript 求解“八皇后”問(wèn)題的所有解。為了方便查看最終效果,又要求它使用 Canvas 將結(jié)果繪制出來(lái)。具體問(wèn)答如圖所示:

wKgaomR-keCAZskoAAIjvrgWA2873.jpeg

目不轉(zhuǎn)睛地注視著屏幕中的 ChatGPT ,它一行一行噼里啪啦地給出答案,且代碼編寫地如此整潔,不禁由衷贊嘆。雖然還不確定這些代碼能否真的運(yùn)行起來(lái),得到我們想要的效果,但是從生成代碼的結(jié)構(gòu)和邏輯性來(lái)看,已經(jīng)足夠令人震撼。

接下來(lái),我們來(lái)驗(yàn)證一下代碼是否真的可以順利運(yùn)行。復(fù)制粘貼 ChatGPT 給出的答案,在未更改一行代碼的情況下,頁(yè)面的確運(yùn)行了。一起看看運(yùn)行效果:

wKgZomR-keCAWIikAABppk8kkPc48.jpeg

看著實(shí)現(xiàn)出來(lái)的效果,我的內(nèi)心開始忐忑不安。腦海里瘋狂計(jì)算著這樣一個(gè)問(wèn)題:我需要花費(fèi)多長(zhǎng)時(shí)間才能解決以上問(wèn)題?反正肯定無(wú)法像 ChatGPT 這樣,不到 30S 就給出結(jié)果。

輸出所有解

再回過(guò)頭來(lái)看答案,卻發(fā)現(xiàn)只打印出一個(gè)結(jié)果,所以它能否將所有的結(jié)果都打印出來(lái)呢?我們接著提出需求,答案如圖所示:

wKgaomR-keGAGtMMAAIzbYFKn2w32.jpeg

Unbelievable,竟然真的可以,立即復(fù)制粘貼操作,檢驗(yàn)運(yùn)行效果:

wKgZomR-keGAaKRVAAK1RGXtcaY22.jpeg

仔細(xì)數(shù)了下,發(fā)現(xiàn)只輸出了 16 個(gè)解,但是開頭提到總共是有 92 個(gè)解。通過(guò)仔細(xì)查閱代碼,發(fā)現(xiàn)一個(gè)小格子被定義為 40 個(gè)像素,而整個(gè) Canvas 的大小是 1280 像素,所以這個(gè) Canvas 最多只能畫 16 個(gè)棋盤。

在此輸出中,棋盤和棋盤之間沒有點(diǎn)間隔,很難辨別棋盤邊界,觀看起來(lái)有些費(fèi)力。問(wèn)題相對(duì)簡(jiǎn)單,只需調(diào)整幾個(gè)參數(shù)即可解決,我們選擇手動(dòng)調(diào)整,調(diào)整后的 drawChessboards 方法。如下所示:

function drawChessboards(solutions) { const canvas = document.getElementById('chessboard'); const ctx = canvas.getContext('2d'); const n = solutions[0].length; const solutionsPerRow = Math.ceil(Math.sqrt(solutions.length)); const sizeWithGap = canvas.width / solutionsPerRow / n; const size = sizeWithGap * 0.95; for (let k = 0; k < solutions.length; k++) { const offsetX = ((k % solutionsPerRow) * n + 0.2) * sizeWithGap; const offsetY = (Math.floor(k / solutionsPerRow) * n + 0.2) * sizeWithGap; for (let row = 0; row < n; row++) { for (let col = 0; col < n; col++) { if ((row + col) % 2 === 0) { ctx.fillStyle = '#FFFFFF'; } else { ctx.fillStyle = '#000000'; } ctx.fillRect(col * size + offsetX, row * size + offsetY, size, size); if (solutions[k][row][col] === 'Q') { ctx.beginPath(); ctx.arc(col * size + size / 2 + offsetX, row * size + size / 2 + offsetY, size / 4, 0, 2 * Math.PI); ctx.fillStyle = '#FF0000'; ctx.fill(); } } } }

}

接下來(lái)再瞧瞧最終的運(yùn)行效果:

wKgaomR-keKALBWdAAC7p9ahEX8974.png

這回看著舒服了很多~

綜上所述通過(guò)對(duì) ChatGPT 在 2D 能力檢驗(yàn)可知,ChatGPT 在生成 Canvas 繪制邏輯代碼的能力以及解決問(wèn)題邏輯處理能力上,已然與一位程序員沒什么區(qū)別了,甚至可能它所具備的能力或遠(yuǎn)超普通的程序員。

3D 渲染測(cè)試

提升維度,讓 ChatGPT 將結(jié)果用 3D 的渲染方式輸出看看。如圖所示:

wKgZomR-keOAWKPmAALa-UlgLSA94.jpeg

我們?cè)僖淮?a href="http://www.ttokpm.com/v/tag/1472/" target="_blank">機(jī)械性地復(fù)制、粘貼、運(yùn)行它給出的代碼,結(jié)果就是——跑起來(lái)了,真的跑起來(lái)了。(ps:可以看出真的很激動(dòng)~)

pYYBAGR-kPyAC1P8AAB1izS7wXU613.png

但該視角太低,不適合觀察棋盤上皇后的分布情況,手動(dòng)微調(diào)下場(chǎng)景視角高度,再來(lái)看看效果:

poYBAGR-kQOAPYTFAAJ6lQKHxVc938.png

使用開源的 3D 渲染引擎 Three.js,實(shí)現(xiàn)了這樣的效果,還是非常不錯(cuò)的。

模型風(fēng)格調(diào)整測(cè)試

用簡(jiǎn)單的柱子來(lái)表示皇后,看起來(lái)太過(guò)單調(diào),想看看 ChatGPT 能否真正生成精致的皇后模型,于是就有下圖的提問(wèn):

wKgaomR-keOAH58gAANL6CRL8ag53.jpeg

運(yùn)行效果如下:

pYYBAGR-kQyAMr8HAAKxSzHHOWk163.png

皇后模型效果確實(shí)給出了調(diào)整,視角也有所調(diào)高,但又過(guò)于高了且皇后的位置好像有些偏差,看起來(lái)像是懸浮在空中。再讓它調(diào)整看下,如下圖所示:

wKgZomR-keOAEUugAANKXD3yGrU50.jpeg

調(diào)整后效果:

poYBAGR-kReADuHHAAIggfj96ns596.png

大概這樣的“皇后”模型已經(jīng)是極限了,我們就不再?gòu)?qiáng)求,生成的視角還是那么高,但都是小問(wèn)題,微調(diào)下即可,其他的都未做調(diào)整。

以上就是整個(gè) 3D 渲染效果的校驗(yàn)過(guò)程,再一次證明了 ChatGPT 的強(qiáng)大之處,生成的代碼顯然已經(jīng)達(dá)到可應(yīng)用級(jí)別。

WebGL 技術(shù)測(cè)試

既然會(huì)使用 Three.js,那是不是意味著已經(jīng)掌握了 WebGL 技術(shù)呢?接下來(lái)問(wèn)題再升級(jí)下,測(cè)試看能否用純 WebGL 來(lái)完成 3D 的渲染,如圖所示:

wKgaomR-keSAB7i4AAJAixztld467.jpeg

望著代碼被一行一行急速輸出時(shí),再一次被它的強(qiáng)悍震得心頭一緊。如果想要完整實(shí)現(xiàn)的話內(nèi)容會(huì)太長(zhǎng),所以它羅列了代碼的整體框架,部分代碼用注釋代替。

HT 渲染引擎究極測(cè)試

身邊的小伙伴提到,試問(wèn)下能否用圖撲軟件自家 HT 作為渲染引擎,讓 ChatGPT 給出相應(yīng)的可執(zhí)行代碼?答案如圖所示:

wKgZomR-keSAWRmCAAKMQKrTp5M01.jpeg

乍一看輸出的結(jié)果,代碼似乎寫得很不錯(cuò)。但仔細(xì)閱讀后,會(huì)發(fā)現(xiàn)代碼中有很多地方使用錯(cuò)誤,比如沒有使用 HT 的 3D 組件 Graph3dView,而是使用了 2D 組件 GraphView;2D 的接口和 3D 的接口混用;使用的接口不存在等多種問(wèn)題。

也許是 ChatGPT 能夠獲得的訓(xùn)練數(shù)據(jù)相當(dāng)有限,但它生成代碼的水平已經(jīng)是非常高了,只需在原基礎(chǔ)上稍加調(diào)整,即可順利運(yùn)行。

總體來(lái)說(shuō),ChatGPT 相較于普通程序員,在編寫算法和通用渲染方面以及效率上都有著更強(qiáng)的實(shí)力。在一些比較垂直的領(lǐng)域,由于缺乏足夠的訓(xùn)練數(shù)據(jù),可能會(huì)導(dǎo)致無(wú)法準(zhǔn)確完整地表達(dá),甚至?xí)霈F(xiàn)張冠李戴的情況。但它的表現(xiàn)在一定程度上縮短了程序員解決問(wèn)題的時(shí)間,只要問(wèn)題描述足夠清晰,就可以獲取到答案并直接使用。

在未來(lái),相信 ChatGPT 會(huì)變得越來(lái)越強(qiáng)大,并且會(huì)成為一款非常出色的輔助工具,甚至可能成為主要的生產(chǎn)工具。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    28877

    瀏覽量

    266236
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46061

    瀏覽量

    235020
  • ChatGPT
    +關(guān)注

    關(guān)注

    28

    文章

    1517

    瀏覽量

    6931
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在FPGA設(shè)計(jì)中是否可以應(yīng)用ChatGPT生成想要的程序

    當(dāng)下AI人工智能崛起,很多開發(fā)領(lǐng)域都可看到ChatGPT的身影,F(xiàn)PGA設(shè)計(jì)中,是否也可以用ChatGPT輔助設(shè)計(jì)呢?
    發(fā)表于 03-28 23:41

    ChartGPT AI 時(shí)代,程序員生存之道##chatgpt #AI產(chǎn)業(yè) #人工智能

    人工智能
    阿梨是蘋果
    發(fā)布于 :2023年06月01日 10:11:31

    人工智能的前世今生 引爆人工智能時(shí)代

    醒來(lái)人工智能時(shí)代就到來(lái)了。就像前段時(shí)間引力波被探測(cè)出來(lái),我越來(lái)越覺得——Anything is possible。然后我有開始查了很多關(guān)于人工智能的資料,想和大家一起來(lái)看看人工智能
    發(fā)表于 03-03 11:05

    AI人工智能:54份行業(yè)重磅報(bào)告匯總(附下載)

    發(fā)展報(bào)告(2016)- 學(xué)術(shù)與研究 發(fā)布機(jī)構(gòu):烏鎮(zhèn)智庫(kù)/網(wǎng)易科技 時(shí)間:2016報(bào)告8:白宮報(bào)告:人工智能、自動(dòng)化與經(jīng)濟(jì) 發(fā)布機(jī)構(gòu):白宮時(shí)間:2016.12報(bào)告9:人工智能時(shí)代的媒體技術(shù)革命 發(fā)布機(jī)構(gòu)
    發(fā)表于 11-21 09:56

    人工智能AI經(jīng)典入門書

    人工智能AI經(jīng)典入門書,很難找的噢,給喜歡的朋友
    發(fā)表于 09-12 17:13

    優(yōu)必選攜手騰瑪人工智能探索:AI智能的未來(lái)之路

    回家,給你做日常家務(wù),當(dāng)你回到家跑到跟前說(shuō)‘主人辛苦了’,發(fā)現(xiàn)你的疲憊給你播放一下舒緩音樂,成為你家庭的一?!?b class='flag-5'>AI智能人形機(jī)器人對(duì)目前的AI行業(yè)來(lái)說(shuō)是一個(gè)挑戰(zhàn),但也是未來(lái)必然的一個(gè)方
    發(fā)表于 12-21 17:19

    人工智能芯片是人工智能發(fā)展的

    人工智能芯片是人工智能發(fā)展的 | 特倫斯謝諾夫斯基責(zé)編 | 屠敏本文內(nèi)容經(jīng)授權(quán)摘自《深度學(xué)習(xí) 智能時(shí)代的核心驅(qū)動(dòng)力量》從AlphaGo的人機(jī)對(duì)戰(zhàn),到無(wú)人駕駛汽車的上路,再到
    發(fā)表于 07-27 07:02

    人工智能ai論文

    人工智能ai論文
    發(fā)表于 07-28 08:39

    人工智能AI芯片到底怎么用

    什么是人工智能AI)芯片?AI芯片的主要用處有哪些?在AI任務(wù)中,AI芯片到底有多大優(yōu)勢(shì)?
    發(fā)表于 09-22 08:00

    《移動(dòng)終端人工智能技術(shù)與應(yīng)用開發(fā)》人工智能的發(fā)展與AI技術(shù)的進(jìn)步

    人工智能打發(fā)展是算法優(yōu)先于實(shí)際應(yīng)用。近幾年隨著人工智能的不斷普及,許多深度學(xué)習(xí)算法涌現(xiàn),從最初的卷積神經(jīng)網(wǎng)絡(luò)(CNN)到機(jī)器學(xué)習(xí)算法的時(shí)代。由于應(yīng)用環(huán)境的差別衍生出不同的學(xué)習(xí)算法:線性回歸,分類與回歸樹
    發(fā)表于 02-17 11:00

    科技大廠競(jìng)逐AIGC,中國(guó)的ChatGPT在哪?

    最近,AI人工智能)圈一股以“ChatGPT”為核心的熱潮從美國(guó)“硅谷”涌入中國(guó)。 2022年11月底,初創(chuàng)公司OpenAI發(fā)布了名為ChatGPT的對(duì)話式聊天機(jī)器人模型,一經(jīng)推出
    發(fā)表于 03-03 14:28

    AI 人工智能的未來(lái)在哪?

    人工智能、AI智能大模型已經(jīng)孵化;繁衍過(guò)程將突飛猛進(jìn),ChatGPT已經(jīng)上線。 世界首富馬斯克認(rèn)為AI對(duì)人類是一種威脅;谷歌前CEO施密特認(rèn)
    發(fā)表于 06-27 10:48

    程序員怎樣轉(zhuǎn)向人工智能方向

    眼下,人工智能已經(jīng)成為越來(lái)越火的一個(gè)方向。普通程序員,如何轉(zhuǎn)向人工智能方向,是知乎上的一個(gè)問(wèn)題。本文是我對(duì)此問(wèn)題的一個(gè)回答的歸檔版。相比原回答有所內(nèi)容增加。
    的頭像 發(fā)表于 12-17 14:33 ?1975次閱讀

    AI ChatGPT真要取代程序員

    帶著問(wèn)題和 ChatGPT聊了聊。   在談及是否會(huì)取代程序員時(shí),它對(duì)自己的定位可謂是格外地清晰,并且著重強(qiáng)調(diào)了程序員的價(jià)值:“ChatGPT是一款為
    發(fā)表于 02-10 10:35 ?0次下載
    <b class='flag-5'>AI</b> <b class='flag-5'>ChatGPT</b>真要取代<b class='flag-5'>程序員</b>嗎

    程序員大會(huì)(NPCon):從大模型到AGI,ChatGPT的大航海時(shí)代

    AI大模型的加持下,程序員現(xiàn)有的編程范式將會(huì)遭到怎樣的沖擊?面向的全新AI應(yīng)用時(shí)代,開發(fā)者的思維、開發(fā)方式、工具又該做出怎樣的改變? 繼"新程序員
    的頭像 發(fā)表于 03-30 04:44 ?929次閱讀
    新<b class='flag-5'>程序員</b>大會(huì)(NPCon):從大模型到AGI,<b class='flag-5'>ChatGPT</b>的大航海<b class='flag-5'>時(shí)代</b>