一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nature總結(jié)六大ChatGPT編程技巧:是非常強大的編程輔助工具!

jf_WZTOguxH ? 來源:AI前線 ? 2023-06-20 14:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Nature 近日發(fā)表文章,總結(jié)了多位計算機科學(xué)家的使用經(jīng)驗,給出了更好使用 ChatGPT 編碼的六個技巧。雖然 Nature 認為 AI 工具功能非常強大,但他們也提醒大家仍需要謹慎使用。我們在不改變原意的基礎(chǔ)上做了翻譯和整理,希望對讀者有所幫助。

如今的 ChatGPT 已經(jīng)火爆全網(wǎng)、席卷全球,這款由 OpenAI 打造的 AI 聊天機器人具備與人類幾乎無異的順暢語言表達能力。ChatGPT 在大量文本語料庫之上訓(xùn)練而成,能夠根據(jù)文本參與對話,由用戶不斷引導(dǎo)以改進響應(yīng)結(jié)果。即使最初的答案有所偏頗,它往往也能借助對話循環(huán)最終給出正確的結(jié)果,甚至是軟件代碼。

研究人員已經(jīng)在使用 ChatGPT 調(diào)試和注釋代碼,將軟件從一種編程語言翻譯成另一種編程語言,并借此執(zhí)行數(shù)據(jù)繪制等枯燥乏味的流程化操作。今年 3 月的一份預(yù)發(fā)表報告稱,ChatGPT 僅憑一次嘗試就能解決 184 項生物信息學(xué)入門任務(wù)中的 76%(例如處理電子表格),而在七次嘗試后的解決率將提升至 97%。

這對不太熟悉編程,或者沒有預(yù)算聘請全職程序員的研究者來說無疑是個好消息。聊天機器人,也許會成為科研大眾化轉(zhuǎn)型中的一股重要力量。

可盡管聊天機器人看似擁有認知能力,但它們跟“聰明”二字并不沾邊。不少技術(shù)專家認為它們類似于“隨機鸚鵡”,會隨機按照之前看過的內(nèi)容拼湊出答案。西雅圖華盛頓大學(xué)的計算機科學(xué)家 Amy Ko 在 Mastodon 社交網(wǎng)站上這樣描述了這款工具的局限性:“ChatGPT 就像一個絕望的有獎問答選手,他對流行文化的關(guān)注停留在 2021 年之前,但卻真心想要贏得游戲。這就是 ChatGPT,一個沒有意識、主體道德、具身認知和內(nèi)心情感的機器。”(用于訓(xùn)練 ChatGPT 的數(shù)據(jù)只截止到 2021 年。)

簡而言之,ChatGPT 和基于大語言模型(LLM)的相關(guān)工具,包括微軟 Bing 和 GitHub Copilot,都屬于非常強大編程輔助工具,只是使用時也須謹慎。而要充分發(fā)揮其中的潛能,不妨參考以下六個技巧。

六大使用技巧 精心挑選應(yīng)用場景

聊天機器人最適合小型、離散的編程任務(wù),包括加載數(shù)據(jù)、執(zhí)行基本數(shù)據(jù)操作和創(chuàng)建可視化圖表 / 網(wǎng)站,但這跟真正的軟件工程還不是一回事。

加拿大維多利亞大學(xué)計算機科學(xué)家 Neil Ernst 解釋道,“軟件工程不只要解決編程難題,更要考慮測試框架、編寫出可維護的代碼并理解系統(tǒng)構(gòu)建當(dāng)中的種種權(quán)衡”——比如在運行速度和代碼可讀性間的取舍,“我認為當(dāng)前的 AI 工具還做不到這些?!?/p>

但它們還是相當(dāng)有用,比如提示 Matplotlib(Python 的圖形庫)中的可視化創(chuàng)建語法。從這個意義上看,聊天機器人更像是程序員在線問答論壇 Stack Overflow 的對話界面版本?!八芊謸?dān)不少耗費程序員時間和精力的工作,把時間節(jié)約下來處理真正棘手的數(shù)據(jù)分析難題。”

