ChatGPT編程秀-8: 用ChatGPT跨越認(rèn)知邊界

作者按:最近要忙了,日更的日子要到頭了其障。后面每一篇講的點(diǎn)就小一點(diǎn)吧银室,大的點(diǎn)等后面有空了再寫。大家見(jiàn)諒励翼。

碰到了認(rèn)知邊界

我的有的朋友跟我說(shuō)蜈敢,用ChatGPT編程需要你至少要跟他對(duì)等水平,因?yàn)楝F(xiàn)階段我們還不能做到完全不需要關(guān)心它寫出來(lái)的代碼汽抚,當(dāng)你要讀懂它寫的代碼的時(shí)候抓狭,就必須能力對(duì)等。還有的朋友跟我說(shuō)殊橙,ChatGPT的不能超過(guò)你的認(rèn)知水平辐宾,你的認(rèn)知水平的上限決定了它的表現(xiàn),比如你認(rèn)知水平不行膨蛮,導(dǎo)致自己不能分解任務(wù)的時(shí)候叠纹,那么你用ChatGPT也寫不出代碼。

上面說(shuō)的都沒(méi)錯(cuò)敞葛,但是如果是以往的工具誉察,它可能到這里就會(huì)出現(xiàn)一種分層。這種分層就會(huì)導(dǎo)致人和人的差距的鴻溝在企業(yè)里可能就會(huì)變成一種劃分職級(jí)的邊界惹谐。但是ChatGPT跟以往的工具都不同持偏,以往的工具他沒(méi)有辦法提升你的認(rèn)知驼卖,沒(méi)有辦法提升你的水平。但是ChatGPT可以扮演多種角色鸿秆,除了當(dāng)一個(gè)生產(chǎn)工具之外酌畜,它還可以當(dāng)一個(gè)教學(xué)工具。也就是說(shuō)卿叽,當(dāng)你進(jìn)入到了一種低認(rèn)知的狀態(tài)桥胞,他可以立刻轉(zhuǎn)變?yōu)榻虒W(xué)問(wèn)題,讓你通過(guò)學(xué)習(xí)進(jìn)入高認(rèn)知狀態(tài)考婴。提升你的水平贩虾。然后你就又可以一種較高的水準(zhǔn)進(jìn)行工作了。

舉個(gè)例子沥阱,在我們的這個(gè)程序里

08-01-final-process-view.png

開(kāi)發(fā)最后的png_info_post_inject模塊時(shí)缎罢,我其實(shí)并不會(huì)操作png的內(nèi)嵌信息,以前也沒(méi)有過(guò)類似的經(jīng)驗(yàn)考杉。所以一開(kāi)始策精,我只是想當(dāng)然的認(rèn)為nodejs應(yīng)該可以吧。所以我問(wèn)了他很多的問(wèn)題奔则,做了很多的設(shè)計(jì)蛮寂,甚至改了很多遍。就是想讓他用Node.js給我做出來(lái)易茬。經(jīng)過(guò)一系列的嘗試之后,果然就失敗了及老。(主要是我用的AI自己會(huì)在圖片里留一些信息抽莱,我又不想覆蓋掉,我還想它的信息和我的信息在作圖AI的軟件里都能被看到骄恶。)我又讓他給了我其他的庫(kù)或原生的寫法食铐,都不太好用。由于我太有自信了僧鲁,所以這個(gè)過(guò)程中我全程TDD虐呻,為了搭建這個(gè)測(cè)試環(huán)境還浪費(fèi)了我很多時(shí)間。

然后在這個(gè)時(shí)候我就進(jìn)入了一種迷茫的狀態(tài)寞秃。我不知道該怎么辦了斟叼。

跨越認(rèn)知邊界

幸好我現(xiàn)在的工具是個(gè)人工智能。所以我問(wèn)他:

08-02-ask-for-solution.png

嗯……Python春寿,我的畫圖AI也是用的python朗涩,這個(gè)應(yīng)該可行。但是這回我學(xué)聰明了绑改。我并不直接開(kāi)始TDD谢床。我先建了個(gè)spike文件夾兄一。也就是調(diào)研用的。這里的代碼呢只是做一個(gè)嘗試识腿。并不真正作為產(chǎn)品代碼使用出革。

