AI「導師」進哈佛!7x24小時輔導CS課程,RAG或成AI教育最后一塊拼圖
去年,哈佛大學做了件大事。
他們在自己的CS50課程中引入了一整套AI工具,堪稱學生個人的個性化「導師」。
一開始,這套工具服務的對象是70來個上暑校的學生。后來逐漸開放,數千名線上學生也得以擁有屬于自己的學習導師。
到了秋季,AI工具又面向了幾百位本校學生開放,反響不可謂不強烈。
今天,我們通過一篇論文,來向全體讀者朋友詳細介紹這套AI工具的開發過程,相信每位同學都可以獲益匪淺。
哈佛個人AI導師
首先,不同于傳統學習過程中,學生們使用搜索引擎直接獲得答案或是教學資料,這套工具的設計理念是,引導學生自主探索解決問題的方案,比較忌諱直接把答案擺出來。
這也是為什么這套工具一經推廣,學生們都愛不釋手,并將它比作自己的個性化導師。
根據哈佛大學的研究,將人工智能有策略地融入教學,可以給學生提供持續性的個性化支持,不僅能把整個學習過程包裝的引人入勝,還能幫助真正的老師們解決不少復雜的教學難題。
不過在詳細介紹之前,想必大家對AI如何改變了教育生態這個問題,了解的已經不少了。
說實話,就AI在教育領域下場這件事而言,負面的擔憂并不比正面的期待要少。
之前,學生們用生成式AI替自己寫作業、完成論文的事兒已經發生不少了。顯然,這和教學的基本目標相悖。因此,更多老師選擇的做法是,明令禁止用AI完成課程作業。
因此,為了規避這個問題,哈佛大學設置了一些防護措施,為的就是維護學術誠信,促進更有意義的學習過程。
他們還測試了專為CS50這門課開發的AI聊天機器人,以橡皮鴨的形象呈現,稱為CS50 Duck(或叫CS50.ai)。
哈佛大學表示,這個系統是為了實現他們的終極目標:1:1的師生比例。
開發過程
谷歌最初追求的是簡單的概念驗證功能,后來逐漸才演變出更多更加高級的項目,最終目的當然是提供一套全面的工具,幫助學生學習CS50的課程。
目前,這些工具包括:
1)高亮代碼解釋——用于快速、易懂的代碼解釋
2)style50增強版——用于評估不同代碼風格
3)CS50 Duck——一個通過多平臺回答課程相關問題的聊天機器人。
所有這些工具都由統一網絡應用程序CS50.ai提供支持。除了提供快速準確的AI生成的回復外,CS50.ai還內置了 一個叫「Pedagogical Guardrails」的東西,直譯過來就是「教學圍欄」,目的就是引導學生學習,而非直接提供答案。
高亮代碼解釋這一塊,哈佛大學創建了一個VS Code的擴展,以此來模仿人類教師的行為,為學生提供某一代碼片段的簡要解釋。
學生要做的很簡單,只要選中一行或者幾行代碼即可。
這個東西和CS50現有的正確性測試工具Check50相輔相成,可以及時講明白代碼語義相關的問題。
這樣一來,有了更加便捷和準確的代碼解釋,學生就可以提高學習效率,更多把目光放在更高層次的問題上,比如如何設計代碼。而不是像解釋代碼這種稍低層次的問題。
而style50代碼風格分析,不僅可以檢查代碼的風格,還可以幫學生改進代碼。
在呈現上,最新版本的style50會將學生的初始版本和改進的版本放在一起比較,讓學生更清晰地看出改在了哪里,為什么改,改完了哪兒好。
同時,學生還可以一鍵生成通過自然語言解釋的文本,一目了然,不用自己分析。
不得不說,從交互性上看,這套系統做得是真不錯。
上面提到,這套系統的后端都是由CS50.ai支持的,這樣不同部分之間就有了一致性。
同時,為了讓學生的體驗更好,哈佛模仿ChatGPT的形式,開發了一個CS50 Duck的獨立網站,一樣采用對話形式,學生可以和GPT-4直接互動,如下圖所示。
圖片
CS50 Duck可以通過CS50.ai的網站和單獨的VS Code擴展程序兩種方式使用,如下圖所示。
圖片
一直以來,哈佛都使用第三方平臺Ed作為其CS課程的在線討論平臺,提供教學輔助。
通過Ed,學生們可以提出問題,并接受來自工作人員和同時在學這門課的同學的指導,這樣做簡化了討論,最大限度地減少了重復問題的反復提出,還促進了同學間的合作。
為了進一步完善Ed的功能,新版本中,開發人員利用CS50 Duck的HTTP請求功能將其集成到平臺中,如下圖所示。
聊天機器人CS50 Duck也會參與進來,并回答問題。通過在CS50.ai應用程序中為Ed上的CS50 Duck創建的一個專用API端點,開發人員就可以控制由GPT-4輸出的回答,確保CS50 Duck的輸出符合課程的設置和教學理念,而非簡單地直接回答學生的問題。
圖片
CS50 Duck的所有回答都設置為可由人類工作人員審核,審核員可以對答案進行修改或是刪除。
學生的提問首先會被轉發到 CS50.ai。其中,所有涉及個人身份的信息都會被刪除。然后,提問會被進一步處理成結構化的問題,成為一個prompt。
這些prompt根據特定課程的設計和指南創建,目的是為了引導 GPT-4以更高的精度生成回答,做到上下文理解「滿分」。
此外,對于來自Ed平臺的提問,CS50.ai在生成回復時使用了一種叫做檢索增強生成(retrieval-augmented generation,RAG)的技術。
RAG利用從外部來源獲取的信息和知識,提高LLM生成內容的準確性和可靠性,減少幻覺的發生。
然后,相關信息被添加到prompt中,使GPT-4能夠生成更加準確且符合上下文的回答。
這么來看,CS50.ai和GPT-4相互配合,能夠快速為學生提供正確而有效的回答。
圖片
還有一個非常有意思的點,值得一提。
細心的讀者應該已經注意到了,上面的聊天界面的小鴨子旁邊有五個小心心,其中一個還只有一半了。
圖片
有沒有很熟悉,就像玩兒那種游戲的時候,人物角色旁邊會出現的生命計數。
這也是這套系統的創新點之一。
CS50.ai通過可視化小心心來實現一個節流機制,每個學生一開始有10個小心心(其實是5個完整的,10個一半的),每三分鐘恢復一個。
與CS50 Duck的每次互動都會消耗一個小心心,為的就是防止大量頻繁的垃圾輸入的行為。
從成本角度來看,這有助于降低CS50.ai的運行成本,畢竟給GPT-4發一次消息就得付一次錢嘛,買過的朋友肯定都清楚這一點。
其次,對學生來說,這套機制也是具有寶貴教學意義的。有了發送信息數量的限制,學生就得在提問之前仔細考慮自己的問題,讓自己和CS50 Duck之間的互動效率和質量更高。
根本目的還是在于培養學生獨立解決問題的能力和精準提出關鍵問題的能力,這對學習本身至關重要。
而且還能讓部分學得上頭的同學,停一步,慢下來好好看看自己之前學習的過程,強制性的復盤并休息一小下。
RAG是消除幻覺的關鍵
有關這個RAG,咱們再多說幾句。
LLM有時候會產生幻覺,這個大家都知道。
之所以會出現這種情況,是因為AI模型是在大量文本數據的基礎上訓練出來的,因此它們學會了流暢地生成文本,而不一定重視事實的正確性。
此外,LLM有時會有一個所謂的知識截斷點,這使得它們的信息僅限于在最近一次訓練之前所學到的知識,而無法獲得實時更新,或那次訓練后新出現的內容。
而RAG就可以很好地解決這個問題。哈佛大學的開發人員利用OpenAI的嵌入式應用程序接口(Embeddings API)為CS50創建文本嵌入,從而形成一個真實的外部數據源。
這些嵌入是向量表示的(即數值),可以為機器學習算法捕捉語義,從而更有效地解釋和利用數據。
整個數據準備過程包括將課程講座的英文字幕分割成30秒的短小獨立片段,然后利用OpenAI的text-embedding-ada-002模型為這些片段創建嵌入,并將結果存儲在ChromaDB向量數據庫中。
之后,開發人員還會為每個輸入進來的來自學生的提問創建一個新的嵌入,并在向量數據庫中執行嵌入搜索,以檢索按相關性排序的內容。
如此一來,就最大程度地規避了幻覺的出現。
圖片
學生反饋集準確率
從使用過的學生們的反饋來看,這套系統不可謂不成功。
有同學表示,他們很喜歡人工智能機器人回答問題時的直接,既不會有包含個人情緒的評價,也不會有覺得你問題太笨蛋的優越。即使是最愚蠢的問題,它也會一視同仁地回答。
還有同學表示,在AI時代,ChatGPT不可避免的會讓自己在學習的過程中偷懶。而有了個性化定制的CS50.ai,就可以既使用AI又規避過度依賴AI的問題。
而在兩次校內的調查中,哈佛大學采訪了差不多五百位同學,看看他們使用CS50ai的頻率和使用感受。
結果顯示,17%的學生每周使用這些工具十次以上,32%的學生每周使用5-10次,26%的學生每周使用2-5次,25%的學生每周使用少于兩次。
此外,大多數學生認為課程的AI工具是有幫助的。從數據來看,47%的學生認為其非常有用,26%的學生認為有用,21%的學生認為有點用。不過,還有6%的學生認為沒用。他們有可能還沒習慣,或者是本身已經非常優秀了,不需要AI來協助自己學習。
還有不少用過的學生將CS50 Duck擬人化,把這個小動物當作自己的好朋友。哈佛大學表示,這就符合他們設計這套系統和這個形象的初衷了。
不過,上面提到的節流的小心心,有些學生還是持反對意見,覺得不受限制的提問更好一點。但哈佛大學虞姬還是不會對這個部分進行改動。
而為了評估CS50 Duck在Ed上的表現,開發人員邀請了一位不在團隊中的資深開發者來審查CS50.ai生成的回復。
CS50 Duck在暑假期間,一共在Ed上發布了64條回答,其中25條與課程內容相關,其余39條與行政相關。
25個和課程內容相關的問題的回答中有22個(88%)是準確的,39個和行政問題相關的回答中有30個(77%)是準確的。
而著時間的推移,CS50這門課的教學大綱也在不斷變化,這就導致了GPT-4與課程的最新變化不同步。
未來RAG會更大程度的派上用場,這套CS50.ai的系統應該也會不斷進行優化。
參考資料: