国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用 GitHub Copilot:提示、技巧和用例

這篇具有很好參考價(jià)值的文章主要介紹了如何使用 GitHub Copilot:提示、技巧和用例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如何使用 GitHub Copilot:提示、技巧和用例,java,后端,架構(gòu)

生成式人工智能編碼工具正在改變開發(fā)人員處理日常編碼任務(wù)的方式。從記錄我們的代碼庫(kù)到生成單元測(cè)試,這些工具有助于加快我們的工作流程。然而,就像任何新興技術(shù)一樣,總是有一個(gè)學(xué)習(xí)曲線。因此,當(dāng)人工智能驅(qū)動(dòng)的編碼助手無(wú)法生成他們想要的輸出時(shí),開發(fā)人員(無(wú)論是初學(xué)者還是經(jīng)驗(yàn)豐富的開發(fā)人員)有時(shí)會(huì)感到沮喪。(有沒(méi)有覺(jué)得很熟悉?)

例如,當(dāng)要求 GitHub Copilot 使用 p5.js(一個(gè)用于創(chuàng)意編碼的 JavaScript 庫(kù))繪制冰淇淋甜筒??時(shí),我們不斷收到不相關(guān)的建議,或者有時(shí)根本沒(méi)有建議。但當(dāng)我們更多地了解 GitHub Copilot 處理信息的方式時(shí),我們意識(shí)到我們必須調(diào)整與其通信的方式。

以下是 GitHub Copilot 生成不相關(guān)解決方案的示例:

如何使用 GitHub Copilot:提示、技巧和用例,java,后端,架構(gòu)

當(dāng)我們調(diào)整提示時(shí),我們能夠生成更準(zhǔn)確的結(jié)果:

進(jìn)步勝過(guò)完美

即使我們擁有使用人工智能的經(jīng)驗(yàn),我們也認(rèn)識(shí)到每個(gè)人都處于生成式人工智能技術(shù)的試錯(cuò)階段。我們也知道提供通用提示制作技巧的挑戰(zhàn),因?yàn)槟P透鞑幌嗤?,開發(fā)人員正在解決的個(gè)別問(wèn)題也各不相同。這不是一個(gè)最終的、萬(wàn)能的指南。相反,我們正在分享我們所學(xué)到的有關(guān)即時(shí)制作的知識(shí),以在軟件開發(fā)的新時(shí)代加速集體學(xué)習(xí)。

什么是提示,什么是提示工程?

這取決于你和誰(shuí)說(shuō)話。

在生成式 AI 編碼工具中,提示可能意味著不同的含義,具體取決于您是詢問(wèn)正在構(gòu)建和微調(diào)這些工具的機(jī)器學(xué)習(xí) (ML) 研究人員,還是在 IDE 中使用這些工具的開發(fā)人員。

在本指南中,我們將從在 IDE 中使用生成式 AI 編碼工具的開發(fā)人員的角度來(lái)定義術(shù)語(yǔ)。但為了讓您全面了解,我們還在圖表中添加了下面的 ML 研究人員定義。

提示 提示工程 上下文 開發(fā)人員 開發(fā)人員編寫的代碼塊、單行代碼或自然語(yǔ)言注釋,以從 GitHub Copilot 生成特定建議 在 IDE 中提供說(shuō)明或注釋以生成特定編碼建議 開發(fā)人員提供的詳細(xì)信息,用于指定生成式 AI 編碼工具的所需輸出 ML 研究人員 編譯 IDE 代碼和相關(guān)上下文(IDE 注釋、打開文件中的代碼等),由算法不斷生成并發(fā)送到生成式 AI 編碼工具的模型 創(chuàng)建將為大型語(yǔ)言模型生成提示(IDE 代碼和上下文的編譯)的算法 算法發(fā)送到大型語(yǔ)言模型 (LLM ) 的詳細(xì)信息(例如打開文件中的數(shù)據(jù)以及光標(biāo)之前和之后編寫的代碼)作為有關(guān)代碼的附加信息

使用 GitHub Copilot 進(jìn)行快速制作的 3 個(gè)最佳實(shí)踐

1. 設(shè)定高水平目標(biāo)。???

