這篇文章我想說明一下過去幾篇文章裡,我是怎麼利用ChatGPT來幫助自己學習的。有一些不起眼但很重要的tips想分享給大家:)
.
我是從某個AI工作坊得到這個啟發。
當時有一個分組任務,講師要求學員利用ChatGPT來估專案的工時。當時組內成員都是分享自己和ChatGPT的對話結論,只有我們組內某個成員分享 他是先問ChatGPT在做這件事情時, 有什麼是他需要知道的
。
這讓我意識到,在處理一個未知的問題時,我們應該先向一個已經知道答案的人請益該怎麼下手,會比自己從零摸索來的有效率。
因此,我在過去幾篇文章研究SSR和Monorepo時,我也會先問ChatGPT學習的重點,再從它的回覆中個別去展開更detail的問題。
我認為透過這樣的方式學習,讓我更有方向感的去掌握一門未知的技術。
.
.
.
不知道大家有沒有看過《被討厭的勇氣》這本書,裡面紀錄一個迷惘的年輕人和哲學家的對話,透過一問一答的過中去探討自己對於生活、人際的各種疑問,並逐漸摸索出自己的信念。(以下我暫且稱之為「問答式學習」)
這種問答式學習和使用ChatGPT有點像,都是從一個真實的問題開始,慢慢勾勒出自己理解的面貌。
不知道你在用ChatGPT學習的時候,有沒有碰過以下的狀況或是類似的心得?
.
.
我想這是很多人都會碰到的個第一個問題XD
用ChatGPT學習的時候,和我們平常的學習經驗不太一樣,這裡沒有人事先為我們設計好課綱。因此,就如上一個段落一樣,我們首先要反問ChatGPT我們該學什麼,建立自己的學習課綱。再來,針對ChatGPT的各項建議,我們一個一個去細問。
.
問答式學習也是一個 有意識攝取知識
的過程,因此會對吸收進來的知識更有印象。
為什麼這麼說呢?
當在問問題的的時候,我們必須不斷思考、理解它給你的資訊(才有辦法繼續往下問XD)。提問的同時,你也正在有意識地組建你對這門技術的知識架構,而不是單方面的接受——無論這是不是你所需要或感興趣的內容。
推薦偶爾試試看這樣的學習方式,或許你會在一個又一個的真摯又好奇的問題中,重拾學習的樂趣!
【圖】(圖片來源)
.
現在我們已經知道問答式學習的好處了,至於「怎麼問」也是有些技巧的。
通常,我會想先搞清楚「 這個技術想解決什麼問題
」,有用它跟沒有用它差別在那裡。
再來,我會想知道「這個技術扮演什麼角色」。因此,你可以看到我在討論串問ChatGPT:「Angular Universal是扮演類似middleware的角色嗎?」就是為了想知道這個未知的東西「大概長什麼樣子」,
.
如果針對ChatGPT給我的各項學習建議都問過一輪,還是覺得這個技術很抽象,我就會開始問一些實作的問題。比方,在學習Nx的時候我就下過這樣的指令給ChatGPT:
請列給我Angular開發者最常使用到Nx的10個指令
透過掌握這些實際在開發的時候,會打的指令、常用的語法等等,會讓我們對這們技術增加真實感。到這邊,我們的「事前Study」也差不多告一段落了。
.
沒錯!
不管你了解的再怎麼充分,頭沒有洗下去實作一遍,終究是紙上談兵。不管有沒有AI工具,實作都是學習技術不可少的過程。這是最徹底增加掌握度的方法之一!
.
.
.
誠如之前提到的,我們在使用ChatGPT是扮演類似「決策者」的角色。試想,如果我們連基本的認識都沒有,要如何判斷ChatGPT給的答案是不是在誤導我們?
如果全部照單全部copy paste,只會留下一堆你看不懂的程式碼。就算你幸運run起來,日後要改的時候,還是得重頭去了解它在寫什麼。
這也是為什麼那些能夠用ChatGPT寫出貪吃蛇的程式素人無法取代工程師的原因——說到底,AI工具只是「副駕」,還是得由「主駕駛」告訴他現在要做什麼。
.
.
.
在今年的 Taiwan WebConf 上,Rudy老師曾經以「AI 驅動下的開發者體驗」為題,分享他認為在AI時代下的工程師們要如何調適。整場演講是比較偏概念性、經驗談類的分享,但有一句話Rudy老師再三重複叮囑:「 (使用AI工具)要以『學習』為中心,而非以『獲得知識』為中心。
」
(圖片來源:webConf官網)
.
在沒有ChatGPT的時期,我們可能會花一兩個小時看Stack Overflow或各路大大的文章,或者是詢問身旁的同事、前輩。但現在我們可以用少少的Prompt跳過這些研究工作,直接把ChatGPT的答案複製貼上。
我們雖然提早結束了既定工作,但也意味著我們少了很多學習的空間。常此以往這種「一次性的知識攝取」,是無法累積我們本身的技術實力。我認為正式如此,Rudy老師特別強調我們應該要去內化這些知識,而不是單純的一次性的使用。
.
.
大家有自己透過ChatGPT的學習經驗嗎?
歡迎在底下留言告訴我,你的小訣竅是什麼:)