成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用AI學(xué)習(xí)一門編程語言? 原創(chuàng)

發(fā)布于 2024-6-26 19:49
瀏覽
0收藏

譯者 | 布加迪

審校 | 重樓

無論你是軟件開發(fā)新手還是擁有幾十年的豐富經(jīng)驗,總是需要學(xué)習(xí)新知識。TIOBE Index追蹤50種最受歡迎的編程語言,許多生態(tài)系統(tǒng)為職業(yè)發(fā)展和橫向轉(zhuǎn)型提供了機(jī)會。鑒于現(xiàn)有技術(shù)具有的廣度,抽空學(xué)習(xí)一項新技能并有效運用技能可能困難重重。

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

最近我一直在嘗試學(xué)習(xí)Rust語言,這是一種注重性能、可靠性和生產(chǎn)力的類型安全語言。我在此過程中學(xué)到了使用AI編程助手的若干技巧,想與你分享,以改善你的學(xué)習(xí)體驗。

文章最后列有幾項基于AI的新技能,你可以在學(xué)習(xí)過程中運用起來,加快實現(xiàn)目標(biāo)。我在本文所說的AI是指基于大語言模型(LLM)的AI驅(qū)動的編程助手,比如Amazon Q Developer(前身是CodeWhisperer)、GitHub Copilot和JetBrains AI Assistant。你可以將下面所有技巧運用到所選擇的工具上。

對參數(shù)化知識持懷疑態(tài)度

“參數(shù)化知識”是訓(xùn)練過程中存儲在模型中的信息。編碼數(shù)據(jù)是AI通常能夠快速響應(yīng)、提供準(zhǔn)確信息的原因。不過,AI有時候也會給出嚴(yán)重錯誤的答案。

這對我們用戶來說意味著什么?雖然這些系統(tǒng)可能大有幫助,但它們受到收集數(shù)據(jù)和訓(xùn)練模型所需的時間和資源的限制。比如說,OpenAI使用截至2023年12月的信息訓(xùn)練ChatGPT 4 Turbo模型,數(shù)據(jù)集的內(nèi)容是未知的。從用戶的角度來看,任何特定的模型中是否存在“完整”的知識、為什么有時我們可能對其響應(yīng)不感興趣都是不確定的。

留意數(shù)據(jù)集的截止日期可以幫助你更好地理解和處理來自AI聊天會話的響應(yīng)。作為一名物色和購買服務(wù)的消費者,研究提供商的數(shù)據(jù)收集實踐和訓(xùn)練過程可以帶來更令人滿意的體驗。

雖然AI通常會有所幫助,但在任何學(xué)習(xí)過程中,經(jīng)過驗證的人類知識來源仍將是最有價值的。這倒不是說AI系始終是錯的,但你需要養(yǎng)成質(zhì)疑自己使用的信息是否正確的習(xí)慣。另一個需要謹(jǐn)慎的原因是,這些系統(tǒng)的創(chuàng)建者將它們訓(xùn)練成樂于助人的助手。有時它們可能“太樂于助人”了,生成可能不存在的想法和概念,即幻覺現(xiàn)象。

總而言之,只有“真正的智能”才能理解AI何時犯錯。

閱讀代碼和提示以解釋

開源軟件運動為每個學(xué)習(xí)編程的程序員提供了輕松訪問生產(chǎn)級代碼的途徑。開源代碼庫提供了一個很好的機(jī)會,可以了解專業(yè)人員如何編寫代碼,并學(xué)習(xí)語言習(xí)慣用法和技巧等。但是如果沒有基本的參考框架或基本的理解,閱讀一門不熟悉的語言可能令人生畏、一頭霧水。

我一直在使用的一種技術(shù)是在流行的代碼共享網(wǎng)站GitHub上查找特定語言的代碼,并將其粘貼到AI聊天會話中,一并粘貼的還有提示“請解釋該代碼”和“請列出該代碼塊中出現(xiàn)的重要語言概念”。

該提示的模板可能如下所示。

Please explain the following code


```rust

// rust code goes here

```
Also, list the important language concepts from the description in a bulleted list so I may do more research.

因此生成的主題列表是一種很好的方式,可以讓我把學(xué)習(xí)的重點放在當(dāng)下最重要的事項上,而不是試圖一次吸收整個圖書館的信息。

