在我們開(kāi)始之前,你必須先了解編程語(yǔ)言,然后才能相信 拋給你的任何東西。 我必須明確這一點(diǎn),因?yàn)樵S多誤入歧途的綿羊被告知 是新的圣杯,開(kāi)發(fā)人員將被淘汰。

代碼演示工具_(dá)演示代碼什么意思_chatgpt 演示寫(xiě)代碼

推薦:用 NSDT場(chǎng)景設(shè)計(jì)器 快速搭建3D場(chǎng)景。

使用 或任何 LLM 不會(huì)自動(dòng)讓你成為大師,也不會(huì)自動(dòng)讓你更有效率。

一味的復(fù)制粘貼代碼對(duì)任何人都沒(méi)有好處; 這只是懶惰。 它可能會(huì)導(dǎo)致意想不到的后果,當(dāng)你添加不理解的代碼時(shí),這可能會(huì)直接或間接地?fù)p害你的項(xiàng)目。

你需要承認(rèn) 已經(jīng)使用 2021 年之前的公開(kāi)數(shù)據(jù)進(jìn)行了訓(xùn)練。結(jié)果可能有偏見(jiàn)、容易出錯(cuò)并且缺乏引用。 因此,最好始終牢記這一點(diǎn),因?yàn)樗峁?zhǔn)確和最新答案的能力并不比其訓(xùn)練數(shù)據(jù)集的準(zhǔn)確性和相關(guān)性更好。 隨著 弄清楚如何持續(xù)確保模型是最新的chatgpt 演示寫(xiě)代碼,這可能會(huì)隨著時(shí)間的推移而改變。

如上所述,“提示”可能會(huì)生成答案或代碼片段,這些答案或代碼片段可能會(huì)引用較舊的框架版本或具有安全缺陷或錯(cuò)誤的已棄用功能。

現(xiàn)在我們已經(jīng)解決了這個(gè)問(wèn)題,讓我們進(jìn)入并查看一些有價(jià)值的提示,這些提示將幫助你增強(qiáng)使用 的方式。

1、避免丟失上下文

是上下文感知的。

有文本輸出限制,但可以通過(guò)鍵入“”或“繼續(xù)”輕松繞過(guò)這一限制。

如果“繼續(xù)”返回的解決方案略有不同,你可能需要返回并修復(fù)變量名稱(chēng)或更改函數(shù)參數(shù)的順序。

如果你在聊天中問(wèn)太多問(wèn)題,它最終會(huì)失去上下文,因?yàn)槊看文銌?wèn)一個(gè)新問(wèn)題時(shí)它只會(huì)延續(xù)之前對(duì)話(huà)的有限部分。

要解決這個(gè)問(wèn)題并保留上下文,可以編輯之前的問(wèn)題并提出一個(gè)完全不同的問(wèn)題。 仍將保留更早之前的上下文,這對(duì)于詢(xún)問(wèn)有關(guān)同一應(yīng)用程序中不同文件的編碼問(wèn)題很有用。

另一個(gè)提示是提示“ for ”讓 修改其答案。 具體說(shuō)明你想要的輸出樣式。 “ me code…”、“ code on…”都會(huì)給出不同風(fēng)格的答案,這可能與點(diǎn)擊重新生成的響應(yīng)不同。

2、保持提示簡(jiǎn)短準(zhǔn)確

有時(shí),冗長(zhǎng)、復(fù)雜的提示可能會(huì)產(chǎn)生相反的效果,因此保持簡(jiǎn)短和精確總是好的。 如果你給它太多的任務(wù)或者答案需要大量的文字,它可能只是拒絕回答/幫助。

最好描述程序,然后分別詢(xún)問(wèn)每個(gè)功能,同時(shí)指定與先前代碼兼容的提示。 一旦你這樣做了,你就可以得到想要的效果。

3、明確提示輸出樣式

將關(guān)鍵字“l(fā)ist”添加到你的提示中可以更改 的輸出方式。例如,下面的第二個(gè)提示要求列出最大的銀行:

代碼演示工具_(dá)chatgpt 演示寫(xiě)代碼_演示代碼什么意思

由于 是基于文本的,你可以使用關(guān)鍵字“”作為提示的一部分。例如:

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

這是另一種要求代碼輸出的變體。 下面的鍵/值需要反過(guò)來(lái),但是我們不清楚如何定義哈希表:

chatgpt 演示寫(xiě)代碼_代碼演示工具_(dá)演示代碼什么意思

由于我們現(xiàn)在知道 是上下文感知的,我們可以繼續(xù)根據(jù)之前的輸出請(qǐng)求進(jìn)一步的更改:

代碼演示工具_(dá)演示代碼什么意思_chatgpt 演示寫(xiě)代碼

此外,我們可以繼續(xù)這個(gè)上下文感知之旅,并通過(guò)根據(jù)之前的提示編寫(xiě)更復(fù)雜的邏輯來(lái)進(jìn)一步操縱輸出:

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

代碼演示工具_(dá)演示代碼什么意思_chatgpt 演示寫(xiě)代碼

4、生成代碼文檔

