重構工作中,程式碼規格:B端前端開發過程中開發者總會面臨重複開發的痛點,許多CRUD頁面的元素模組基本上相似,但仍需手動開發,將時間花在簡單的元素建構上,降低了業務需求的開發效率,同時因為不同開發者的程式碼風格不一致,使得迭代時其他人上手成本較高。
AI取代簡單腦力:AI大模型的不斷發展,已經具備簡單的理解能力,並且可以進行語言到指令的轉換。對於基礎頁面建構這樣的通用指令可滿足日常基礎頁面搭建的需求,提升通用場景業務開發效率。
B端頁面清單、表單、詳情都支援生成,連結大概可分為以下幾個步驟。
圖片
第一步是告訴它要開發怎樣的介面。提到這裡,我們首先想到的是頁面配置,即目前主流的低程式碼產品形式,使用者透過一系列的圖形化配置對頁面進行搭建,如下圖:
圖片
針對通用場景(例如後台管理較簡單的CURD頁面)或特定的業務場景(例如會場搭建)有良好的提效作用。對於需要不斷迭代邏輯相對複雜的需求來說,由於是透過圖形化操作的方式進行配置,對於互動設計要求較高,並且具備一定的上手成本,同時隨著需求的複雜度越來越高,配置表單互動越來越複雜,維護成本也越來越高。因此,頁面配置的方式前端領域的使用是相對克制的。
AI產生程式碼在工具函數場景下應用較多,但對於公司內部特定業務場景的需求,可能需要考慮以下幾點:
GPT其實還有個很重要的能力,那就是自然語言轉指令,指令即行動,舉個例子:我們假設一個函數方法實現,輸入是自然語言,結合GPT與內建的prompt,讓其穩定的輸出某幾個單詞,我們是不是就可以透過對這些單字輸出做出進一步的行動?這相對於圖形化配置有以下幾個優點:
這裡大家可能會有個疑問:
產生的指令資訊不也會出現大模型幻覺嗎?如何保證每次產生指令資訊是穩定且一致的呢?
自然語言轉指令可行大致有以下幾個原因:
讓我們來看最終的資訊轉換結果:
#對於程式碼輔助來說,基於使用者的需求描述,經過PROMPT處理,可以拿到這樣的資訊。為程式碼產生提供基礎資訊。
圖片
#圖片
我們如何開發程式碼的? 其實這一步很像我們自己開發程式碼,我們拿到需求後,大腦中會提取其中的關鍵訊息,也就是上方提到的自然語言轉指令,然後我們會在vscode中建立一個文件,然後會進行以下操作:首先一定是建立程式碼模板,然後根據場景引入對應重型元件,如列表就引入ProTable,表單就引入ProForm。 基於ProTable等重型元件並在其中添加一些屬性,如headerTitle、pageSize等清單相關資訊。 根據需求描述引入元件,例如識別到篩選項目中存在類別目選擇,會在useColumns新增業務元件,識別到需求描述中存在導入匯出元件,會在頁面的指定位置新增導入導出業務組件。 拿到mock鏈接,新增請求層,在頁面指定位置引入。 對於以上常用的程式碼插入場景都可以封裝進JSON中,然後透過程式碼模板結合AST插入或字串模板替換的方式產生對應程式碼。 五、原始碼產生 定位 #原始碼輔助主要幫助開發者減少重複的工作,提升編碼效率,和低程式碼頁面搭建屬於完全不同的賽道,低程式碼重在特定場景下搭建完整的頁面,並且頁面功能數量是可枚舉的,業界低程式碼搭建也有很優秀的實踐。而原始碼輔助工具旨在幫助用戶盡可能多的初始化業務需求程式碼,後面的修改維護在程式碼層級交給用戶,提升新增頁面的開發效率。 具體的功能架構請見下方:圖片
#六、元件向量搜尋與嵌入圖片
#六、元件向量搜尋與嵌入對於前端開發來說,提效的本質是少開發程式碼,更快的頁面產生是一方面,良好的元件抽離是相當重要的一環,我們結合向量對元件的引入連結進行了最佳化,在初始化模板與存量代碼中快速搜尋定位組件。 元件向量引入連結
#支援快速取得元件的描述內容與元件引入範式,一鍵入元件,元件描述會轉換為向量資料存入向量資料庫。
使用者輸入描述後,會將描述轉換為向量,基於餘弦相似度與組件列表進行比對,找到相似度最高的組件TOP N。
圖片
以上是大模型下B端前端程式碼輔助生成的思考與實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!