JetBrains AI Assistant將允許你存儲提示模板供重復(fù)使用,你在不同的項目之間跳轉(zhuǎn)時這非常有用。

詳細(xì)內(nèi)嵌注釋的提示

當(dāng)你還沒有完全掌握一門語言的語法或語義時,一大堆代碼可能讓人望而生畏。使用提示“為每行注釋”是一種快速而簡單的方法,可以大致了解應(yīng)用程序可能在做什么。

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

借助JetBrains AI Assistant,你還可以在并排或統(tǒng)一視圖中獲得變更的Diff視圖。視圖允許你快速查看變更,并選擇接受或拒絕變更。

嘗試不同的選項

學(xué)習(xí)任何主題都涉及試驗,更重要的是,涉及運用學(xué)到的概念。這對于找到一種切實有效的解決方案并理解何時嘗試不同的方法至關(guān)重要。有了AI,嘗試不同的實現(xiàn)方法從未像現(xiàn)在這樣直觀簡單。

下面是我用來發(fā)現(xiàn)Rust語言中便于進(jìn)行后續(xù)研究的功能特性的提示。

Given the following API, show me three different implementations


```rust

fn add(x: i32, y:i3) -> i:32 {

 // implementation goes here

}

```

記住,這事關(guān)學(xué)習(xí),所以API不一定特別復(fù)雜。嘗試想法讓你得以發(fā)現(xiàn)AI聊天會話之外的不同學(xué)習(xí)路徑。這種技術(shù)非常出色,特別是與傳統(tǒng)的主題搜索相比;傳統(tǒng)的主題搜索可能因你對特定主題的理解而受到限制。

Amazon Q Developer等一些工具提供內(nèi)聯(lián)選項,允許你在不離開編輯器上下文的情況下循環(huán)處理示例。按左右方向鍵可以讓你在諸選項之間移動,直至找到一個你喜歡的選項。

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

更多的上下文始終更好

我在上面提到了LLM的嵌入信息限制。請記住,在這些服務(wù)可能缺乏信息的地方,能提供信息再好不過了,但你需要用正確的方式來提供。

在現(xiàn)代互聯(lián)網(wǎng)搜索體驗的訓(xùn)練下,我們已學(xué)會在文本框中提出基于關(guān)鍵字的問題。搜索式查詢是我看到許多AI新手常犯的一個錯誤,這可能會讓他們對結(jié)果感到失望。在使用AI助手時,將AI聊天會話視為“搜索”是一個壞習(xí)慣,因為LLM的創(chuàng)建者構(gòu)建它們是為了預(yù)測用戶可能想要什么。

進(jìn)行更準(zhǔn)確預(yù)測的最好方法是盡可能地詳細(xì)和明確。

一個很有效的方法是基于示例的提示。你提供的示例越多,結(jié)果就越準(zhǔn)確。這里有一個模板提示,可以幫助你在學(xué)習(xí)過程中發(fā)現(xiàn)新的想法。

Given the following three examples, what would an implementation for <X> look like?


example 1:

```

```

example 2:

```

```

example 3:

```

```

你在聊天會話中輸入的數(shù)據(jù)提供了實現(xiàn)預(yù)期結(jié)果所需的上下文。別害怕糾正或添加更多的上下文。越多越好,因為模型有更多的信息作為響應(yīng)的基礎(chǔ)。

為了保持對話進(jìn)行、增添聊天會話的上下文,Amazon Q Developer為你提供了一組自然的后續(xù)問題,確保你在學(xué)習(xí)過程中有積極性。

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

查看代碼補全

大多數(shù)AI服務(wù)提供多行代碼補全功能。雖然我忍不住會接受編輯器中呈現(xiàn)的所有選項,但這通常會阻礙我的學(xué)習(xí)過程。相反,我喜歡從創(chuàng)建表明目標(biāo)的代碼注釋入手。

// TODO: create a match expression to process the different message variants

在下圖中,我們看到GitHub Copilot主動表示可以補全我的語句。乍一看很不錯,但我必須停下來細(xì)想這個選項,看看它是否符合我的意圖。在按Tab鍵之前,我要停下來。想想為什么?

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