聊天機器人還挺擅長解釋目前的代碼里存在哪些問題。馬薩諸塞大學(xué)阿姆赫斯特分校的計算機科學(xué)家 Emery Berger 就借此構(gòu)建出好幾款實用工具。首先是 cwhy,使用 ChatGPT 來解釋 C、C++ 和 Rust 代碼中的編譯器錯誤。還有 ChatDBG,能夠提供一套用于調(diào)試的對話界面。再就是 Scalene,使用 AI 提供代碼優(yōu)化建議以提高運行性能。

聊天機器人甚至可以把代碼從一種編程語言翻譯成另一種語言。巴黎居里研究所的生物物理學(xué)家 Mathieu Coppey 就在用 ChatGPT 將 MATLAB 代碼轉(zhuǎn)換為 Python 形式。以往,他需要查詢谷歌和線上論壇花幾天時間讓自己的 Python 代碼跑起來?!艾F(xiàn)在,整個過程只要一小時左右就能完成?!?/p>

還算穩(wěn)定,但須驗證

聊天機器人有時候并不知道自己在說什么,但卻態(tài)度堅定、言之鑿鑿。某些情況下,AI 似乎無法理解問題內(nèi)容,有時候則會直接提供錯誤答案。輸出的代碼根本無法運行還算是好的,更要命的是代碼能運行,但卻產(chǎn)生了難以察覺的錯誤結(jié)果。

根據(jù)加州大學(xué)戴維斯分校語言學(xué)家 Emily Morgan 參與的研究,與作為訓(xùn)練素材的人類代碼一樣,聊天機器人也經(jīng)常會犯下“簡單而愚蠢的錯誤”。這些單一錯誤(比如在條件語句中使用了>而非>=)倒是不難修復(fù),可排查起來相當(dāng)費勁。“如果用戶的知識不足以做區(qū)分和驗證,那盲目信任 AI 可能會給自己惹出麻煩?!?/p>

Iza Romanowska 是丹麥奧爾胡斯高等研究院研究古代文明復(fù)雜性的科學(xué)家,他使用 ChatGPT 生成 NetLogo 代碼。因為訓(xùn)練數(shù)據(jù)集中關(guān)于 NetLogo 的代碼遠不像 Python 和 R 語言那么豐富,所以 ChatGPT 的表現(xiàn)就有些捉急。她還發(fā)現(xiàn) AI 有時會在建議代碼中引入實際上并不存在的函數(shù),也就是大家所熟悉的 AI“幻覺”問題。

總之,不要盲目接受 ChatGPT 輸出的一切——請務(wù)必認真閱讀、詳加測試,確保它能在“邊緣情況”下也按預(yù)期執(zhí)行。比如在對 n 個數(shù)字進行排序的算法中,第 n 個數(shù)字是否被包含在內(nèi)。加拿大滑鐵盧大學(xué)計算機科學(xué)家 Patrick Lam 坦言,“我會抱著對自己編寫的代碼相同的懷疑態(tài)度,審視 ChatGPT 輸出的代碼?!?/p>

牢記安全

聊天機器人的輸出質(zhì)量,與訓(xùn)練數(shù)據(jù)集中的代碼質(zhì)量密切相關(guān)。Ko 表示問題也正在于此,“網(wǎng)絡(luò)上共享的代碼總體質(zhì)量偏低,聊天機器人當(dāng)作學(xué)習(xí)材料的多數(shù)代碼其實并不可靠?!崩纾珹I 不光很難處理好大型數(shù)據(jù)集,甚至可能在代碼中包含安全漏洞。

