關(guān)鍵詞:人工智能;文心一言;計算機(jī)編程;對比實驗
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)26-0007-03開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID) :
0 引言
隨著以 ChatGPT 為代表的大語言模型(Language Model) 的興起,人工智能(Artificial Intelligence, AI) 在醫(yī)療、金融、電商等多個領(lǐng)域產(chǎn)生了深刻影響,并在教育領(lǐng)域展示出巨大的潛力[1]。AI 技術(shù)和工具可以根據(jù)用戶的需求和問題,提供相應(yīng)的信息和解決方案,從而極大地提高工作和學(xué)習(xí)的效率。例如,高校學(xué)生可以利用 AI 工具完成寫作、文獻(xiàn)綜述、論文撰寫以及編寫計算機(jī)代碼等任務(wù)[2-3]。
毋庸置疑,AI技術(shù)為計算機(jī)相關(guān)課程帶來了巨大挑戰(zhàn)和變革。計算機(jī)學(xué)科的教育者正在思考如何將先進(jìn)的 AI技術(shù)融入教學(xué)實踐,以提升學(xué)生的編程能力、問題解決能力和創(chuàng)新思維能力。然而,AI技術(shù)并非完美無缺,也面臨技術(shù)和倫理挑戰(zhàn)。例如,學(xué)生對 AI 的過度依賴可能導(dǎo)致其失去獨立思考和解決問題的能力,甚至引發(fā)誠信問題,如作弊和抄襲。因此,對 AI 技術(shù)對學(xué)生學(xué)習(xí)能力的影響進(jìn)行分析是極有必要的。
本文探討AI工具對學(xué)生在計算機(jī)編程課程學(xué)習(xí)方面的影響。通過使用百度“文心一言”作為輔助工具,評估其在學(xué)生學(xué)習(xí)過程中提供的幫助以及面臨的挑戰(zhàn)。本研究招募了已完成“數(shù)據(jù)結(jié)構(gòu)和算法”課程的軟件技術(shù)專業(yè)學(xué)生參與挑戰(zhàn)。學(xué)生被分為 A 組和 B 組。A 組可以查閱教科書和編程筆記,但不能使用互聯(lián)網(wǎng);B組可以使用“文心一言”來幫助解決編程問題。為模擬真實的編程環(huán)境,挑戰(zhàn)任務(wù)在 ACM 國際大學(xué)生程序設(shè)計競賽(ICPC)的編程競賽控制系統(tǒng)Programming Contest Control(PC2) 上完成。學(xué)生需要編寫滿足特定要求的可執(zhí)行代碼,并通過測試用例驗證代碼的正確性。學(xué)生的表現(xiàn)根據(jù)通過測試用例的數(shù)量進(jìn)行評分。實驗結(jié)果顯示,B 組學(xué)生在得分上相較于 A 組具有顯著優(yōu)勢,表明“文心一言”在輔助學(xué)生解決編程問題方面發(fā)揮了積極作用。然而,B 組學(xué)生在使用“文心一言”的過程中,缺少深入的討論環(huán)節(jié),導(dǎo)致提交的代碼存在不一致性和不準(zhǔn)確性。
1 相關(guān)研究
1.1 AI工具在高等教育教學(xué)中的應(yīng)用
AI工具對高等教育產(chǎn)生了重大影響。文獻(xiàn)[4]通過對高校56名學(xué)生的調(diào)查發(fā)現(xiàn),ChatGPT在學(xué)習(xí)和工作中表現(xiàn)出色,但也存在準(zhǔn)確性低和數(shù)據(jù)依賴等問題。文獻(xiàn)[5]研究了ChatGPT在問題驅(qū)動學(xué)習(xí)中的應(yīng)用,發(fā)現(xiàn)它對團(tuán)隊合作和學(xué)習(xí)動機(jī)有積極影響,但也面臨理解語義和信息準(zhǔn)確性等挑戰(zhàn)。文獻(xiàn)[6]強(qiáng)調(diào)了ChatGPT對教育的重要影響,但同時指出需要應(yīng)對其帶來的沖擊。AI 工具在高等教育中的作用是顯著的,但也面臨各種挑戰(zhàn)。
1.2 AI工具在計算機(jī)相關(guān)課程教學(xué)中的應(yīng)用
隨著AI技術(shù)的發(fā)展,傳統(tǒng)的計算機(jī)學(xué)科教學(xué)方式逐漸擁抱人工智能浪潮,實現(xiàn)轉(zhuǎn)型升級,并完成教學(xué)工具和教學(xué)方法的重構(gòu)。文獻(xiàn)[1]探討了ChatGPT對教學(xué)和編程學(xué)習(xí)的影響,研究內(nèi)容包括如何確保其提供的編程建議準(zhǔn)確可靠,以及避免過度使用對學(xué)生編程技能掌握的影響。文獻(xiàn)[7]評估了ChatGPT在Java 編程中生成解決方案的能力,結(jié)果顯示其準(zhǔn)確性高,為編程教學(xué)帶來了新的可能性,但也指出了在處理非結(jié)構(gòu)化信息時面臨的挑戰(zhàn)。文獻(xiàn)[8]探索了“文心一言”在教學(xué)中的應(yīng)用,提出了創(chuàng)新設(shè)計和教學(xué)方法,并獲得了教師和學(xué)生的積極反饋。
上述研究探討了教師和學(xué)生對AI 工具如Chat? GPT作為教學(xué)輔助工具的接受度,與本研究目的一致。本文旨在補(bǔ)充當(dāng)前知識庫,深入討論“文心一言”在教學(xué)應(yīng)用中的潛力和挑戰(zhàn)。
2 方法設(shè)計
2.1 招募參與者
本文采用配額抽樣方法來確保樣本的代表性和研究的可靠性。配額抽樣是一種非隨機(jī)抽樣方法,通過根據(jù)預(yù)先設(shè)定的標(biāo)準(zhǔn)或配額來選擇樣本,以保證樣本在不同維度上的代表性。本研究的關(guān)鍵特征為大二軟件技術(shù)專業(yè)學(xué)生,且他們已經(jīng)修完Java課程和數(shù)據(jù)結(jié)構(gòu)與算法課程。這種特征組合旨在選擇具備一定編程基礎(chǔ)和對數(shù)據(jù)結(jié)構(gòu)有深入理解的學(xué)生,以代表該目標(biāo)群體。通過這種精心的樣本選擇,可以提高研究結(jié)果的可靠性和推廣性,從而有助于對目標(biāo)群體的特定問題進(jìn)行深入研究和分析。
2.2 研究設(shè)計
1) 研究問題。使用“文心一言”完成編程挑戰(zhàn)的學(xué)生與未使用該工具的學(xué)生之間的學(xué)術(shù)成就水平是否存在統(tǒng)計學(xué)上的差異?
2) 程研和究數(shù)條據(jù)件結(jié)。構(gòu)所與有算參法與課挑程,戰(zhàn)并的至學(xué)少生獲均已完成Java課程和數(shù)據(jù)結(jié)構(gòu)與算法課程,并至少獲得了B的成最低成績。
3) 實施過程。首先,招募24名學(xué)生,將他們均分為A組和B組,每組包含六個團(tuán)隊,每個團(tuán)隊有兩名成員。這樣的分組設(shè)計旨在確保研究樣本充足且具有代表性,并在學(xué)術(shù)水平和預(yù)測分?jǐn)?shù)方面保持同質(zhì)性,以消除潛在因素對研究結(jié)果的影響。然后,設(shè)計干預(yù)或挑戰(zhàn)環(huán)節(jié)。在這一環(huán)節(jié)中,A組作為對照組,被授予訪問教科書和編程筆記的權(quán)限,但沒有提供互聯(lián)網(wǎng)使用權(quán);B組作為實驗組,允許使用“文心一言”來幫助解決編程問題。這樣的設(shè)置旨在對比傳統(tǒng)學(xué)習(xí)方式與AI輔助學(xué)習(xí)方式的差異。最后,在評測環(huán)節(jié),為衡量學(xué)生的完成水平,使用后測成績作為評價指標(biāo)。
參與者需面對一系列編程問題,每個問題根據(jù)難度級別分配相應(yīng)的分值,并在規(guī)定時間內(nèi)解決問題以獲得分值。每個問題都伴隨著一組隱藏的測試用例,團(tuán)隊的最終得分取決于他們成功通過的測試用例數(shù)量。挑戰(zhàn)任務(wù)包括五個編程問題,每個問題有說明、輸入/輸出和限制。每個問題設(shè)有指定的內(nèi)存和CPU時間限制,以激勵學(xué)生在解決方案中使用優(yōu)化的數(shù)據(jù)結(jié)構(gòu)。
2.3 數(shù)據(jù)收集
在任務(wù)結(jié)束后,收集學(xué)生的后測成績數(shù)據(jù),并進(jìn)行統(tǒng)計分析,采用獨立樣本t 檢驗來驗證兩組之間的差異是否顯著。
A組提交自己撰寫的代碼以及對應(yīng)的測試用例;B組提交給“文心一言”的提示信息、在“文心一言”輔助下生成的代碼及其對應(yīng)的測試用例。在 PC2控制面板上,可以獲得詳盡的數(shù)據(jù)視圖,涵蓋學(xué)生在不同任務(wù)中的得分、使用時間等方面的具體信息,還詳細(xì)記錄了學(xué)生在每個問題上所花費(fèi)的時間以及通過的測試用例數(shù)量等信息。
2.4 訪談環(huán)節(jié)
為了深入了解學(xué)生在此次任務(wù)中對 AI 工具的看法和態(tài)度,我們邀請了參與編程挑戰(zhàn)的學(xué)生參加單獨的訪談環(huán)節(jié)。這一設(shè)置旨在確保對話重點突出,不受干擾。我們設(shè)計了五個類別的問題,以探討學(xué)生與 AI 工具的互動:AI 工具
1) 對AI工具的了解和使用經(jīng)驗。詢問參與者對AI工具(例如 “文心一言和”) 的了解程度,以及他們之前是否有使用經(jīng)驗;探討他們在學(xué)習(xí)編程過程中是否使用過 AI工具,使用的頻率和方式是什么。
2) 評估問題。了解學(xué)生在使用“文心一言”解決問題的具體情況,例如利用的功能、處理的問題類型、生成代碼的準(zhǔn)確性和創(chuàng)新性;詢問使用“文心一言”后編碼效率的提升情況、錯誤減少情況,以及是否激發(fā)了解決問題的新思路。
3) 對 AI 工具在教學(xué)或?qū)W習(xí)中的應(yīng)用建議和期望。詢問參與者對在教學(xué)和學(xué)習(xí)過程中使用 AI 工具的建議和期望;探討他們對未來 AI 工具開發(fā)的看法及期盼,特別是其在計算機(jī)相關(guān)課程中的應(yīng)用。
4) 道德問題。邀請參與者表達(dá)他們對“文心一言”的總體印象;討論是否存在如真實性、抄襲、知識產(chǎn)權(quán)侵犯、輸出偏見等倫理問題;探討相關(guān)的道德考量,以及其在教學(xué)、學(xué)習(xí)和社會影響方面的觀點。
3 結(jié)果分析
表1和表2展示了A組和B組在不同任務(wù)中的成績表現(xiàn)。A組團(tuán)隊在任務(wù)T1(難度一顆星)中取得較高分?jǐn)?shù)(超過80分),但在T5任務(wù)中表現(xiàn)不佳。通過后續(xù)訪談得知,他們在數(shù)據(jù)結(jié)構(gòu)選擇上未花費(fèi)太多時間,卻在T4和T5的算法設(shè)計、調(diào)試與修改錯誤上投入大量時間,導(dǎo)致這兩項任務(wù)的分?jǐn)?shù)偏低。
B組團(tuán)隊(B1至B6) 使用“文心一言”輔助編寫代碼。分析表2的結(jié)果顯示,除B2外,其他團(tuán)隊在完成 T1任務(wù)時均獲得滿分(100分)。在“文心一言”的幫助下,B組團(tuán)隊在完成任務(wù) T1至T3時能獲得滿分,但在T4和T5任務(wù)中,沒有團(tuán)隊達(dá)到滿分。這可能反映出對于較復(fù)雜問題,AI 工具也需改進(jìn)以滿足高難度任務(wù)的要求。
表3顯示了A組和B組在任務(wù) T1 至 T5 中獲得的均值和標(biāo)準(zhǔn)差。對于所有任務(wù),B 組團(tuán)隊的均值均顯著高于 A 組。在任務(wù) T1、T2 和 T3 上,兩組的標(biāo)準(zhǔn)差相似,但在 T4 和 T5 這兩項難度較大的任務(wù)上,差異顯著。
圖1顯示了團(tuán)隊完成任務(wù) T1至 T5所花費(fèi)的平均時間。相比之下,A組在完成 T1至T3任務(wù)時花費(fèi)了更多時間,而 B組在完成T4和T5任務(wù)時花費(fèi)了更多時間。B組使用了“文心一言”輔助編寫代碼,但由于它生成的部分代碼過于冗長,超出了輸出大小的限制,導(dǎo)致被截斷。此外,通過“文心一言”進(jìn)行了多次查詢,結(jié)果顯示不一致。因此,B組花費(fèi)了更多時間來調(diào)試代碼以解決這些問題。
4 討論
研究結(jié)果顯示,“文心一言”在輔助編寫代碼方面展現(xiàn)了卓越的能力。它能夠生成連貫且結(jié)構(gòu)良好的代碼,并針對提出的問題提供優(yōu)化的解決方案。雖然當(dāng)學(xué)生要求“文心一言”為特定內(nèi)容編寫完整代碼時,它通??梢詽M足要求,但在終端運(yùn)行這些代碼時,結(jié)果的質(zhì)量卻參差不齊。
在實際編程任務(wù)中,由于“文心一言”生成的代碼存在不準(zhǔn)確性和不一致性問題,導(dǎo)致測試用例失敗。尤其是隨著問題難度的增加,這種情況更加顯著。此外,由于生成文本長度的限制,學(xué)生有時無法獲得完整的程序代碼。因此,他們不得不多次向“文心一言”發(fā)出提示,以獲取所需的輸出,這增加了編譯錯誤的風(fēng)險。
對于學(xué)生而言,深入理解內(nèi)在算法的工作原理可能并非必要,但理解影響結(jié)果的變量卻至關(guān)重要。此外,還需要考慮該工具可能存在的隱含偏見和假設(shè),以確保其輸出的準(zhǔn)確性和公正性。
需要善于向 AI 工具提供準(zhǔn)確的提示,以生成最佳的內(nèi)容。而制定有效的提示需要對工具及其基礎(chǔ)內(nèi)容有深刻的理解,同時也需要具備批判性思維。雖然基本提示可能足以產(chǎn)生所需的輸出,但通常需要付出大量的努力才能獲得期望的結(jié)果。
5局限和未來的工作
當(dāng)前研究中存在的問題以及未來研究的設(shè)想如下:
1) 設(shè)計更多的任務(wù)。為了更好地反映參與者的實際編程能力和解決問題的能力,可以設(shè)計多樣化和復(fù)雜的編程任務(wù),以提供更全面的洞察力,幫助更好地評估參與者的技能和反應(yīng)。
2) 未考慮多種AI工具。當(dāng)前研究未考慮不同AI工具的使用。在后期研究中可以探索不同AI工具,例如ChatGPT或其他生成式AI工具在編程任務(wù)中的表現(xiàn)差異。比較不同AI工具之間的性能差異可以為工具的進(jìn)一步優(yōu)化提供重要的線索。
3) 樣本量較小。在定性研究中,樣本量的大小是一個挑戰(zhàn)。未來的研究可以考慮擴(kuò)大樣本量,以獲得更具代表性和全面性的結(jié)果。此外,可以考慮采用混合方法,結(jié)合定性和定量數(shù)據(jù),以更好地分析人與人工智能的輸出,并得出更具說服力的研究結(jié)論。