中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

長春網(wǎng)站制作都找源晟27seo搜索優(yōu)化排名

長春網(wǎng)站制作都找源晟27,seo搜索優(yōu)化排名,網(wǎng)頁制作軟件排行榜,網(wǎng)頁界面模板下載你是否曾經(jīng)想過,當(dāng)你在 Intellij IDEA 中輸入一個段代碼時,GitHub 是如何給你返回相關(guān)的結(jié)果的?其實,這背后的秘密就是圍繞 Prompt 生成而構(gòu)建的架構(gòu)設(shè)計。 Prompt 是一個輸入的文本段落或短語,用于引導(dǎo) AI 生成模型執(zhí)…

你是否曾經(jīng)想過,當(dāng)你在 Intellij IDEA 中輸入一個段代碼時,GitHub 是如何給你返回相關(guān)的結(jié)果的?其實,這背后的秘密就是圍繞 Prompt 生成而構(gòu)建的架構(gòu)設(shè)計。

Prompt 是一個輸入的文本段落或短語,用于引導(dǎo) AI 生成模型執(zhí)行特定的任務(wù)或生成特定類型的輸出。不同的 Prompt 會導(dǎo)致不同的搜索結(jié)果,因為它們會影響模型對信息的處理方式。而通過巧妙構(gòu)建Prompt,我們可以讓模型在廣泛的任務(wù)中執(zhí)行特定的操作,從而提高搜索效率和用戶滿意度。

Prompt 的設(shè)計不僅影響 AIGC 模型的行為和輸出,還影響軟件架構(gòu)的設(shè)計和優(yōu)化。那么,Prompt 和軟件架構(gòu)之間有什么關(guān)系呢?為什么 Prompt 對軟件架構(gòu)如此重要呢?

在本文中,我們將探討這一關(guān)系,并基于我們對一些卓越的人工智能生成代碼(AIGC)相關(guān)應(yīng)用的研究,以及一些內(nèi)部 AIGC 應(yīng)用的觀察,這些應(yīng)用都是基于 LLM 優(yōu)先理念下來構(gòu)建和設(shè)計軟件架構(gòu)的。這些應(yīng)用包括:

  • GitHub Copilot:一個基于 OpenAI Codex/Codex 2 模型的代碼生成器,它可以根據(jù)用戶提供的注釋或代碼片段來生成完整的代碼。

  • JetBrains AI Assistant:一個圍繞開發(fā)人員日?;顒訕?gòu)建的伴隨性 AI 輔助的 IDE 插件。

  • Bloop:一個根據(jù)用戶提供的自然語言描述或問題,來生成對應(yīng)答案或者代碼的工具。

而究其背后的原因,我想只有圍繞 LLM 優(yōu)先來考慮架構(gòu),才有可能對應(yīng)這種復(fù)雜性。

PS:本文討論的背景是復(fù)雜的 AIGC 應(yīng)用,諸如于 Copliot 型、Agent 型應(yīng)用,普通的 AIGC 不具備這種復(fù)雜性。

AIGC 優(yōu)先應(yīng)用的架構(gòu)特征(初步)

在我們先前的文章《上下文工程:基于 Github Copilot 的實時能力分析與思考》里,介紹了 Copilot 如何結(jié)合用戶行為,以及當(dāng)前代碼上下文,光標(biāo)位置(行內(nèi)、塊間、塊外)來生成三種不同類型的代碼。其基本特質(zhì)便是圍繞用戶的潛在意圖來設(shè)計對應(yīng)的生成內(nèi)容。并結(jié)合當(dāng)前的代碼文件,來調(diào)整生成的內(nèi)容,以符合對應(yīng)語言的基本語法。

而 Bloop 則是圍繞于檢索增強生成(RAG)來推測用戶的潛在意圖,諸如通過查詢擴展的方式,來更好地匹配潛在的代碼。并通過輸出更多的上下文交互過程,以讓用戶來調(diào)整自己的問題,獲得更準(zhǔn)確的答案。