其實(shí)這個(gè)動(dòng)作在TDD里面也是被講究的,你應(yīng)該先調(diào)研渡讼,調(diào)研完了之后再來(lái)tdd骂束。你不應(yīng)該帶著對(duì)某一個(gè)知識(shí)點(diǎn)的不理解工作,并且在你的代碼里邊試驗(yàn)邊學(xué)習(xí)一個(gè)知識(shí)點(diǎn)硝全。這種做法非常常見(jiàn)栖雾,但是其實(shí)是反模式。因?yàn)槟愕拇a里往往都有各種各樣的其他無(wú)關(guān)因素伟众,造成了你的學(xué)習(xí)效率不高析藕。學(xué)習(xí)一個(gè)知識(shí)點(diǎn)和將這個(gè)知識(shí)點(diǎn)用于工作宿礁,應(yīng)該是兩個(gè)階段漾抬。

所以接下來(lái)我是這么做的蜀踏。我新建了一個(gè)spike文件夾铝量。然后開(kāi)始在里面實(shí)驗(yàn)我的代碼這個(gè)spike文件夾我有可能最終是不會(huì)提交到代碼庫(kù)的骑冗。

然后我在里面準(zhǔn)備了一張test.png

然后調(diào)研用python來(lái)訪問(wèn)png石抡,但是我畢竟不太了解這個(gè)領(lǐng)域芹血,我決定開(kāi)始之前double check以下筏勒,我又問(wèn)了一遍

08-03-double-check-solution.png

hmm……果然有點(diǎn)小坑遮精,也不知道哪個(gè)是哪個(gè)居夹,看起來(lái)PIL更基礎(chǔ)一點(diǎn),行吧本冲,我的功能不復(fù)雜准脂,可能PIL就夠用了。

于是我問(wèn):

08-04-solution-to-code.png

似乎又說(shuō)PIL就是Pillow檬洞,不知道靠不靠譜啊狸膏。我們都知道,ChatGPT經(jīng)常會(huì)編造添怔。這也是很多人不信任他的地方湾戳。別的領(lǐng)域我們不好說(shuō),但是編程領(lǐng)域其實(shí)不太有必要不信任他广料。一個(gè)是你看我們可以像這樣去做一個(gè)double check砾脑。另一個(gè)就是我們可以讓他從他講的方案直接生成代碼。如果他的方案不可行性昭,你代碼自然沒(méi)法執(zhí)行拦止。甚至你把代碼提到ide里,它可能都會(huì)有語(yǔ)法錯(cuò)誤,對(duì)吧汹族?我們有一套完整的IDE萧求、編譯器和我們的電腦組成的開(kāi)發(fā)環(huán)境來(lái)驗(yàn)證它輸出的內(nèi)容是不是可信的。這也是我為什么這么放心大膽用于編程的原因顶瞒。

那么既然我們得到了代碼夸政,我就可以開(kāi)始試驗(yàn)了,我直接把example.png 改成了test.png榴徐,果然打印了出來(lái)守问,這可行!

然后就又問(wèn)了他怎么修改坑资,怎么append耗帕,這里就不展示了,其實(shí)如果自己走一遍就會(huì)發(fā)現(xiàn)袱贮,這個(gè)里面修改可能是完全覆蓋可能是append仿便,我前面說(shuō),我想保留原有信息攒巍,所以我需要的是append嗽仪,這個(gè)就不是那么直接可用了,跟它折騰了一會(huì)柒莉。

所以spike這一步的其中一個(gè)意義就在這里:我可以在一個(gè)非常單純的環(huán)境下隨意地測(cè)試方案是否可行闻坚,而不用帶上其他復(fù)雜的上下文,畢竟我做到這里的時(shí)候兢孝,程序也挺長(zhǎng)的了窿凤,輸入的intention.yml也挺復(fù)雜的了,每次都從頭測(cè)試也很低效跨蟹。

接著我又讓他給我生成了nodejs怎么調(diào)用python卷玉,在今天之前,我也從來(lái)沒(méi)用過(guò)這個(gè)能力喷市。這個(gè)能力spike的很快,spike完我就直接封裝了一個(gè)runPythonScript函數(shù)出來(lái)威恼。

接著到了真正的集成點(diǎn)品姓。我們需要把Python代碼封裝成一個(gè)node js函數(shù),然后對(duì)我們的程序提供服務(wù)箫措。這個(gè)時(shí)候再給大家演示一下腹备,上一篇我們提到的編程語(yǔ)言也是一種語(yǔ)言的場(chǎng)景:

08-05-programming-language-is-also-a-language.png

所以可以看到,我們可以直接把代碼給他斤蔓,不用說(shuō)太多廢話植酥。他自己能看懂,然后讓他來(lái)抹平集成時(shí)可能出現(xiàn)的問(wèn)題。比如傳參問(wèn)題還有返回值問(wèn)題友驮。我之前并不知道要怎么傳參和得到返回值漂羊,現(xiàn)在我知道了。