在 GitHub 的 Copilot 編程工具于 2021 年首次亮相時,紐約大學(xué)計算機科學(xué)家 Brendan Dolan-Gavitt 帶領(lǐng)團隊在 89 個安全相關(guān)場景中對其進行了測試。其中之一正是發(fā)現(xiàn) SQL 注入攻擊的能力,即使用可能損壞數(shù)據(jù)庫的錯誤格式執(zhí)行 SQL 查詢。

“Copilot 生成的約 40% 代碼都存在安全隱患?!钡闆r正在顯著改善,如今 Dolan-Gavitt 對更新版本 GPT-4 開展相同測試時,其錯誤率已經(jīng)降低至 5%。

但大家還是不能掉以輕心,還要特別關(guān)注那些看似無關(guān)緊要的應(yīng)用場景。比如,用戶需要在為數(shù)據(jù)庫或可視化工具生成 Web 界面時提高警惕。

新澤西州普林斯頓大學(xué)計算機科學(xué)家 Sayash Kapoor 強調(diào),“一定先確保你自己就能解決這些編程問題,然后再放手交給 AI 去作,這樣你才能發(fā)現(xiàn)其中的錯誤?!?/p>

不斷迭代

Ko 認為,基于聊天機器人的編程“絕不是一錘子買賣”,而是反復(fù)迭代的一段對話?!澳阆葘懗鲆?,然后得到相應(yīng)回答;你帶著懷疑態(tài)度審視這段結(jié)果,提出更多細節(jié)并要求 AI 加以完善?!?/p>

西弗吉尼亞大學(xué)生物信息學(xué)核心設(shè)施負責(zé)人 Gangqing Hu 就通過這種迭代工作流程開發(fā)出一種名為 OPTIMAL 的新方法,幫助生物信息初學(xué)者們優(yōu)化機器人提示。用戶可以不斷提交詳細的提示詞、測試回復(fù),再向聊天機器人提供反饋以調(diào)整響應(yīng)結(jié)果?!皽贤ㄊ顷P(guān)鍵。”

南達科他州立大學(xué)生物信息學(xué)家 Xijin Ge 也建議,遇到困難時請嘗試調(diào)整設(shè)置。例如,ChatGPT 當(dāng)中的“溫度”選項其實就是創(chuàng)造力控制旋鈕——溫度設(shè)定得越高,AI 就越是腦洞大開。“這有時候確實能解決問題?!?/p>

但 Ko 提醒稱,實際情況沒這么簡單,必要時“用戶還是得介入接管”。

擬人化

聊天機器人并不是人,但以這種方式跟它相處也可能有所幫助。Ge 建議“把 AI 當(dāng)作暑期實習(xí)生”——就是那種努力進取、渴望被表揚但又因缺乏經(jīng)驗而經(jīng)常犯錯的大學(xué)生。

新西蘭奧克蘭大學(xué)計算機科學(xué)家 Paul Denny 建議盡量消除提示詞中的歧義,并將問題拆分成一個個更小的部分。

另外,可以指示聊天機器人扮演某種角色,比如精通 Python 的生物學(xué)家。再就是指定需要使用的工具或編程庫。Ko 表示這類操作可以幫助聊天機器人“進入正確的概率空間”,找到最可能符合提示要求的文本。

例如,Hu 在研究中就詢問 ChatGPT:“作為一名精通 ChIP-Seq 數(shù)據(jù)分析的資深生物信息學(xué)家,請你協(xié)助我盡可能壓縮代碼數(shù)量。根據(jù)我的要求,你需要重置當(dāng)前線程。收到請回復(fù)「是」。”

如果可能,還請盡量提供起始代碼、注釋和預(yù)期結(jié)果。哥倫比亞密蘇里大學(xué)計算機科學(xué)家 Dong Xu 表示“示例確實能幫助 ChatGPT 牢牢把握住正確的方向?!?/p>

擁抱變革