這么做的原因是為了檢查我目前的技能是否能夠閱讀和處理代碼。如果是,那我取得進(jìn)展。如果不是,那么我應(yīng)該花時間去了解我的知識短板在哪里。永遠(yuǎn)不要接受你并沒有完全理解的代碼、添加到代碼庫中。

注意,你可以配置該功能以減少干擾,只按需顯示補全,以減輕在編寫代碼和讀取代碼之間切換的認(rèn)知負(fù)擔(dān)。

解釋錯誤,找到解決辦法

面對每個編程堆棧,你都會遇到編譯和運行時錯誤,其中一些錯誤可能很隱晦。如果你在設(shè)法理解為什么你的應(yīng)用程序失敗,不妨使用AI助手聊天會話來解釋這個問題,找到出現(xiàn)問題的地方,并提出解決方案。

What exactly is the problem here in my Rust backtrace? Reduce the response to the file and line and explanation of the error and propose a solution.


```

```

下面這個例子表明了使用這個提示來理解Rust回溯中發(fā)生了什么事情。

如何使用AI學(xué)習(xí)一門編程語言?-AI.x社區(qū)

分享想法

雖然使用AI聊天從一個話題切換到另一個話題可能感覺很自然,但放緩節(jié)奏、將你新發(fā)現(xiàn)的知識與其他知識重新聯(lián)系起來總是好事。一旦我學(xué)到了新概念,并創(chuàng)建了切實可用的示例,我會與其他學(xué)習(xí)者和專家分享,以獲得寶貴的反饋。記住,AI只能對你的要求有所幫助,而其他人會用他們的實際經(jīng)驗加以豐富,預(yù)測你可能忽略的潛在陷阱。

社交媒體平臺是分享截圖、代碼示例和想法并獲得寶貴反饋的好地方,你可以將這些反饋納入到未來的AI聊天會話中。

總結(jié)聊天

這里有一個建議送給那些不擅長記筆記,但可能想要回憶前一天工作的那些人。在長時間的學(xué)習(xí)結(jié)束后,不妨讓當(dāng)前的聊天會話總結(jié)你的所有問題,并為每個問題列出一句話的答案。

Given what we’ve chatted about, list all the questions and a single-sentence summary of each answer.

響應(yīng)是出色的快速參考指南,供你的下一次學(xué)習(xí)會話參考。這也是一篇很好的博文,你可以練習(xí)與他人分享你的想法和學(xué)習(xí)經(jīng)驗。

用AI學(xué)得更快

我希望當(dāng)你使用AI工具更快速、更有效地學(xué)習(xí)時,這些技巧對你有所幫助。這些工具旨在幫你實現(xiàn)為自己設(shè)定的目標(biāo)。我發(fā)覺它們在形成新想法和探索我不知道的想法方面大有幫助。

最重要的是,它們讓我與社區(qū)里的其他人建立了聯(lián)系,這些人拓寬了我的知識面。

原文標(biāo)題:How to learn a programming language using AI,作者:Khalid Abuhakmeh

?鏈接: https://www.infoworld.com/article/3715411/learn-a-programming-language-using-ai.html


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 亚洲国产精品视频 | 国产免费一区二区三区网站免费 | 久久亚洲国产精品日日av夜夜 | 欧美小视频在线观看 | 国产精品久久久久久久久久久久午夜片 | 亚州综合在线 | 午夜影院中文字幕 | 精品一区二区三区四区在线 | 91丨国产 | 日韩欧美国产不卡 | 粉嫩粉嫩芽的虎白女18在线视频 | 欧美aⅴ| 综合第一页| 香蕉久久久 | 亚洲国产成人一区二区 | 91精品国产91久久久 | 羞羞视频免费观看入口 | 国产欧美日韩一区 | 久久久久国产一区二区三区 | 玖玖操| 亚洲一区二区三区视频在线 | 成人亚洲综合 | 免费一二区 | 天天综合网天天综合 | 亚洲天堂av在线 | 狠狠操天天操 | 亚洲成人一区 | 欧美一级二级视频 | 成人高清在线 | 欧洲av在线 | 欧美精品久久久久 | 免费麻豆视频 | 国产精品视频一区二区三区四区国 | 99re6在线视频 | 国产成人网 | 国产在线观看一区二区 | 亚洲一区在线日韩在线深爱 | 久久男人 | 热99视频 | 国产高清免费 | 特一级毛片 |