《黃葉飛-微眾銀行大模型助效研發實踐——AI為主角、人為助手的協作模式.pdf》由會員分享,可在線閱讀,更多相關《黃葉飛-微眾銀行大模型助效研發實踐——AI為主角、人為助手的協作模式.pdf(29頁珍藏版)》請在三個皮匠報告上搜索。
1、微眾銀行大模型助效研發實踐AI為主角、人為助手的協作模式微眾銀行:黃葉飛目錄目錄研發流程面臨的主要問題研發流程面臨的主要問題大模型在研發效能上的初步探索大模型在研發效能上的初步探索大模型輔助研發遇到的困難大模型輔助研發遇到的困難Agent離不開的離不開的RAGMulti-Agents實現研發流程提效實現研發流程提效讓讓AI成為主角的人機交互方式成為主角的人機交互方式研發流程面臨的主要問題研發流程面臨的主要問題?銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜復雜復雜內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇。研發復雜性所帶來人力成本逐步變大研發復雜
2、性所帶來人力成本逐步變大,如何解決如何解決?需求變化需求變化應對快速市場變化,需求變化快,要求交付速度快復雜流程復雜流程銀行面對的流程相對來說更復雜,更嚴格個人效率個人效率較多相似工作,不同工具使用導致個人效率的差異溝通成本溝通成本崗位和角色分工清晰,所帶來的是溝通成本的提升知識沉淀知識沉淀產品迭代、人員迭代產生大量的知識研發流程面臨的主要問題研發流程面臨的主要問題不同崗位工作內容的復雜性占用不少研發成本不同崗位工作內容的復雜性占用不少研發成本設計稿交互稿產品產品文檔系統流程圖Coding微服務治理文件接入負載均衡CDN流程組件接口文檔架構文檔表結構文檔單測聯調開發接口測試功能測試性能測試測試
3、環境Bugs版本發布線上運維系統監控測試運維大模型在研發效能上的初步探索大模型在研發效能上的初步探索大模型在研發效能上的初步探索大模型在研發效能上的初步探索銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜初試初試在ChatGPT出來后,大模型似乎能輔助研發效能的提升。大模型在研發效能上的初步探索大模型在研發效能上的初步探索代碼代碼Review在編程時,系統會根據你寫的內容和語法規則,自動推薦可能的代碼片段行行/函數級實時續寫函數級實時續寫通過自然語言描述需求,在編輯器區域直接生成代碼自然語言轉代碼自然語言轉代碼快速生成方法和行內注釋,減少編寫注釋所需時間,提高代碼可讀
4、性代碼注釋代碼注釋支持系統級別和方法全鏈路代碼解讀,并生成相關邏輯圖、時序圖等代碼解讀代碼解讀提前發現代碼變更引入bug、對有可能出現問題代碼進行警告AI輔助編程初步提升開發效率輔助編程初步提升開發效率大模型在研發效能上的初步探索大模型在研發效能上的初步探索微調模型的試驗之路是否可行微調模型的試驗之路是否可行一個團隊內的所有代碼一個團隊內的所有代碼一個小JAVA開發團隊的代碼量在2-3G大?。ㄇ岸碎_發團隊也有在做微調,但只針對公共組件的使用上)單元測試案例及代碼單元測試案例及代碼提取代碼中的單元測試案例、以及單元測試的代碼,更精準的做代碼微調公共組件使用文檔公共組件使用文檔真正的組件文檔大小并
5、不大,在700多多M,在開發過程中便于模型能理解公司內部的基本組件并知道如何使用;同時將公共組件調用生成問答對更進準的讓模型理解代碼解釋及關聯代碼代碼解釋及關聯代碼首先把所有代碼把無注釋的代碼先生成一份代碼注釋、然后將代碼注釋及代碼用于做微調大模型輔助研發遇到的困難大模型輔助研發遇到的困難銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜困難困難前期輔助編程方案并無法在研發流程中解決開發太多的痛點。統計約60人的團隊情況:編碼占研發工作時間比例并不高,進而需要更全面的提效方案還有線上問題以及各種其他工作其他其他代碼編寫 37%聯調及測試 23%需求分析 10%方案設計
6、8%其他 22%方案設計是系統穩定性、健壯性、可擴展性、安全性等非功能的重要環節方案方案設計設計 8%好的需求分析工作對后期的研發有極大幫助需求需求分析分析 10%復雜的環境及多服務串聯所帶來的聯調及測試問題也多聯調及聯調及測試測試 23%開發人員實際做代碼編寫的工作占比并不高代碼代碼編寫編寫 37%研發人員在軟件開發中的時間投入研發人員在軟件開發中的時間投入大模型輔助研發遇到的困難大模型輔助研發遇到的困難DBRX 132B 2024-03-272024-03-27Mistral 8X22B2024-04-172024-04-17LLaMA-3 8B,70B2024-04-182024-04-
7、18Qwen-1.5 110B2024-04-242024-04-24DeepSeek-V2 236B2024-05-062024-05-06Yi-1.5 6B,9B,34B2024-05-132024-05-13開源模型迭代速度快開源模型迭代速度快幾乎每個月都有新模型出來研發知識迭代影響研發知識迭代影響幾乎每周都有版本更新模型模型TokenToken數限制數限制尤其是代碼上下文數據巨大微調服務器成本高昂微調服務器成本高昂微調需要獨占GPU資源,且巨大模型終歸不是我們理解的那么簡單模型終歸不是我們理解的那么簡單大模型輔助研發遇到的困難大模型輔助研發遇到的困難Agent離不開的離不開的RAG銀行
8、內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜方法方法RAG可以解決模型微調中的不少問題。RAG處理流程處理流程-提升提升Agent能力能力需求文檔組件使用說明產品說明系統設計文檔接口文檔數據庫表結構測試案例代碼信息研發知識庫代碼檢索專業術語檢索功能檢索數據關系檢索檢索生成PromptLLM向量化存儲圖數據存儲結構化存儲KV數據存儲知識存儲文件處理結構化解析代碼分析圖像識別數據處理QuestionAnswer問題分析Multi-QueryStep-backRAG-FusionHyDEAgent離不開的離不開的RAGMulti-Agents實現研發流程提效實現研發流程提效
9、銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜實踐實踐從集成基礎工具到不同業務場景的Agent實現。Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent 04 全流程Agent 02 簡單Agent 集成開發工具以實現基礎的集成開發工具以實現基礎的Agents需求分析需求分析 AgentCI AgentCoding Agent1 根據工單號拉取詳情2 根據詳情識別需要升級的組件輸出:標準Json1 根據流水編譯打包2 異常判斷版本號Agent異常處理Agent組件AgentGit ToolCode AgentFile
10、 Tool通過模型識別需要升級的組件分配系統需要發布的版本Git操作生成新的代碼操作文件編輯、修改操作一個升級一個升級Jar包的工單包的工單Agent實現實現通過簡單通過簡單Agents實現研發所實現研發所需的基礎需的基礎Agent約定Agent之間的協議集成基礎的開發工具實現一個相對閉環的能力從從CURD入手入手,實實現簡單代碼的生成現簡單代碼的生成Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent 04 全流程Agent 02 簡單Agent 以表驅動實現后端代碼的以表驅動實現后端代碼的Agents通過RAG識別表個性化支持包名根據表生成
11、相關代碼大模型推薦命名Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent 04 全流程Agent 02 簡單Agent 以接口驅動實現多環節的以接口驅動實現多環節的Agents-文檔生成文檔生成 需求文檔對字段要求文本化 支持接口文檔系統上導入需求直出接口 結合RAG識別字段的常用命名Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent 04 全流程Agent 02 簡單Agent 以接口驅動實現多環節的以接口驅動實現多環節的Agents-代碼及測試代碼及測試接口文檔風格風格PromptLet
12、goWEBSITE模版模版RAG如意如意Server Code參數參數算法算法Test Case前端后臺測試Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent04 全流程Agent 02 簡單Agent 以需求文檔驅動實現全流程以需求文檔驅動實現全流程Agents需求文檔做字段抽取、接口抽取、邏輯抽取、結合RAG拆分需求需求分析需求分析根據需求分析產出的字段生成接口接口定義接口定義需求功能點+現有表RAG確定新表創建SQL表結構創建表結構創建根據功能+代碼庫信息確定代碼所實現的位置代碼定位代碼定位單測+SIT測試并根據錯誤及異常生成新的Iss
13、ues測試測試以工具為主編譯部署編譯部署代碼Review判斷生成代碼的完整性、是否合理等代碼代碼ReviewReview拆分代碼任務生成每段代碼,并更新到相關文件代碼生成代碼生成Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent04 全流程Agent 02 簡單Agent 以需求文檔驅動實現全流程以需求文檔驅動實現全流程AgentsTask1Task1Task1需求文檔PlanningPrompt TemplateMemoryMemoryRAGLLM_1抽取名詞拆分需求需求分析Agent抽取字段AgentAgent多樣性多樣性不同的Task定
14、義不同AgentAgent通過Memory串聯RAG和Tools是個性化的條件RAGToolsLLM_1抽取字段生成表結構表生成Agent規則校驗表規范AgentReGen確認功能點Multi-Agents實現研發流程提效實現研發流程提效01 基礎Agents 03 多環節Agent04 全流程Agent 02 簡單Agent 實現從需求到代碼自動生成實現從需求到代碼自動生成讓讓AI成為主角的人機交互方式成為主角的人機交互方式銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜優化優化大量的Agent需要人工參與才能實現完整的功能。讓讓AI成為主角的人機交互方式成為主角的
15、人機交互方式模型能力對于模型能力對于Agent的影響導致無法自動化的影響導致無法自動化無法完整返回你要的內容React:無法識別你的工具不允許返回XXX,還是返回了XXX要求返回XXX,就是沒返回XXX理解Prompt的能力有限不是你想要的PlanningAgents完成主要工作完成主要工作銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜人人可用人人可用不是人人都去寫Agent,但目標是人人都能用上Agent,而Agent做執行的工作只能完成部分,故Agent能優先執行,人去調整Agent執行的結果。Agents完成主要工作完成主要工作PlanningReflecti
16、onSelf-criticsChain of thoughtAction1Action2Action3Action1Action2Action4Action5ToolToolReasoningConfirmAsk for InputAdd/Modify Tool人工調整人工調整Agent制定的制定的Planning每個每個Agent的設計可由人參與并做調整的設計可由人參與并做調整人工調整Planning的任務,并讓LLM重新確認工具調整工具調整復雜的Prompt的會導致LLM生成有偏差重新執行重新執行每個任務都有可能Agent執行失敗,人工支持參與實現人工參與完成任務人工參與完成任務上下游關聯的Agent之間需要定義清晰的協議,在人工調整過程能讓協議也自動生成正確Agent協議協議Planning調整調整工具的命名、描述會對LLM的識別有影響,需要支持人工隨時介入調整Prompt調整調整Agent斷點、重新執行、冪等Agents完成主要工作完成主要工作展望展望銀行內部研發效率主要體現在其復雜性上:人員、產品、監管事情應接不暇復雜復雜未來未來更多便利的工具;更多人投入Agent開發;更穩定的環境;更自動化的流程管理