如果您有空白文件或空代碼庫(kù),這將非常有幫助。換句話說(shuō),如果 GitHub Copilot 對(duì)您想要構(gòu)建或完成的內(nèi)容的上下文為零,那么為 AI 結(jié)對(duì)程序員設(shè)置舞臺(tái)可能非常有用。在您開始詳細(xì)介紹之前,它有助于為 GitHub Copilot 提供您希望其生成的內(nèi)容的總體描述。

當(dāng)提示 GitHub Copilot 時(shí),將這個(gè)過(guò)程想象成與某人對(duì)話:我應(yīng)該如何分解問(wèn)題,以便我們可以一起解決它?我將如何與這個(gè)人進(jìn)行結(jié)對(duì)編程?

例如,在 Next.jst 中構(gòu)建 Markdown 編輯器時(shí),我們可以編寫這樣的注釋

/*
Create a basic markdown editor in Next.js with the following features:
- Use react hooks
- Create state for markdown with default text "type markdown here"
- A text area where users can write markdown 
- Show a live preview of the markdown text as I type
- Support for basic markdown syntax like headers, bold, italics 
- Use React markdown npm package 
- The markdown text and resulting HTML should be saved in the component's state and updated in real time 
*/

這將提示 GitHub Copilot 生成以下代碼,并在 30 秒內(nèi)生成一個(gè)非常簡(jiǎn)單、無(wú)樣式但功能齊全的 Markdown 編輯器。我們可以利用剩余的時(shí)間來(lái)設(shè)計(jì)組件的樣式:

注意:這種詳細(xì)程度可以幫助您創(chuàng)建更理想的輸出,但結(jié)果可能仍然是不確定的。例如,在評(píng)論中,我們提示 GitHub Copilot 創(chuàng)建默認(rèn)文本“在此鍵入 markdown”,但它生成了“markdown 預(yù)覽”作為默認(rèn)詞。

2. 讓你的要求簡(jiǎn)單而具體。旨在接收來(lái)自 GitHub Copilot 的簡(jiǎn)短輸出。???

一旦您將您的主要目標(biāo)傳達(dá)給人工智能結(jié)對(duì)程序員,請(qǐng)闡明實(shí)現(xiàn)該目標(biāo)所需遵循的邏輯和步驟。當(dāng)您分解事情時(shí),GitHub Copilot 可以更好地理解您的目標(biāo)。(想象一下你正在寫一份食譜。你會(huì)把烹飪過(guò)程分解成不連續(xù)的步驟——而不是寫一段描述你想做的菜。)

讓 GitHub Copilot 在每一步之后生成代碼,而不是要求它一次性生成一堆代碼。

以下是我們向 GitHub Copilot 提供用于反轉(zhuǎn)函數(shù)的分步說(shuō)明的示例:

如何使用 GitHub Copilot:提示、技巧和用例,java,后端,架構(gòu)

3. 舉一兩個(gè) GitHub Copilot 示例。??

從示例中學(xué)習(xí)不僅對(duì)人類有用,而且對(duì)人工智能結(jié)對(duì)程序員也有用。例如,我們想從下面的數(shù)據(jù)數(shù)組中提取名稱并將其存儲(chǔ)在一個(gè)新數(shù)組中:

const data = [
  [
    { name: 'John', age: 25 },
    { name: 'Jane', age: 30 }
  ],
  [
    { name: 'Bob', age: 40 }
  ]
];

當(dāng)我們沒(méi)有向 GitHub Copilot 展示示例時(shí)……

// Map through an array of arrays of objects to transform data
const data = [
  [
    { name: 'John', age: 25 },
    { name: 'Jane', age: 30 }
  ],
  [
    { name: 'Bob', age: 40 }
  ]
];