再結(jié)合 JetBrains AI Assistant 的語言上下文模塊化架構(gòu),我們簡單將復(fù)雜 AIGC 應(yīng)用總結(jié)了三個核心特征(未來還將繼續(xù)優(yōu)化這個版本):

  1. 感知用戶意圖,以構(gòu)建清晰的指令:?這一特征涉及捕獲和分析用戶的操作,以全面理解用戶的目標(biāo)和偏好。應(yīng)用程序需要能夠識別用戶的需求,提供相應(yīng)的內(nèi)容生成方案,從而建立清晰的指令。這可以包括收集和解釋用戶輸入,行為分析,以及利用歷史數(shù)據(jù)來更好地了解用戶需求。通過這個特征,AIGC 應(yīng)用可以更好地滿足用戶的期望。

  2. 圍繞用戶意圖地交互設(shè)計,以讓用戶輸出更多上下文:?這個特征旨在創(chuàng)建友好和靈活的用戶界面,鼓勵用戶提供更多上下文信息。用戶通常通過輸入和修改內(nèi)容生成的參數(shù)和條件來表達(dá)他們的需求。此外,AIGC 應(yīng)用還可以隱式地獲取用戶的上下文信息,例如 v0.dev、數(shù)據(jù)智能和流式交互。這些信息可以包括用戶的操作歷史、上下文語言信息、位置信息等,以提供更個性化和智能化的內(nèi)容生成服務(wù),從而增強用戶體驗。

  3. 基于數(shù)據(jù)的反饋改進(jìn)與模型優(yōu)化:?這一特征通過不斷收集和分析用戶對生成內(nèi)容的反饋,如評分、評論、分享等,以實現(xiàn)內(nèi)容生成模型和算法的不斷調(diào)整和優(yōu)化。通過利用這些反饋數(shù)據(jù),AIGC 應(yīng)用可以提高生成內(nèi)容的質(zhì)量和多樣性,確保用戶滿意度不斷提高。

而對于這些應(yīng)用來說,并不是需要復(fù)雜的 prompt 技巧。技巧性、復(fù)雜的 Prompt 在工程化面前都是災(zāi)難性的。

復(fù)雜 AIGC 應(yīng)用的基本 Prompt 策略

對于復(fù)雜 AIGC 應(yīng)用來說,難點是在于?Prompt 的策略,也就是如何構(gòu)建自動的上下文收集?。通常來說,其設(shè)計過程要考慮:

  • 魯棒性:Prompt 的設(shè)計應(yīng)該能夠處理各種輸入情況,并在不同任務(wù)和領(lǐng)域中表現(xiàn)良好。它們應(yīng)該是通用的,而不僅僅適用于特定任務(wù)。

  • 評估和反饋循環(huán):Prompt 設(shè)計的成功與否通常需要不斷的迭代和反饋。開發(fā)者可能需要花時間來調(diào)整Prompt以提高模型的性能,這也可能影響軟件架構(gòu)。

魯棒性也意味著,復(fù)雜的 Prompt 會變成一種災(zāi)難,因為作為一個生成模型,它無法考慮到你的每個 MUST/HAVE TO/必須,以及你交給他的,你不應(yīng)該 xxx。太長的 prompt,不僅顯得 LLM 很愚蠢,也間接地讓你覺得自己很愚蠢。你應(yīng)該將長 prompt 分為多個 stage(人及 GPT 會在閱讀很長的文本之后,忽略這句要求),即復(fù)雜問題應(yīng)該先進(jìn)行拆解 —— 參考領(lǐng)域驅(qū)動設(shè)計的方式。

在 AIGC 工具里,我們可以將 Prompt 分為多種類型,強指令型,強結(jié)果型。

Prompt 策略 1:精短地指令,精準(zhǔn)上下文

4c4cc030f4fe3aa8d5352fce4ab8f12f.png

在非聊天的場景下,諸如于編寫文檔、編寫報告等等,工具中的指令往往都非常簡潔:?Write?documentation?,而為了讓 LLM 生成更精準(zhǔn)的結(jié)果,我們還需要進(jìn)行更多的上下文補充,諸如于:

Write?documentation?for?given method?,它結(jié)合著不同的語言的語法形式(類聲明、方法聲明等)。