可以幫助你為代碼編寫(xiě)清晰簡(jiǎn)潔的文檔,包括項(xiàng)目的 .md 文件。 通過(guò)為模型提供有關(guān)你的代碼的信息,它可以生成詳細(xì)的文檔來(lái)解釋它的工作原理和使用方法。

采取的步驟包括:

5、輔助完成代碼

通過(guò)粘貼代碼片段并提示建議, 可以幫助完成代碼。 這為不同的問(wèn)題解決技術(shù)提供了機(jī)會(huì)。 通過(guò)不斷的提示,可以建立一個(gè)反饋循環(huán)來(lái)澄清特定的代碼行,這有助于理解和深入了解你可以進(jìn)行的潛在增強(qiáng)。

6、對(duì)輸入保密代碼保持警惕

鑒于 使用的是 (LLM),即 ,其中“生成”是指模型生成新內(nèi)容的能力,該模型的底層基礎(chǔ)是將大型訓(xùn)練數(shù)據(jù)集轉(zhuǎn)換為數(shù)學(xué) 結(jié)構(gòu)。 然后,它會(huì)學(xué)習(xí)該模式并使用它一次迭代地預(yù)測(cè)一個(gè)詞,從而為給定的提示創(chuàng)建最佳響應(yīng)。 這意味著你添加到其中的任何內(nèi)容都可能用于未來(lái)的迭代訓(xùn)練。

在某些真實(shí)情況下,為了調(diào)查目的而插入代碼片段是有意義的。 例如,交叉檢查已經(jīng)在公共領(lǐng)域的開(kāi)源代碼中的錯(cuò)誤或不直接或間接披露專(zhuān)有公司機(jī)密的代碼片段。

“這一切都是有趣的游戲,直到有人做了一些愚蠢的事情?!?/p>

7、給出要求編碼的提示

以下是一些示例提示,可幫助你簡(jiǎn)化代碼和重構(gòu)工作:

Code alternative example
input 
Simplify below code 
input 
Refactor this code 
input 

可以充當(dāng) SQL 終端并可以響應(yīng)提示。 這對(duì)于測(cè)試很有用chatgpt 演示寫(xiě)代碼chatgpt 演示寫(xiě)代碼,但最好直接通過(guò)像 這樣的 SQL IDE 來(lái)學(xué)習(xí)。

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

這是另一個(gè)用作正則表達(dá)式生成器的 示例。 正則表達(dá)式會(huì)變得非常復(fù)雜; 測(cè)試和學(xué)習(xí)如何解釋它們總是好的。

下面顯示的第一個(gè)提示用于電子郵件驗(yàn)證。 你會(huì)注意到輸出不符合 標(biāo)準(zhǔn),該標(biāo)準(zhǔn)取代了 ,并于 2001 年過(guò)時(shí)。因此,僅生成基本驗(yàn)證。 還可以提出進(jìn)一步的請(qǐng)求以獲得符合 規(guī)范的模式。

chatgpt 演示寫(xiě)代碼_代碼演示工具_(dá)演示代碼什么意思

然后,我們可以在我們最喜歡的 IDE 中執(zhí)行一些測(cè)試,并圍繞生成的正則表達(dá)式編寫(xiě)測(cè)試用例,以確保它符合我們的要求。 請(qǐng)注意,協(xié)助并不意味著沒(méi)有盡職調(diào)查、測(cè)試代碼和驗(yàn)證是否處理了所有驗(yàn)收標(biāo)準(zhǔn)和邊緣情況。

import re
def test_email_regex():
    pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}#34;
    # Test valid email addresses
    assert re.match(pattern, "example@example.com")
    assert re.match(pattern, "example.example@example.com")
    assert re.match(pattern, "example+example@example.com")
    assert re.match(pattern, "example_example@example.com")
    assert re.match(pattern, "example%example@example.com")
    
    # Test invalid email addresses
    assert not re.match(pattern, "example@.com")
    assert not re.match(pattern, "example@com")
    assert not re.match(pattern, "example@example.")
    assert not re.match(pattern, "@example.com")
    assert not re.match(pattern, "example@example..com")

試試上面的 。 你可能會(huì)注意到有些東西有點(diǎn)奇怪,這證明了我需要驗(yàn)證的觀點(diǎn)。

8、不要太天真

可以生成代碼并不意味著它可以開(kāi)箱即用。 諸如“給我寫(xiě)一個(gè)簡(jiǎn)單的 待辦事項(xiàng)列表應(yīng)用程序”之類(lèi)的提示會(huì)在一定程度上為簡(jiǎn)單的 項(xiàng)目創(chuàng)建一個(gè)基本結(jié)構(gòu)。 為了讓生成的代碼正常工作,你必須投入的工作量會(huì)更多,這有時(shí)可能會(huì)違反直覺(jué),由于需要更多代碼工作的上下文,可能會(huì)減慢你的速度。

如果你沒(méi)有經(jīng)驗(yàn)并且對(duì)框架和代碼沒(méi)有很好的理解,那么 生成的任何內(nèi)容都不會(huì)在現(xiàn)場(chǎng)生產(chǎn)環(huán)境中發(fā)揮作用。 也不適合那些事先不了解他們請(qǐng)求 信息的主題的人。