const mappedData = data.map(x => [x.name](http://x.name/));

console.log(mappedData);

// Results: [undefined, undefined]

它生成了錯(cuò)誤的地圖用法:

const mappedData = data.map(x => [x.name](http://x.name/));

console.log(mappedData);

// Results: [undefined, undefined]

相比之下,當(dāng)我們確實(shí)提供了一個(gè)例子時(shí)……

// Map through an array of arrays of objects
// Example: Extract names from the data array
// Desired outcome: ['John', 'Jane', 'Bob']
const data = [
  [{ name: 'John', age: 25 }, { name: 'Jane', age: 30 }],
  [{ name: 'Bob', age: 40 }]
];


const mappedData = data.flatMap(sublist => sublist.map(person => person.name));

console.log(mappedData);

我們收到了我們想要的結(jié)果。

const mappedData = data.flatMap(sublist => sublist.map(person => person.name));

console.log(mappedData);
// Results: ['John', 'Jane', 'Bob']

詳細(xì)了解 AI 訓(xùn)練的常見方法,例如零樣本學(xué)習(xí)、單樣本學(xué)習(xí)和少樣本學(xué)習(xí)。

使用 GitHub Copilot 進(jìn)行快速制作的三個(gè)額外技巧

以下三個(gè)額外提示可幫助指導(dǎo)您與 GitHub Copilot 的對(duì)話。

1. 根據(jù)提示進(jìn)行實(shí)驗(yàn)。

對(duì)話與其說(shuō)是一門科學(xué),不如說(shuō)是一門藝術(shù),即時(shí)創(chuàng)作也是如此。因此,如果您在第一次嘗試時(shí)沒(méi)有收到您想要的內(nèi)容,請(qǐng)按照上述最佳實(shí)踐重新設(shè)計(jì)提示。

例如,下面的提示是模糊的。它不為 GitHub Copilot 生成相關(guān)建議提供任何上下文或邊界。

# Write some code for grades.py  

我們迭代了提示以使其更加具體,但我們?nèi)匀粵](méi)有得到我們想要的確切結(jié)果。這是一個(gè)很好的提醒,即為提示添加特異性比聽起來(lái)更難。從一開始就很難知道您應(yīng)該包含哪些關(guān)于您的目標(biāo)的詳細(xì)信息,以便從 GitHub Copilot 生成最有用的建議。這就是我們鼓勵(lì)嘗試的原因。

下面的提示版本比上面的更具體,但沒(méi)有明確定義輸入和輸出要求。

# Implement a function in grades.py to calculate the average grade

我們通過(guò)設(shè)置邊界并概述我們希望函數(shù)執(zhí)行的操作再次嘗試提示。我們還重新表述了注釋,使功能更加清晰(為 GitHub Copilot 提供了明確的驗(yàn)證意圖)。

這一次,我們得到了我們想要的結(jié)果。

# Implement the function calculate_average_grade in grades.py that takes a list of grades as input and returns the average grade as a floating-point number

2. 保持幾個(gè)相關(guān)選項(xiàng)卡打開。

我們沒(méi)有您應(yīng)該保持打開的選項(xiàng)卡的確切數(shù)量,以幫助 GitHub Copilot 將您的代碼置于上下文中,但根據(jù)我們的經(jīng)驗(yàn),我們發(fā)現(xiàn)一兩個(gè)是有幫助的。

GitHub Copilot 使用一種稱為相鄰選項(xiàng)卡的技術(shù),允許 AI 結(jié)對(duì)程序員通過(guò)處理 IDE 中打開的所有文件(而不僅僅是您正在處理的單個(gè)文件)來(lái)將您的代碼置于上下文中。但是,不能保證 GItHub Copilot 會(huì)將所有打開的文件視為代碼的必要上下文。

3. 使用良好的編碼實(shí)踐。

這包括提供描述性變量名稱和函數(shù),以及遵循一致的編碼風(fēng)格和模式。我們發(fā)現(xiàn),與 GitHub Copilot 合作鼓勵(lì)我們遵循我們?cè)诼殬I(yè)生涯中學(xué)到的良好編碼實(shí)踐。

例如,在這里我們使用了描述性函數(shù)名稱,并遵循利用蛇形命名法的代碼庫(kù)模式。

def authenticate_user(username, password):

結(jié)果,GitHub Copilot 生成了相關(guān)代碼建議:

def authenticate_user(username, password):
    # Code for authenticating the user
    if is_valid_user(username, password):
        generate_session_token(username)
        return True
    else:
        return False

將此與下面的示例進(jìn)行比較,在該示例中我們引入了不一致的編碼風(fēng)格并且對(duì)函數(shù)的命名也很糟糕。

def rndpwd(l):

GitHub Copilot 沒(méi)有建議代碼,而是生成了一條評(píng)論:“代碼放在這里?!?/p>

def rndpwd(l):
    # Code goes here

保持聰明

生成式人工智能編碼工具背后的法學(xué)碩士旨在從訓(xùn)練數(shù)據(jù)中查找和推斷模式,將這些模式應(yīng)用到現(xiàn)有語(yǔ)言,然后生成遵循這些模式的代碼。考慮到這些模型的龐大規(guī)模,它們可能會(huì)生成一個(gè)尚不存在的代碼序列。正如您查看同事的代碼一樣,您應(yīng)該始終評(píng)估、分析和驗(yàn)證人工智能生成的代碼。

一個(gè)練習(xí)示例???????

首先,您需要安裝 GitHub Copilot 并在 IDE 中打開。我們還可以訪問(wèn)GitHub Copilot 聊天的早期預(yù)覽版,當(dāng)我們對(duì)代碼有疑問(wèn)時(shí),我們一直在使用它。如果您沒(méi)有 GitHub Copilot 聊天功能,請(qǐng)注冊(cè)加入候補(bǔ)名單。在此之前,您可以將GitHub Copilot與 ChatGPT 配對(duì)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-556505.html

更具生成性的人工智能提示制作指南

  • 使用 GitHub Copilot 進(jìn)行快速工程的初學(xué)者指南
  • AI 快速工程
  • [GitHub Copilot 如何更好地理解您的代碼](

到了這里,關(guān)于如何使用 GitHub Copilot:提示、技巧和用例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 接口測(cè)試中postman環(huán)境和用例集

    接口測(cè)試中postman環(huán)境和用例集

    postman的環(huán)境使用 postman里有環(huán)境的設(shè)置,就是我們常說(shuō)的用變量代替一個(gè)固定的值,這樣做的好處是可以切換不同的域名、不同的環(huán)境變量,不同的線上線下賬戶等等場(chǎng)景。下面就看下怎么用吧。 創(chuàng)建一個(gè)Environment postman有一個(gè)envrionment(環(huán)境)設(shè)置的地方。請(qǐng)看下圖: 要設(shè)

    2024年02月06日
    瀏覽(14)
  • GitHub Copilot如何訂閱使用

    GitHub Copilot如何訂閱使用

    Copilot是由Github和OpenAI聯(lián)合開發(fā)的一個(gè)基于人工智能大模型的代碼寫作工具。 我們都知道Github是世界上擁有開源項(xiàng)目及代碼最多的一個(gè)平臺(tái),有了這么一個(gè)得天獨(dú)厚的資源,Github聯(lián)合OpenAI喂出了Copilot。經(jīng)過(guò)不斷地更新迭代,Copilot現(xiàn)在已經(jīng)越來(lái)越成熟,用起來(lái)也是就像我們肚子

    2024年04月09日
    瀏覽(26)
  • # 如何使用 GitHub Copilot 發(fā)送 Tweet(譯)

    # 如何使用 GitHub Copilot 發(fā)送 Tweet(譯)

    這個(gè)月,我學(xué)習(xí)了如何使用 Github Copilot 發(fā)送 tweet。這太酷了!我猜你可能會(huì)想: 什么是 GitHub Copilot? 為什么我想要使用 GitHub Copilot 發(fā)送 tweet? 它對(duì)你來(lái)說(shuō)有什么價(jià)值? 如何通過(guò) Copilot 發(fā)送 tweet? 幸運(yùn)的是,我將在這篇文章中回答所有這些問(wèn)題! Copilot 是一款 AI 結(jié)對(duì)程序員,

    2024年02月09日
    瀏覽(28)
  • GItHub Copilot 無(wú)法登錄,無(wú)法提示問(wèn)題解決

    GItHub Copilot 無(wú)法登錄,無(wú)法提示問(wèn)題解決

    最近遇到github copilot 無(wú)法登錄,登錄后無(wú)提示的問(wèn)題,可以配置本機(jī)的hosts文件的地址 進(jìn)入C:WindowsSystem32driversetc 編輯hosts文件 進(jìn)入 查詢?github.com 的ip?GitHub: Where the world builds software · GitHub (ipaddress.com) 進(jìn)入 查詢?api.github.com的ip?api.Github.com ? Learn more about Github (ipaddress.c

    2024年02月12日
    瀏覽(27)
  • 如何在Visual Studio Code中使用GitHub Copilot

    GitHub Copilot 為多種語(yǔ)言和各種框架提供建議,但尤其適用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。 以下示例使用的是 JavaScript,但其他語(yǔ)言的工作方式類似。 在 Visual Studio Code 中,創(chuàng)建一個(gè)新的 JavaScript (*.js) 文件。 在 JavaScript 文件中,鍵入以下函數(shù)標(biāo)頭。 GitHub Copi

    2024年02月05日
    瀏覽(34)
  • 如何在VScode和Jetbrain上使用備受爭(zhēng)議的GitHub Copilot

    如何在VScode和Jetbrain上使用備受爭(zhēng)議的GitHub Copilot

    https://docs.github.com/en/copilot/quickstart 配置好之后,就是這種效果,真實(shí)太NB了?。。?一個(gè) tab 就把所有的代碼都填充上去了! https://docs.github.com/en/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide 一直卡在這個(gè)步驟,不知道怎么回事: Retrieving github d

    2023年04月17日
    瀏覽(37)
  • 掌握 GitHub Copilot:6個(gè)代碼自動(dòng)補(bǔ)全的必備技巧前言

    GitHub Copilot 是一款由人工智能驅(qū)動(dòng)的編碼助手,它能夠根據(jù)上下文提供代碼建議,極大地加快了開發(fā)過(guò)程。在之前介紹如何激活 Copilot 的文章之后,本文將深入探討六個(gè)關(guān)鍵技巧,以高效利用 GitHub Copilot。 通過(guò)以下快捷鍵,可以更高效地使用 GitHub Copilot: **Tab:**接受建議。

    2024年04月16日
    瀏覽(84)
  • pycharm連接GitHub copilot提示錯(cuò)誤:...request id: 3, error code: -32603(請(qǐng)求id:3,錯(cuò)誤代碼:-32603)

    pycharm連接GitHub copilot提示錯(cuò)誤:...request id: 3, error code: -32603(請(qǐng)求id:3,錯(cuò)誤代碼:-32603)

    檢查網(wǎng)絡(luò),輸入www.github.com看是否能接著成功 ?記得copilot插件要升級(jí)到最新 重啟IDE 也有可能是其他問(wèn)題 修改host文件 檢查copilot是否授權(quán)allow 參考博客 webstrom連接GitHub copilot提示錯(cuò)誤:...request id: 3, error code: -32603(請(qǐng)求id:3,錯(cuò)誤代碼:-32603)_suptutu55的博客-CSDN博客

    2024年02月16日
    瀏覽(21)
  • webstrom連接GitHub copilot提示錯(cuò)誤:...request id: 3, error code: -32603(請(qǐng)求id:3,錯(cuò)誤代碼:-32603)

    webstrom連接GitHub copilot提示錯(cuò)誤:...request id: 3, error code: -32603(請(qǐng)求id:3,錯(cuò)誤代碼:-32603)

    2023.5.20--今天用webstorm登錄github copilot 但是登陸不上? 顯示錯(cuò)誤代碼 登錄頁(yè)面顯示不出。 ?(這是FanSky_Qs?)的報(bào)錯(cuò)信息? 和我的一樣 但是他帖子中的改代理的方式我并不能使用。 關(guān)于Copilot登錄不上問(wèn)題解決辦法(二)_FanSky_Qs的博客-CSDN博客 后來(lái)又花費(fèi)了很多時(shí)間搜索信息

    2024年02月09日
    瀏覽(23)
  • github copilot如何幫助寫代碼

    github copilot如何幫助寫代碼

    Github Copilot是一個(gè)基于人工智能的代碼助手,可以幫助程序員在編寫代碼時(shí)提供自動(dòng)補(bǔ)全和建議功能。使用Github Copilot需要以下步驟: ? 1.注冊(cè)Github賬號(hào)并安裝Github Copilot插件 首先你需要注冊(cè)一個(gè)Github賬號(hào),然后在你使用的代碼編輯器中安裝Github Copilot插件。目前Github Copilot支

    2024年02月08日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包