摘要:本文在介紹了生成式人工智能的基本功能以及如何與生成式人工智能對話的基礎(chǔ)上,通過教學(xué)實(shí)踐展現(xiàn)了計(jì)算思維涉及的抽象、分解、建模、算法設(shè)計(jì)等思維活動(dòng),為教師應(yīng)用生成式人工智能開展教學(xué)改革提供了實(shí)踐經(jīng)驗(yàn)。
關(guān)鍵詞:生成式人工智能;計(jì)算思維;實(shí)驗(yàn)教學(xué)
中圖分類號:G434 文獻(xiàn)標(biāo)識碼:A 論文編號:1674-2117(2024)21-0045-04
計(jì)算思維是人類高階思維之一,它以發(fā)展學(xué)科知識和技能為基礎(chǔ),以問題解決過程為載體,更多地體現(xiàn)于以直觀行動(dòng)思維和具體形象思維為基礎(chǔ)的抽象邏輯思維。而生成式人工智能的思維是基于數(shù)據(jù)和統(tǒng)計(jì)模式,根據(jù)已經(jīng)學(xué)習(xí)到的模式和規(guī)律來生成回答,不能主動(dòng)提出問題,不具備批判性或創(chuàng)造性思維。但由于擁有巨大的模型規(guī)模、數(shù)據(jù)規(guī)模等,其具備了提示學(xué)習(xí)、情境學(xué)習(xí)與思維鏈技術(shù)。下面,筆者以“雞兔同籠”為例,嘗試?yán)蒙墒饺斯ぶ悄芙獯饠?shù)學(xué)問題,讓學(xué)生體會(huì)它解決問題的思維過程。
生成式人工智能的基本功能以及如何與生成式人工智能對話
生成式人工智能能夠像人類一樣理解語言,通過自然、準(zhǔn)確的對話與人類互動(dòng)。除了基本的聊天功能,生成式人工智能還可以進(jìn)行多項(xiàng)工作,如查詢天氣、預(yù)訂往返機(jī)票和酒店等。下面,筆者通過輸入“雞兔同籠”數(shù)學(xué)問題,嘗試與生成式人工智能對話并測試其解決數(shù)學(xué)問題的能力。
實(shí)驗(yàn)1文本輸入——問題1:今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何。請列二元一次方程組求解。
如下頁圖1所示為生成式人工智能的回答,于是,猜測生成式人工智能大語言模型通過大量閱讀學(xué)會(huì)了編程。程序設(shè)計(jì)語言是自然語言的一個(gè)子集,自然語言交流存在模糊性,程序語言則講究精準(zhǔn)、規(guī)范,不允許存在語法的二義性。讓生成式人工智能學(xué)習(xí)程序設(shè)計(jì)語言,可使其具有一定的邏輯思維能力及與人類相似的計(jì)算思維能力。
既然生成式人工智能大語言模型形成了一定的計(jì)算思維能力,那么生成式人工智能就能夠把一個(gè)復(fù)雜問題分解成多個(gè)解題步驟,并逐步完成多個(gè)問題的求解。也就是說,海量的程序代碼預(yù)訓(xùn)練催生了生成式人工智能的數(shù)學(xué)能力,因此,筆者設(shè)計(jì)消融實(shí)驗(yàn)來驗(yàn)證它的計(jì)算思維。
從學(xué)習(xí)角度來說,消融實(shí)驗(yàn)是一種通過干擾和破壞記憶的保持和檢索過程,探究學(xué)習(xí)和記憶機(jī)制的實(shí)驗(yàn)方法。消融實(shí)驗(yàn)可以研究多種記憶現(xiàn)象,如記憶的持久性、遺忘的原因、記憶的檢索和重構(gòu)過程等。根據(jù)消融實(shí)驗(yàn)的解釋,師生圍繞重構(gòu)過程進(jìn)行消融實(shí)驗(yàn)設(shè)計(jì)。
生1:我知道生成式人工智能有編程的能力,我們可以把這個(gè)數(shù)學(xué)問題讓它編寫一段解題的程序。
生2:我們可以讓它編一段Python代碼,然后運(yùn)行這個(gè)程序。
師:生成式人工智能有重組文本的功能,我們可以把這個(gè)數(shù)學(xué)問題轉(zhuǎn)換成一個(gè)代數(shù)問題。
經(jīng)過師生討論,將實(shí)驗(yàn)設(shè)計(jì)如下:先使用生成式人工智能直接求解數(shù)學(xué)問題,再應(yīng)用消融實(shí)驗(yàn)編程來求解,讓這兩個(gè)解題方法的答案互相驗(yàn)證。只有數(shù)學(xué)求解與編程求解的答案是相同的,才認(rèn)為生成式人工智能擁有了一定的計(jì)算思維,學(xué)生也能在思維鏈技術(shù)的迭代過程中了解計(jì)算思維。
基于生成式人工智能的計(jì)算思維培養(yǎng)教學(xué)實(shí)踐
1.猜想——認(rèn)識問題轉(zhuǎn)化
代數(shù)問題是一種使用字母來代表數(shù)值和未知數(shù)的數(shù)學(xué)分支,將實(shí)際問題轉(zhuǎn)化為代數(shù)問題可以幫助學(xué)生用符號和表達(dá)式來描述和解決問題。對于“雞兔同籠”問題,首先可以將數(shù)學(xué)問題轉(zhuǎn)換為代數(shù)問題,通過使用鍵值對應(yīng)將數(shù)字替換成字母,測試生成式人工智能將數(shù)學(xué)問題轉(zhuǎn)化為代數(shù)問題的能力。由于剛才求解了雞兔同籠問題,在設(shè)計(jì)實(shí)驗(yàn)時(shí),就要注意不考慮上下文的關(guān)系。
實(shí)驗(yàn)2文本輸入——問題2:今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何。請把這道題目中的數(shù)字用字母m、n來代替,并重新復(fù)述題目。
生成式人工智能:今有雉兔同籠,上有m頭,下有n足,問雉兔各幾何。
從生成式人工智能的回答可以看出,它成功地將原始問題中的數(shù)字替換為字母m和n,并重新復(fù)述了問題。這個(gè)例子展示了如何通過代數(shù)的轉(zhuǎn)化將一個(gè)實(shí)際問題轉(zhuǎn)變?yōu)榭梢杂脭?shù)學(xué)抽象方法解決的問題。這種能力對學(xué)生來說是非常重要的,因?yàn)榭梢詭椭麄冊诮鉀Q數(shù)學(xué)問題時(shí)更好地理解和應(yīng)用代數(shù)的概念和方法,對于提高學(xué)生的數(shù)學(xué)抽象思維有著積極的影響。
2.列舉——促進(jìn)邏輯思維
在把一個(gè)數(shù)學(xué)問題轉(zhuǎn)換成代數(shù)問題后,繼續(xù)實(shí)驗(yàn)探究生成式人工智能能不能給出正確的方程表達(dá)式。列方程需要思考問題的本質(zhì)和邏輯關(guān)系,從而推導(dǎo)出正確的方程式。方程表達(dá)式是否正確,通常需要將數(shù)學(xué)符號和概念轉(zhuǎn)化為自然語言或者圖表形式進(jìn)行解釋和表達(dá)。
實(shí)驗(yàn)3文本輸入——問題3:今有雉兔同籠,上有m頭,下有n足,問雉兔各幾何。請你列出求解雞兔只數(shù)的二元一次方程組。
生成式人工智能:雞兔同籠問題是一個(gè)經(jīng)典的數(shù)學(xué)謎題,它要求在給定總數(shù)量和總腳數(shù)的情況下計(jì)算出可能的雞和兔子的數(shù)量。通常情況下,每只雞有2只腳,每只兔子有4只腳。根據(jù)題目條件可列出以下方程組:
x+y=m(其中x表示雞的數(shù)量,y表示兔的數(shù)量,m表示頭的總數(shù))
2x+4y=n(其中n表示腳的總數(shù))
從回答可以看出,生成式人工智能列出代數(shù)方程展示了“中間思考過程”的能力。由代數(shù)問題列方程,需要具有較強(qiáng)的邏輯思維能力,學(xué)生可以通過推理分析和拼圖游戲如數(shù)獨(dú)、迷宮、填字等增強(qiáng)邏輯思維能力,還可以通過閱讀、解決問題等,逐步提升邏輯思維能力。
3.求聯(lián)——學(xué)會(huì)有序思考
在數(shù)學(xué)課堂教學(xué)中,在用字母代替數(shù)字把代數(shù)問題陳述為數(shù)學(xué)問題后,教師往往要詢問字母與數(shù)字的對應(yīng)關(guān)系,會(huì)采用逐一列舉的方法,通過列舉頭和腳的總數(shù)符合題目信息,讓學(xué)生學(xué)會(huì)有序思考,培養(yǎng)思維的嚴(yán)密性和邏輯性。筆者根據(jù)數(shù)學(xué)課堂的實(shí)際情況進(jìn)行實(shí)驗(yàn)設(shè)計(jì),讓生成式人工智能分析代數(shù)問題中字母對應(yīng)的確切數(shù)字。
實(shí)驗(yàn)4文本輸入——問題4:不搜索網(wǎng)絡(luò)資源,根據(jù)上下文關(guān)系,先根據(jù)問題2找到雞兔頭、足的具體數(shù)量,再說出字母m、n分別是問題2中的哪個(gè)具體數(shù)值。
從生成式人工智能的回答(如圖2)可以看出,它能通過上文的關(guān)系正確地找到代數(shù)問題中字母所對應(yīng)的數(shù)字,對這種對應(yīng)關(guān)系的理解對代數(shù)學(xué)習(xí)的進(jìn)一步發(fā)展和應(yīng)用非常重要。在日常教學(xué)中,教師要多詢問字母與數(shù)字的對應(yīng)關(guān)系,幫助學(xué)生建立數(shù)學(xué)符號與實(shí)際情境或數(shù)值之間的聯(lián)系,從而幫助他們理解和分析問題,推導(dǎo)解決方案,并解決更復(fù)雜的數(shù)學(xué)問題。
4.編碼——嘗試建構(gòu)模型
編碼是用一組規(guī)則將一種信息形式(代數(shù)問題)轉(zhuǎn)換為另一種信息形式(Python代碼)的過程。代碼是基于0與1建立起來的抽象世界,編碼更像是在抽象世界里生成程序,解決實(shí)際問題,這個(gè)過程實(shí)際上就是建模過程。生成式人工智能可以生成Python、C語言等代碼,因此設(shè)計(jì)實(shí)驗(yàn),讓其進(jìn)行Python編碼,學(xué)生根據(jù)回答的內(nèi)容運(yùn)行Python代碼。
實(shí)驗(yàn)5文本輸入——問題5:今有雉兔同籠,上有m頭,下有n足,問雉兔各幾何。請編寫完整的Python代碼,雞兔的頭、足數(shù)量在程序運(yùn)行時(shí)候輸入。
如圖3所示為生成式人工智能使用Python編寫的雞兔同籠問題的示例代碼。在代碼中,可以看到生成式人工智能定義了一個(gè)名為solve_chicken_rabbit的函數(shù),該函數(shù)包含x和y兩個(gè)參數(shù),分別表示頭的數(shù)量和腳的數(shù)量。函數(shù)使用雞和兔子的數(shù)量關(guān)系,計(jì)算出雞和兔子的數(shù)量,并返回。在主函數(shù)中,獲取用戶輸入的頭和腳的數(shù)量,調(diào)用solve_chicken_rabbit函數(shù)求解雞和兔子的數(shù)量,并輸出結(jié)果。
建模是一個(gè)抽象的過程,也是解決問題的關(guān)鍵。在問題求解過程中,學(xué)生通過自然語言描述問題解決的步驟,或者使用流程圖來構(gòu)建解決問題的過程,這些都是建模過程。
5.驗(yàn)證——聚焦計(jì)算思維
學(xué)生根據(jù)生成式人工智能的回答,打開Python編程軟件開始編寫腳本進(jìn)行消融實(shí)驗(yàn)驗(yàn)證。運(yùn)行Python IDLE編輯器,在打開的“Python 3.9.0 shell”窗口中單擊“File—New File”,把生成式人工智能輸出的Python代碼粘貼到Python文本編輯器窗口,然后單擊“Run—Run Module”,并在彈出的對話框中保存代碼。在保存代碼后,Python又自動(dòng)切換到Python Shell窗口,提示“請輸入頭的數(shù)量”,按照提示輸入“35”。等待1秒,程序又提示“請輸入腳的數(shù)量”,按照提示輸入“94”。程序繼續(xù)qkgn10/vocHNZjYpyN0hB1QT0KllB24bND9eaknAKf4=運(yùn)行輸出答案“雞的數(shù)量為:23.0只,兔子的數(shù)量為:12.0只”,與數(shù)學(xué)問題求解的答案相同。但是,當(dāng)輸入“23,87”時(shí),代碼計(jì)算輸出“雞的數(shù)量為:2.5,兔子的數(shù)量為:20.5”,這樣的答案顯然不符合實(shí)際情況,學(xué)生根據(jù)出現(xiàn)的問題重新設(shè)計(jì)實(shí)驗(yàn)。
實(shí)驗(yàn)6文本輸入——問題6:運(yùn)行代碼,發(fā)現(xiàn)你能正確判斷雞兔頭、足的數(shù)量要大于0,但是如果雞兔的只數(shù)算出來不是自然數(shù),你應(yīng)該輸出無解。如果雞兔的只數(shù)是正確的,則應(yīng)該輸出自然數(shù)。請按照要求修改代碼。
生成式人工智能:在代碼中,我添加了對round(x)和round(y)的判斷。如果round(x)!=x或者round(y)!=y,就說明x或y不是整數(shù),即雞或兔的數(shù)量不為整數(shù)。此時(shí),也輸出無解。
此外,將計(jì)算得到的x和y的值強(qiáng)制轉(zhuǎn)換為整數(shù)類型,以滿足輸出要求。
重新把圖4中的代碼復(fù)制粘貼保存為一個(gè)新的文件后運(yùn)行,在“Python Shell”窗口分別再輸入“35,94”和“23,78”,第一組輸出“雞的數(shù)量為:23,兔子的數(shù)量為:12”,第二組則輸出“無解”。在得到Python代碼和正確的答案后,還需要多次開展計(jì)算驗(yàn)證。經(jīng)過反復(fù)多次的隨機(jī)實(shí)驗(yàn)發(fā)現(xiàn),如果雞、兔的只數(shù)不存在相應(yīng)的關(guān)系,數(shù)學(xué)問題直接求解會(huì)輸出“這個(gè)問題沒有實(shí)際解”,代碼運(yùn)行則提示“雞兔的數(shù)量無解”;如果雞、兔的只數(shù)存在相應(yīng)的關(guān)系,數(shù)學(xué)問題直接求解和代碼運(yùn)行輸出的答案是相同的。由此得出實(shí)驗(yàn)結(jié)論:從數(shù)學(xué)問題開始,讓生成式人工智能依次輸出代數(shù)問題,回答字母與數(shù)字的對應(yīng)關(guān)系,列出方程式后完成Python代碼的編寫。這個(gè)過程是計(jì)算思維在問題解決過程中涉及的抽象、分解、建模、算法設(shè)計(jì)等思維活動(dòng)的外顯過程。不管是程序代碼還是數(shù)學(xué)問題求解,都是這個(gè)數(shù)學(xué)問題的正確答案,說明在消融實(shí)驗(yàn)中生成式人工智能能正確地求解這個(gè)數(shù)學(xué)問題。
基于生成式人工智能的計(jì)算思維培養(yǎng)的教學(xué)反思
雖然在生成式人工智能的支持下形成了多種應(yīng)用,為教育教學(xué)拓展了新的研究方向,但是由于在技術(shù)、數(shù)據(jù)、教學(xué)策略等方面還存在一些局限,其在教學(xué)過程中還有不足之處:①缺乏實(shí)時(shí)反饋。生成式人工智能是基于用戶的輸入來生成響應(yīng),如果學(xué)生在學(xué)習(xí)過程中不知道學(xué)習(xí)有錯(cuò)誤,模型則無法提供即時(shí)的、具體的反饋。②缺乏情感交互。生成式人工智能不具備情感理解和情感表達(dá)的能力,而在教育教學(xué)中,情感和人際交互是課堂師生互動(dòng)重要的組成部分,可以促進(jìn)學(xué)生的情緒管理、情感發(fā)展,并最終影響學(xué)生的學(xué)習(xí)積極性。
總之,生成式人工智能的發(fā)展為教育提供了許多新的途徑,教師需要認(rèn)真地思考、創(chuàng)新地行動(dòng),更好地應(yīng)用人工智能推動(dòng)教育教學(xué)的變革。