必須承認,大語言模型仍在不斷發(fā)展、愈發(fā)強大。這對研究人員來說既是個好消息,也仍須對此保持警惕。提示詞的長度不斷增加,AI 模型也能做出更細微的響應(yīng)。與之配套的新工具也在不斷涌現(xiàn),比如 Code Interpreter 插件就能讓 ChatGPT 扮演數(shù)字數(shù)據(jù)分析師,供用戶上傳數(shù)據(jù)集、詢問數(shù)據(jù)模式并下載結(jié)果。正如位 AI 博主所言,“這就像在直接跟數(shù)據(jù)對話,太酷了!”

結(jié)束語

現(xiàn)在的開發(fā)者幾乎分成了使用和不使用 AI 輔助編程兩個“派別”。

“我?guī)缀蹩偸峭ㄟ^向 ChatGPT 詢問框架來開始我的任務(wù)。它給我框架,我據(jù)此進行調(diào)整和擴展,效果很好?!钡灿虚_發(fā)者表示,“對我來說,它就像一只會說話的狗——不可思議但毫無用處?!?/p>

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95270
  • 聊天機器人
    +關(guān)注

    關(guān)注

    0

    文章

    348

    瀏覽量

    12802
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1590

    瀏覽量

    9112

原文標(biāo)題:Nature 總結(jié)六大 ChatGPT 編程技巧:是非常強大的編程輔助工具!

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    HarmonyOS AI輔助編程工具(CodeGenie)代碼續(xù)寫

    利用AI大模型分析并理解開發(fā)者在代碼編輯區(qū)的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或C++代碼片段。 一、使用約束 建議在編輯區(qū)內(nèi)已有較豐富上下文,能夠使模型對編程場景有一定
    發(fā)表于 07-15 16:15

    鴻蒙CodeGenie AI輔助編程工具詳解

    【HarmonyOS 5】鴻蒙CodeGenie AI輔助編程工具詳解 一、前言 1、CodeGenie是什么? CodeGenie (代碼精靈)作為鴻蒙DevEco IDE自帶的AI輔助
    的頭像 發(fā)表于 07-07 11:54 ?186次閱讀
    鴻蒙CodeGenie AI<b class='flag-5'>輔助</b><b class='flag-5'>編程</b><b class='flag-5'>工具</b>詳解

    DevEco CodeGenie 鴻蒙AI 輔助編程初次使用

    一、工具概述與核心能力 DevEco CodeGenie 是集成在 DevEco Studio 中的 AI 輔助編程插件,專為 HarmonyOS 應(yīng)用開發(fā)設(shè)計,提供三大核心能力: 智能知識問答
    的頭像 發(fā)表于 06-26 08:48 ?188次閱讀

    【HarmonyOS 5】鴻蒙CodeGenie AI輔助編程工具詳解

    【HarmonyOS 5】鴻蒙CodeGenie AI輔助編程工具詳解 一、前言 1、CodeGenie是什么?CodeGenie (代碼精靈)作為鴻蒙DevEco IDE自帶的AI輔助
    發(fā)表于 06-11 16:34

    華為助力上海市浦東醫(yī)院建設(shè)高品質(zhì)萬兆園區(qū)醫(yī)院網(wǎng)絡(luò)

    數(shù)字化時代大背景下,移動醫(yī)療的應(yīng)用和發(fā)展正在深刻改變著醫(yī)療服務(wù)模式,各種便攜終端已從“輔助工具”的角色轉(zhuǎn)變?yōu)榱恕昂诵臉I(yè)務(wù)“入口。
    的頭像 發(fā)表于 06-11 11:18 ?475次閱讀

    浙江移動攜手華為打造“九州”算力互聯(lián)網(wǎng)區(qū)域創(chuàng)新標(biāo)桿

    以數(shù)智化為核心特征的新一輪科技革命和產(chǎn)業(yè)變革深入推進,AI技術(shù)從提質(zhì)增效的輔助工具,躍升為全面使能經(jīng)濟社會轉(zhuǎn)型發(fā)展的基礎(chǔ)設(shè)施和核心能力。
    的頭像 發(fā)表于 05-19 11:16 ?404次閱讀

    Segger RTT調(diào)試工具的使用方法

    上一期已經(jīng)跟著小編介紹的安裝步驟,相信大家都已經(jīng)開始使用了Segger Ozone調(diào)試工具。那么今天小編繼續(xù)趁熱打鐵,給大家介紹另一個Segger推出的調(diào)試輔助工具Segger RTT。
    的頭像 發(fā)表于 03-28 14:21 ?1790次閱讀
    Segger RTT調(diào)試<b class='flag-5'>工具</b>的使用方法

    求助,關(guān)于iMX DDR3寄存器編程輔助問題求解

    我們目前正在使用 iMX6UL DDR 寄存器編程輔助工具為 U-Boot 生成 DCD 表。我們的設(shè)備使用的是 MT41K128M16JT-107,即 DDR3-1866,這意味著它的時鐘周期頻率
    發(fā)表于 03-27 07:16

    HarmonyOS NEXT開發(fā)實戰(zhàn):DevEco AI輔助編程工具(CodeGenie)的使用

    引言 DevEco AI輔助編程工具(CodeGenie)為開發(fā)者提供高效的應(yīng)用/元服務(wù)AI輔助編程工具
    發(fā)表于 03-10 15:41

    2024年AI編程技術(shù)與工具發(fā)展總結(jié)

    數(shù)據(jù)進行多方位的總結(jié)和梳理。 在第二章《TOP 101-2024 大模型觀點》中,同濟大學(xué)特聘教授、CCF 杰出會員 朱少民 對 2024 年 AI 編程技術(shù)與工具發(fā)展進行了總結(jié)。 全
    的頭像 發(fā)表于 02-13 09:11 ?683次閱讀
    2024年AI<b class='flag-5'>編程</b>技術(shù)與<b class='flag-5'>工具</b>發(fā)展<b class='flag-5'>總結(jié)</b>

    首款開發(fā)鴻蒙原生應(yīng)用的AI輔助編程工具正式上線了

    輔助編程工具——DevEco CodeGenie正式上線了,標(biāo)志著鴻蒙原生應(yīng)用和元服務(wù)開發(fā)進入AI賦能的新時代。該工具支持開發(fā)鴻蒙原生應(yīng)用領(lǐng)域的智能知識問答、ArkTS代碼補全/生成和
    的頭像 發(fā)表于 12-18 10:39 ?672次閱讀

    Python編程:處理網(wǎng)絡(luò)請求的代理技術(shù)

    在網(wǎng)絡(luò)編程中,代理技術(shù)扮演著至關(guān)重要的角色,尤其在處理網(wǎng)絡(luò)請求時。通過代理服務(wù)器,我們可以實現(xiàn)請求的轉(zhuǎn)發(fā)、緩存、負載均衡以及安全控制等功能。Python作為一種功能強大編程語言,為提供了豐富的
    的頭像 發(fā)表于 11-12 07:23 ?543次閱讀

    AI編程工具會不會搶程序員飯碗

    AI編程工具輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?534次閱讀

    工業(yè)機器人常用的編程方式

    機器人完成特定的任務(wù)。編程可以手動完成,也可以通過計算機輔助設(shè)計(CAD)軟件自動生成。編程方式的選擇取決于任務(wù)的復(fù)雜性、機器人的類型、以及所需的靈活性和效率。 1. 手動編程 1.1
    的頭像 發(fā)表于 09-04 09:26 ?2584次閱讀

    plc的編程語言有哪幾種

    Diagram,LD) 梯形圖是PLC編程中最常用的一種編程語言,它以圖形化的方式表示控制邏輯。梯形圖的編程思路來源于繼電器控制電路,因此對于電氣工程師來說非常容易理解和掌握。梯形圖
    的頭像 發(fā)表于 08-25 10:07 ?1012次閱讀