偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用AI學(xué)習(xí)一門編程語(yǔ)言?

譯文
人工智能
你可以通過AI助手學(xué)到很多編程知識(shí),不妨利用本文介紹的這些技巧和技術(shù)來改善體驗(yàn)。

譯者 | 布加迪

審校 | 重樓

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

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

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

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

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

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

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

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

總而言之,只有真正的智能才能理解AI何時(shí)犯錯(cuò)。

閱讀代碼提示解釋

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

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

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

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í)的重點(diǎn)放在當(dāng)下最重要的事項(xiàng)上,而不是試圖一次吸收整個(gè)圖書館的信息。

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

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

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

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

嘗試不同的選項(xiàng)

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

下面是我用來發(fā)現(xiàn)Rust語(yǔ)言中便于進(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聊天會(huì)話之外的不同學(xué)習(xí)路徑。這種技術(shù)非常出色,特別是與傳統(tǒng)的主題搜索相比;傳統(tǒng)的主題搜索可能你對(duì)特定主題的理解而受到限制。

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

更多的上下文始終更好

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

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

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

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

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


example 1:

```

```

example 2:

```

```

example 3:

```

```

你在聊天會(huì)話中輸入的數(shù)據(jù)提供了實(shí)現(xiàn)預(yù)期結(jié)果所需的上下文。害怕糾正或添加更多的上下文。越多越好,因?yàn)槟P陀懈嗟男畔⒆鳛轫憫?yīng)的基礎(chǔ)。

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

查看代碼補(bǔ)全

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

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

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

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

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

解釋錯(cuò)誤,找到解決辦法

面對(duì)每個(gè)編程堆棧,你都會(huì)遇到編譯和運(yùn)行時(shí)錯(cuò)誤,其中一些錯(cuò)誤可能隱晦。如果你在設(shè)法理解為什么你的應(yīng)用程序失敗,不妨使用AI助手聊天會(huì)話來解釋這個(gè)問題,找到出現(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.


```

```

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

分享想法

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

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

總結(jié)聊天

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

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

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

AI學(xué)得更快

我希望當(dāng)你使用AI工具更快速、更有效地學(xué)習(xí)時(shí),這些技巧對(duì)你有所幫助。這些工具旨在幫你實(shí)現(xiàn)為自己設(shè)定的目標(biāo)。我發(fā)覺它們?cè)谛纬尚孪敕ê吞剿魑也恢赖?/span>想法方面有幫助。

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

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


責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2013-07-26 10:23:04

2022-02-27 14:45:16

編程語(yǔ)言JavaC#

2019-11-18 11:00:58

程序員編程語(yǔ)言

2022-02-21 11:15:59

編程語(yǔ)言后端開發(fā)

2013-08-06 09:31:42

IT技術(shù)周刊

2017-04-07 10:45:43

編程語(yǔ)言

2017-04-07 16:49:00

語(yǔ)言程序編程

2012-09-04 11:20:31

2015-07-28 15:35:48

學(xué)習(xí)語(yǔ)言

2020-09-27 15:52:02

編程語(yǔ)言C 語(yǔ)言Python

2014-12-03 09:48:36

編程語(yǔ)言

2022-11-04 11:11:15

語(yǔ)言入職項(xiàng)目

2020-11-12 07:00:50

JavaScript前端編程語(yǔ)言

2011-12-30 09:33:02

程序員語(yǔ)言

2018-07-16 12:36:48

編程語(yǔ)言PythonJava

2021-10-10 12:45:13

編程語(yǔ)言開發(fā)

2015-11-11 10:01:42

編程語(yǔ)言選擇

2015-11-12 10:25:48

編程語(yǔ)言

2020-10-22 09:54:34

人工智能語(yǔ)言技術(shù)

2022-09-07 08:05:32

GScript?編程語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)