隨后,還需要考慮不同的文檔工具,諸如于?write?PHPDoc?。而使用 Python 語言時,則又需要使用?"""?來作為文檔的起始標(biāo)志。而為了編寫更規(guī)范的文檔,還需要結(jié)合?use?@param?tag?來進(jìn)行示例,告訴 LLM 應(yīng)該寫什么樣的文檔。

那么,問題就來了,要讓 AIGC 構(gòu)建出這個上下文,我們需要:

  • 獲取語言相關(guān)的信息,諸如版本信息等

  • 配置或者獲取該語言的文檔工具

  • 獲取待寫文檔的代碼信息

  • 如果是方法的話,需要提醒?method has?return?type?。

  • 根據(jù)不同的語言配置基本的規(guī)范。如 Python 到底是用 Tab 還是用空格。

指令本身很簡單,但是要構(gòu)建精準(zhǔn)的上下文,則是要回到工程化問題上來。

Prompt 策略 2:圍繞結(jié)果設(shè)計交互,獲取用戶的上下文

f5b325f9f0daba8710c4186ba665012b.png

在非編碼場景的其他 RAG 場景之下,通常我們會圍繞于:感知-分析-執(zhí)行 來分析用戶的意圖,進(jìn)而根據(jù)用戶的意圖來生成更多的上下文。先看個數(shù)據(jù)問答的示例:

意圖:xx (子公司)去年營收?
觀察:...
思考:請選擇查詢的數(shù)據(jù)子項?
操作:選擇 xx 領(lǐng)域。
….
最終輸出:圖表(柱狀圖等)

這里就存在一個問題,用戶最終要的是圖表,還是文字信息?我們要不要幫用戶做這個決定?如果要做這個決定,那么我們是不是需要根據(jù)用戶以往的歷史經(jīng)驗?

所以,在這個場景里,在進(jìn)入解決方案之前,我們一直在圍繞用戶的問題進(jìn)行澄清。

圍繞 Prompt 策略的架構(gòu)設(shè)計示例

現(xiàn)在,再回到架構(gòu)設(shè)計上,讓我們看看對應(yīng)的示例。

語言插件化架構(gòu)

我們在理解了 JetBrains 的 AI 工具的架構(gòu)設(shè)計上,參考(復(fù)制)了相似的設(shè)計。在 JetBrains 的 IDE 里,不同的語言后綴會調(diào)用不同的 IDE 插件功能來實現(xiàn)對應(yīng)的重構(gòu)等等的方式。所以,在設(shè)計對應(yīng)的功能時,也是將不同的語言劃分到不同的模塊,以借由其實現(xiàn)其動態(tài)加載。

dea6671df1d2988755fa46e049db0c0e.png

舉個例子:為了生成測試代碼的準(zhǔn)確性,我們需要獲取被測試代碼、測試框架等信息,因此需要語言上下文、技術(shù)棧上下文、相關(guān)上下文、以其它上下文。

所以,仔細(xì)拆解下來,我們就需要圍繞于插件化架構(gòu)來構(gòu)建 IDE 插件,即在 Core 模塊里定義 Prompt 和我們的抽象接口,在不同語言模塊里,實現(xiàn)對應(yīng)的上下文獲取方式。

而如果我們只是一個簡單的聊天功能,就不需要這么復(fù)雜的架構(gòu),只是生成內(nèi)容的精準(zhǔn)性會下降。

發(fā)散-收斂式上下文

而在諸如于 Bloop 這一類以 RAG(檢索增強生成) 為主的應(yīng)用設(shè)計里,更重要的則是如何從不同渠道豐富用戶的上下文,其難點主要在于如何匹配最相似的答案。

e27e975e9824ff21ac049a4686189a40.png

發(fā)散。其使用方式有多種多樣的,諸如于分析用戶的意圖,使之能進(jìn)行內(nèi)容檢索 —— 代碼檢索、文檔檢索、網(wǎng)絡(luò)檢索等等。

收斂。結(jié)合發(fā)散的結(jié)果,對檢索到的內(nèi)容進(jìn)行處理,進(jìn)而做最后的過程呈現(xiàn)與內(nèi)容的總結(jié)。

而這部分內(nèi)容本身是作為策略的一部分存在的,它可以作為基礎(chǔ)設(shè)施的一部分,諸如 LLM SDK,又或者是代碼服務(wù)。

其它場景

而在其他一些場景中,諸如于 Code Review,我們會結(jié)合提交信息中的 story id、代碼變更、業(yè)務(wù)信息,三部分來進(jìn)行最后的總結(jié)。與語義化代碼搜索的場景相似,但是與普通的 Code Review 相比,為了達(dá)成更精準(zhǔn)的上下文,則花費的成本更高。

平衡 Prompt 策略與架構(gòu)演進(jìn)路線

盡管 AIGC 能顯著地加速我們編寫代碼的時間,但是花費更多的時間在上下文架構(gòu)上,則意味著架構(gòu)的復(fù)雜度。我們是否應(yīng)該花費如此多的時間在構(gòu)建 prompt 上,它帶來的 ROI 是否合理,就需要根據(jù)不同的場景去考慮。

除此,我們還需要圍繞于 Prompt 演進(jìn)策略,來構(gòu)建架構(gòu)的演進(jìn)路線。諸如于,對于一個 Code Review 工具,我們應(yīng)該如何去規(guī)劃?

  • 實現(xiàn)基本的 code review 接口調(diào)用與 comments 調(diào)用?

  • 結(jié)合提交信息,來 review 代碼,分析兩者是否一致?

  • 從提交信息中獲取業(yè)務(wù)上下文,來分析代碼是否與業(yè)務(wù)一致?

  • ……

隨后,則是根據(jù)我們能獲取到的數(shù)據(jù),來設(shè)計最終的 prompt,并以此作為版本來規(guī)劃架構(gòu)演進(jìn)路線。

小結(jié)

由 ChatGPT 生成:

本文討論了復(fù)雜 AIGC 應(yīng)用中的 Prompt 和架構(gòu)設(shè)計的關(guān)鍵性。Prompt 是引導(dǎo) AI 生成的文本段落,其設(shè)計直接影響AIGC應(yīng)用的性能。

復(fù)雜 AIGC 應(yīng)用具有三核心特征:感知用戶意圖、設(shè)計用戶交互以獲取更多上下文和基于數(shù)據(jù)反饋的模型優(yōu)化。兩種 Prompt 策略包括精簡指令和圍繞結(jié)果的設(shè)計,有助于構(gòu)建更有效的Prompt。示例架構(gòu)設(shè)計采用語言插件化,可根據(jù)不同語言后綴實現(xiàn)不同功能,提高 AIGC 應(yīng)用的多語言支持。

文章突出強調(diào) Prompt 的重要性,指出 Prompt 和架構(gòu)設(shè)計在提高生成內(nèi)容質(zhì)量和用戶滿意度方面至關(guān)重要。在實踐中,需要平衡 Prompt 策略和架構(gòu)設(shè)計,以滿足不同 AIGC 應(yīng)用的需求。

http://www.risenshineclean.com/news/11937.html

相關(guān)文章:

  • 網(wǎng)站正能量不用下載直接進(jìn)入主頁可以嗎搜索引擎哪個好用
  • 如何查看網(wǎng)站備案號天津seo博客
  • 手機網(wǎng)站制作哪家便宜日本比分算1:1
  • 網(wǎng)站手機微信三合一怎么做搜索引擎營銷的優(yōu)勢和劣勢
  • 網(wǎng)站基礎(chǔ)知識域名5個點品牌定位
  • 柴溝堡做網(wǎng)站公司seo網(wǎng)站推廣方式
  • 做糕點哪個網(wǎng)站鄂州網(wǎng)站seo
  • 建設(shè)網(wǎng)站的公司如何做網(wǎng)站設(shè)計
  • 論壇網(wǎng)站建設(shè)軟件網(wǎng)站優(yōu)化公司認(rèn)準(zhǔn)樂云seo
  • 網(wǎng)站服務(wù)器證書有問題超級外鏈發(fā)布工具
  • 金華建站價格深圳電子網(wǎng)絡(luò)推廣查詢
  • 起零網(wǎng)站建設(shè)信息流優(yōu)化師簡歷怎么寫
  • 北京大興網(wǎng)站建設(shè)首選公司技術(shù)培訓(xùn)平臺
  • 張家港網(wǎng)站設(shè)計百度推廣賬戶優(yōu)化方案
  • 如何做賺錢的網(wǎng)站東莞快速排名
  • 網(wǎng)站服務(wù)器到期查詢純注冊app拉新平臺
  • ui設(shè)計定義seo流量工具
  • 有哪個網(wǎng)站專業(yè)做漫畫素材的寧波百度關(guān)鍵詞推廣
  • 網(wǎng)站群建設(shè)公司排行榜百度搜索資源平臺官網(wǎng)
  • 2345網(wǎng)址導(dǎo)航12年11個旺道網(wǎng)站優(yōu)化
  • 專門做男士用品的網(wǎng)站長沙企業(yè)seo優(yōu)化
  • 上海市建設(shè)和城鄉(xiāng)建設(shè)委員會網(wǎng)站seo優(yōu)化公司排名
  • 備案 網(wǎng)站 漏接 電話企業(yè)網(wǎng)站是什么
  • 高價做單網(wǎng)站網(wǎng)站seo排名優(yōu)化工具在線
  • 動態(tài)網(wǎng)站建設(shè)教程外匯交易平臺
  • 廣州做網(wǎng)站lomuw網(wǎng)站建設(shè)及推廣優(yōu)化
  • 柳州網(wǎng)站優(yōu)化公司網(wǎng)站seo快速優(yōu)化技巧
  • asp動態(tài)網(wǎng)站建設(shè)google下載手機版
  • 淘寶客的網(wǎng)站怎么做的互聯(lián)網(wǎng)推廣軟件
  • 做網(wǎng)站最專業(yè)的公司有哪些排名優(yōu)化服務(wù)