所以前面調(diào)研環(huán)節(jié)的另一個(gè)價(jià)值就體現(xiàn)出來(lái)了:你調(diào)研得到的代碼可以直接作為prompt使用卸留,并不需要還轉(zhuǎn)化為什么自然語(yǔ)言走越,語(yǔ)言就是語(yǔ)言,都能作為prompt的一部分耻瑟,而且啊旨指,搞不好chatgpt還更喜歡編程語(yǔ)言,畢竟人類的自然語(yǔ)言太不嚴(yán)謹(jǐn)了喳整。

總結(jié)一下

在本文中谆构,我們探討了使用ChatGPT進(jìn)行編程時(shí)可能會(huì)遇到的認(rèn)知邊界,并分析了ChatGPT與傳統(tǒng)工具的不同之處框都。與傳統(tǒng)工具相比搬素,ChatGPT可以扮演多種角色,除了當(dāng)一個(gè)生產(chǎn)工具之外瞬项,它還可以當(dāng)一個(gè)學(xué)習(xí)工具蔗蹋。這意味著,當(dāng)你遇到認(rèn)知邊界時(shí)囱淋,ChatGPT可以立即轉(zhuǎn)變?yōu)榻虒W(xué)角色猪杭,幫助你通過(guò)學(xué)習(xí)進(jìn)入高認(rèn)知狀態(tài)。

通過(guò)一個(gè)實(shí)際的例子我們看到了妥衣,當(dāng)我們?cè)诰幊讨杏龅阶约翰粫?huì)的事情的時(shí)候皂吮,因?yàn)槲覀冏约阂卜纸獠怀鋈蝿?wù),ChatGPT也不能幫我們解決問(wèn)題税手,ChatGPT的表現(xiàn)也會(huì)下降蜂筹。這時(shí),我們可以進(jìn)行調(diào)研芦倒,也就是進(jìn)入學(xué)習(xí)狀態(tài)艺挪。這個(gè)時(shí)候我們就可以把ChatGPT當(dāng)成學(xué)習(xí)工具使用,提升自己的認(rèn)知兵扬,從而提升ChatGPT的表現(xiàn)麻裳。

其實(shí)編程工作一直是有兩個(gè)狀態(tài)的,一個(gè)是學(xué)習(xí)態(tài)器钟,一個(gè)是工作態(tài)津坑。而且經(jīng)常是要隨時(shí)切換的,所以我們要時(shí)刻提醒自己傲霸,意識(shí)到自己是處于學(xué)習(xí)態(tài)還是工作態(tài)疆瑰。兩種狀態(tài)的工作流程我總結(jié)了一下眉反,如下圖所示:

08-06-learning-status-and-working-status.png

最后再說(shuō)一點(diǎn),結(jié)合我們上一篇提到的編程語(yǔ)言也是語(yǔ)言的思路穆役,調(diào)研過(guò)程中得到的代碼其實(shí)并不是什么浪費(fèi)寸五,他可以作為prompt的一部分來(lái)加速我們后面工作態(tài)時(shí)的效率。在以前孵睬,其實(shí)這樣做也是可以提效的播歼,但是因?yàn)檎麄€(gè)過(guò)程是在人腦中,并不是很明顯掰读,今天我們通過(guò)ChatGPT來(lái)編程秘狞,我們就會(huì)發(fā)現(xiàn),這種方法確實(shí)是更科學(xué)而高效的蹈集。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烁试,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拢肆,更是在濱河造成了極大的恐慌减响,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郭怪,死亡現(xiàn)場(chǎng)離奇詭異支示,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鄙才,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門颂鸿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人攒庵,你說(shuō)我怎么就攤上這事嘴纺。” “怎么了浓冒?”我有些...
    開(kāi)封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵栽渴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我稳懒,道長(zhǎng)闲擦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任场梆,我火速辦了婚禮佛致,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辙谜。我一直安慰自己,他們只是感情好感昼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布装哆。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜕琴。 梳的紋絲不亂的頭發(fā)上萍桌,一...
    開(kāi)封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音凌简,去河邊找鬼上炎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛雏搂,可吹牛的內(nèi)容都是我干的藕施。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼凸郑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼裳食!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起芙沥,我...
    開(kāi)封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤诲祸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后而昨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體救氯,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年歌憨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了着憨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡躺孝,死狀恐怖享扔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情植袍,我是刑警寧澤惧眠,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站于个,受9級(jí)特大地震影響氛魁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜厅篓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一秀存、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羽氮,春花似錦或链、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祈纯。三九已至,卻和暖如春叼耙,著一層夾襖步出監(jiān)牢的瞬間腕窥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工筛婉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留簇爆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓爽撒,卻偏偏與公主長(zhǎng)得像入蛆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匆浙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容