始終交叉檢查外部引用并練習(xí)結(jié)對(duì)編程和代碼審查,以驗(yàn)證推送到你的存儲(chǔ)庫(kù)中的任何代碼。

有一種誤解認(rèn)為 會(huì)神奇地為你簡(jiǎn)化一切。 像任何工具一樣,它的結(jié)果完全取決于使用它的人。

我仍然相信編碼是一個(gè)創(chuàng)造性的過(guò)程; 等工具可以協(xié)助但不能取代軟件開(kāi)發(fā)人員。 他們有能力幫助開(kāi)發(fā)人員更聰明地工作,但也有能力讓我們作為軟件開(kāi)發(fā)人員自滿(mǎn)和腦殘。

9、提示生成測(cè)試用例/計(jì)劃

鑒于 的準(zhǔn)確性有時(shí)會(huì)受到質(zhì)疑,在編寫(xiě)測(cè)試用例時(shí),這是你可以安全地依賴(lài) 作為靈感來(lái)源的領(lǐng)域。 鑒于測(cè)試用例不是代碼執(zhí)行的重要組成部分,與利用 相關(guān)的風(fēng)險(xiǎn)可以忽略不計(jì),獲得的靈感可以幫助你編寫(xiě)更好的代碼。

測(cè)試用例也很容易驗(yàn)證正確性,因?yàn)槿绻e(cuò)誤就會(huì)失敗。 單元測(cè)試通常很容易理解,預(yù)期的結(jié)果是事先知道的。 LLMs 模型正確的可能性非常高。

測(cè)試計(jì)劃是你可以生成的另一件事,這對(duì)于與 QA 相關(guān)的測(cè)試特別有用。 通過(guò)利用人工智能,QA 團(tuán)隊(duì)可以自動(dòng)執(zhí)行重復(fù)性任務(wù),并深入了解可生成質(zhì)量更高的系統(tǒng)的邊緣案例。

示例:假設(shè)你有一個(gè)網(wǎng)站 ,你在該網(wǎng)站上構(gòu)建了一些功能并想要計(jì)劃測(cè)試自動(dòng)化。

你可以向 提供有關(guān)功能組件及其使用的詳細(xì)信息,并要求它在這種情況下生成測(cè)試計(jì)劃。

代碼演示工具_(dá)演示代碼什么意思_chatgpt 演示寫(xiě)代碼

這是簡(jiǎn)單易讀的,可以作為 QA 測(cè)試用例驗(yàn)收標(biāo)準(zhǔn)文檔的良好起點(diǎn)。 你可以與質(zhì)量檢查團(tuán)隊(duì)分享此信息。

現(xiàn)在,假設(shè)你希望測(cè)試計(jì)劃采用一種可以輕松復(fù)制到 Jira、wiki 或 中的測(cè)試票格式。 在這種情況下,可以通過(guò)在同一線程中添加更多提示來(lái)使用 。

演示代碼什么意思_chatgpt 演示寫(xiě)代碼_代碼演示工具

10、提示生成樣板代碼

如果你是經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,一些使用該工具有意義的情況包括不需要腦力的繁瑣工作。

代碼演示工具_(dá)演示代碼什么意思_chatgpt 演示寫(xiě)代碼

11、提示非常重要

如果希望生成模型能夠很好地為你工作,那么提示工程是你需要掌握的一項(xiàng)技能。 無(wú)論是使用 DALL-E 等 AI 生成器生成內(nèi)容和令人驚嘆的圖像,還是利用 meta 、、 和 等鮮為人知的服務(wù)。 正確提示將為你提供所需的輸出,因此花時(shí)間學(xué)習(xí)如何執(zhí)行此操作將節(jié)省破譯垃圾輸出的時(shí)間。

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

指示 成為 X 的提示以得出該 X 的響應(yīng)。

我希望你扮演一個(gè)的人。

作為數(shù)據(jù)科學(xué)家的 :

演示代碼什么意思_chatgpt 演示寫(xiě)代碼_代碼演示工具

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

Chat GPT 作為仿真 終端:

chatgpt 演示寫(xiě)代碼_演示代碼什么意思_代碼演示工具

作為隨機(jī)數(shù)據(jù)生成器,例如你需要測(cè)試數(shù)據(jù)樣本時(shí):

chatgpt 演示寫(xiě)代碼_代碼演示工具_(dá)演示代碼什么意思

注意對(duì)于隨機(jī)采樣數(shù)據(jù)生成,如果你注意到結(jié)果輸出不是唯一的,可能需要給出確切的提示以確保列隨機(jī)化。

原文鏈接:

免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表本站的觀點(diǎn)和立場(chǎng)和對(duì)其真實(shí)性負(fù)責(zé)。如需轉(zhuǎn)載,請(qǐng)聯(lián)系原作者。如果來(lái)源標(biāo)注有誤或侵犯了您的合法權(quán)益或者其他問(wèn)題不想在本站發(fā)布,來(lái)信即刪。