《汪晟杰-探索工程智能體和RAG建設.pdf》由會員分享,可在線閱讀,更多相關《汪晟杰-探索工程智能體和RAG建設.pdf(28頁珍藏版)》請在三個皮匠報告上搜索。
1、探索工程智能體和RAG建設汪晟杰|騰訊云演講嘉賓汪晟杰騰訊云資深技術產品專家騰訊資深技術產品專家,20年工作經驗,負責騰訊云開發者AI代碼助手產品,十多年協作SaaS、Teambition,和 SAP 云平臺 SuccessFactorsHCM、Sybase 數據庫、PowerDesigner 等產品的開發經理,在軟件架構設計、產品管理和項目工程管理、團隊敏捷、AI研發提效等方面擁有豐富的行業經驗。目 錄CONTENTS1.建設工程智能體的背景2.問題/痛點3.解決思路/整體方案4.架構實現/技術實踐5.總結與展望工程智能體的背景PART 01SWE Agent工程智能體的場景AISE 場景A
2、I 理解/規劃需求需求生成設計稿設計稿生成代碼需求生成測試用例設計稿生成代碼測試用例生成測試代碼企業專屬知識庫業務知識庫需求知識庫代碼知識庫測試知識庫記憶與存儲自動化/平臺工程需求自動化代碼倉庫HookIAC 資源自助化管理API 接口測試移動端自動化測試UI 自動化測試環境自動創建/銷毀自動化安全測試/檢查混沌工程執行與反饋LLM 大模型 基座模型需求領域模型測試領域模型設計領域模型需求理解Agent測試用例Agent頁面編排 Agent測試執行Agent產品規劃AgentAPI 測試 Agent序列對比 Agent結果校驗AgentUI 組件AgentUX 效果AgentUI 測試Agen
3、t安全測試AgentAPIRAGToolsPrompt 工程Agent 邏輯解析器人工review 與交互理解與決策研發管理系統需求管理設計管理代碼管理制品管理CI/CD資源管理運維監控管理與交互研發領域 LLM 多智能體問題和痛點PART 02軟件工程的切入場景應用繁多中國信通院調查顯示:軟件開發&測試場景是AI4SE技術應用的排頭兵軟件工程各階段AI技術應用比例AI4SE:是指以大模型等AI技術為驅動的,以提高軟件研發運營智能化水平為導向的,以提質增效為目標的,新一代智能化軟件工程。2023年是AI大模型元年,AI4SE相關的商業化解決方案百花齊放,AI相關的生產力工具正在重塑技術人員的工
4、作方式FacilitationDocumentationCollaboration需求分析運營ResearchMarketingCustomer SupportIdeationPrototypeResearchDesign產品設計CI/CDObservability Operations交付與監控CommitCopilotsIDE開發階段DocumentationHost企業智能體建設的難度感知端(Perception)非結構化數據、圖片輔助應用可交付生成控制端(Brain)企業知識庫問題:模型、準度問題:文檔不規范行動端(Action)開放性、集成性企業系統問題:復雜問題LLM無法正確調用,
5、不正確的入參/出參從單Agent到多Agent的復雜度做什么怎么做執行單一任務拆解需求發現更多相關信息推理學會思考并發掘TryRun/TryFix自我修復自我保護自我生成優化LLM與感知、行動的配合LLM與不同智能體角色的協作協作對抗有流程的有序協作無順序的自由協作對話對抗表達觀點評審對抗代碼防護性對抗場景簡單工程級別單一場景可用復雜工程問題軟件工程智能體業務文檔和代碼加入知識庫RAG 技術(Retrieval Argmented Generation)基本都是用來處理自然語言的,無論是量化處理,還是召回,業界都僅在自然語言場景下可用。l 文檔類型:代碼、技術文檔、規范文檔l 代碼要求:1.需
6、要有文件級、方法級注釋2.格式規范,語法正確3.業務領域相關,具有代表性4.給出配套的MD文檔技術文檔/代碼人工或自動化地從示例代碼、配置和文檔中抽取出知識片段格式:1.代碼知識分為文件級、函數級和片段級三個級別,分別對應不同復雜度的功能需求文件級:是代碼文件內代碼元素的組合,通常代表一個功能函數級:一個獨立的函數片段級:Api接口調用使用向量化模型對前面的數據向量化后存入向量數據庫Embedding問題IDE 插件向量Agent 擴展非特定領域問題Embedding檢索topK 召回閾值檢查關鍵字組合過濾非特定領域問題 固定格式請求LLM模型返回結果請學習以下文檔:(格式化)(格式化)(格式
7、化)根據以上文檔回答問題:問題XXXX1.RAG 的場景,需要將repetition_penalty設為1,讓模型參考prompt中的知識2.需要做好RAG的能力測評,根據測評結果來調整中間過程LLM 大模型PromptContents知識庫/向量數據庫element:代碼片段內容path:代碼文件路徑docstring:功能需求描述Vector:向量結果element_with_doc:代碼經過大模型的解釋結果granularity:知識粒度url:引用倉庫地址Chunks/知識片段面向專業內容的索引和切分問題二:“代碼文件”的量化與準確召回一直是業界難題。問題一:業務文檔不規范不完整解決思
8、路/整體方案PART 03感知更多的工程背景AI 編碼輔助中的代碼補全,主要由 這三個部分組成。因此提升代碼補全效果的方法大致可以分為:感知 Prompt 構造 生成 更全面的感知上下文、更精確的封裝 Prompt 友好的結果處理機制以及感知結合 AST 技術,在代碼補全過程中,引入除當前文件之外的與其相關聯的代碼,實時延展上下文,獲取更多跨文件內容PrefixSuffixFill in Middle依賴解析相似代碼調用鏈/符號定義代碼上下文代碼知識更豐富、理解工程騰訊實踐:感知的范圍更廣,在加載工程的時候,就會進行全項目的感知與解析,即使關聯文件未打開,也支持。Prompt 構造使用相識性分
9、析算法,在感知到代碼文件之后,會對文件內容做截取,只保留關鍵部分代碼,并對于關鍵性代碼進行權重排序相關性分析語義截斷相似函數調用鏈路父類判斷頂端注釋解析內容壓縮權重排序更精準、降低幻覺騰訊實踐:更精細的prompt封裝,通過壓縮、截斷、排序、頂層注釋等方式,不僅提升了補全性能,也降低了幻覺。結果處理插件會根據當前上下文智能判斷行補全或者塊補全,并對于補全結果結合上下文進行融合智能補全Stop 策略更智能、優化體驗騰訊實踐:智能補全,可以根據代碼上下文,分析最適合的補全內容,體驗更優內容融合結合語義融合上下文業界做法:大部分產品都只感知當前文件,少了先進產品會結合AST,但是最多也只支持到“打開
10、的文件”進行分析。業界做法:大部分產品都只參考開源社區的做法,進行 PSM或者PMS 進行 prompt 封裝,既慢,也不準。業界做法:固定的補全粒度(比如 大、中、??;或者行補全、塊補全),不智能。構建自主混合多源知識庫 支持豐富的文檔類型,包括:pdf、markdown、txt、docx、doc、html網頁、代碼(檢測非二進制的代碼文件)、ZIP壓縮包(.zip/.gz)等豐富的文檔類型會根據不同的處理方式,分別處理文檔和代碼。在增強回答的時候,可以結合代碼/文檔,分別提供解決方案內容與解決方案代碼。代碼/文檔混合處理針對 API 文檔,會當成單獨的類型處理。在問答過程中,可以所選代碼內
11、容與 API 文檔內容,給出相關的代碼實現。API 文檔處理在問答的時候,會遇到一個問題,需要參考多個知識點/知識庫的場景。問答中,可以選擇多個知識庫增強回答效果。多知識庫問答查詢增強Autonomy Hybrid Multiple Knowledge Base多知識庫后檢索提問后下輪推薦多跳查詢提問查詢的優化假設文檔嵌入合并重排過濾、設置閾值檢索到的內容改寫摘要圖片信息提取1.分析元素該模型的任務是檢測和識別屏幕上的 UI 元素。這包括執行 OCR 和圖像字幕以理解和解釋文本和非文本內容。2.OCR提取層次路徑下的元素,3.生成中間語言5.為每個組件生成描述,并生成完整的任務提示詞4.在合適
12、的組件庫中找到最接近的組件結合多模態模型,最終拓展感知能力構建面向代碼工程的企業知識庫1.為代碼文檔添加通用摘要2.基于摘要索引3.文檔型代碼優先Embedding4.調整召回的各種參數5.召回測試Contextual RAG Preprocessing目標:解決文檔、代碼信息不全,增強工程上下文的知識點關聯性允許重排、調整參數和召回測試Rerank+TopK+Score Threadhold 探索工程背景的知識圖譜1.加載和預處理代碼檔數據2.Rewrite 提問增強 多跳問答3.Codebase檢索本地程 代碼檢索4.Contextual RAG 的:對代碼中的復雜關系和依賴關系進建模5.
13、基于知識圖譜的切分策略6.知識圖譜召回測試Prompt 工程、RAG、微調 的決策大模型特點:1.不確定性 -提升模型輸出的穩定性質2.靜態性-擴展額外數據 提示詞工程微調(Fine-tuning)RAG 檢索增強RAG+微調驗證驗證驗證驗證上下文優化補充模型場景知識需求行為優化規范模型的輸出模式構建大模型應用是一個典型的迭代過程,這個構建過程需要從應用場景出發,先搞清楚我們要做什么,然后再去優化大模型應用系統的性能、質量和用戶體驗。1嘗試定義新的提示詞首先使用提示工程的方式優化大模型應用,這是成本最低,見效最快的方式。提示詞工程可以同時為模型補充上下文(上下文優化)和優化模型的行為(行為優化
14、)。2多樣本學習 和 上下文引導學習提示工程的能力直接賦予用戶,用戶根據自己的實際場景,在提示詞模板中豐富場景的用例樣本,讓模型的返回更符合業務場景3檢索增強式內容生成(RAG)當模板中大部分內容是模型未知且不斷變化的知識,且需從多個數據源獲取,導致創建不同模板應對各種場景時,可以考慮引入RAG進行優化。4微調(Fine-tuning)當模板主要包含各種格式示例,且目標是讓模型模仿示例輸出,但即使示例充滿模板,輸出仍不穩定時,可以考慮進行微調以優化模型表現。架構實現/技術實踐PART 04產品架構圖交付模式插件端應用場景騰訊云 AI 代碼助手LLM 大模型應用功能公有云私有化騰訊工蜂Copil
15、ot聯合創新插件騰訊云自托管個人開發者開發團隊騰訊內部各事業部KA 頭部客戶中小企業代碼生成技術對話企業管理開放生態企業私域數據擴展知識庫擴展第三方系統集成擴展模型微調訓練代碼補全生成注釋生成用例生成文檔生成函數技術問答代碼解釋工程理解缺陷修復代碼診斷度量看板賬號體系模型配置菜單配置助手人格模型統一調度騰訊補全模型騰訊對話模型開源模型+SFT騰訊模型+語料RAGAgent模型微調內部代碼庫內部文檔網頁內容數據庫表結構與內容自定義 API 文檔AI CR/AI MR安全掃描CI/CD 系統測試系統企業私有代碼框架企業通用研發規范JetBrains鴻蒙小程序 IDEVimXCodeVS Code說
16、明:一套代碼:一套代碼,通過配置的方式生成不同的產品,公有云、私有化、騰訊內部,產品基礎能力完全一致多種部署方式:應對不同客戶群體的訴求多模型:為不同的客戶提供和調度不同的模型服務RAG:通過 RAG 拓展知識領域,提供貼近客戶業務的問答能力Agent:結合客戶自有產品或騰訊云其他產品,自定義 Agent,串通流程Agent擴展整體架構已經集成的內容AI 生成提交信息代碼 AI 評審未來可擴展點代碼庫集成擴展CI集成拓展CD集成拓展識別代碼設計規范格式問題識別性能問題識別和修復漏洞AI 配置評審規范提升代碼可讀性提升代碼可維護性修復構建錯誤分析構建耗時識別代碼掃描錯誤識別代碼安全漏洞識別自動化
17、測試錯誤實現安全門禁識別制品漏洞AI 變更評審識別和修復部署錯誤集成 OS,終端補全識別配置內容AI 架構治理AI 根因分析企業研發規范知識庫語言、框架知識庫企業知識庫管理CI/CD 編排知識庫企業文檔AI Agent 框架IDE 插件命令擴展(Prompt As Code)行為感知提示詞工具執行權限控制多輪處理思維鏈路Prompt 模板/配置中心模型調度知識庫整體架構用戶層企業看板需求分析IDE 插件OpenAPI企業后臺插件后端服務賬號集成權限管理數據度量知識管理代碼補全技術對話Agent 擴展RAG 增強知識庫管理數據源管理代碼倉庫通用文檔API 文檔數據庫知識解析與切片代碼語義識別代碼
18、片段處理通用文檔處理數據庫數據處理知識儲存與檢索知識向量化向量數據庫檢索與多路召回Prompt 組裝模型推理服務模型統一調度需求分析Embedding 模型技術對話模型1多樣化的數據源支持支持多樣化的文檔作為知識庫的數據源,文檔類型包括:普通文本、Word、PDF、Excel、md 等格式。另外支持代碼倉庫、數據庫作為數據源2知識切片與存儲根據不同的數據類型,分別處理數據切片,并將切割之后的數據存放到向量數據庫中。3便捷的檢索增強體驗在技術問答的時候,可以通過 知識庫 的方式,選擇某個領域的知識庫,檢索相關知識后,強化問答效果。4面向技術代碼類文件的強化索引技術對于代碼文件、技術文檔等特殊性,
19、支持強化索引能力,以提高召回率總結與展望PART 05AISE 場景規劃與方法AI 編碼工具的核心能力模型結合私域數據的持續優化能力大模型發展迅猛,開源模型、商業模型發展迅速。對于企業而言,需要獲取最新的模型成果,并快速結合企業私域數據產生業務價值,并持續優化。模型結合軟件工程上下文優化編碼效果代碼生成有別于通用AI對話,它需要更準確的上下文并回復更準確的結果。如何深入分析軟件工程,并讓大模型理解軟件工程成為核心能力落地運營、產品體驗、上下游整合AI 編碼工具好用,有更多人用才會產生價值。如何提升產品體驗、提升用戶活躍度,打造內部運營體系,也是 AI 編碼落地的核心任務運營/落地/實踐運營方案
20、、推廣策略最佳實踐、培訓賦能個性化應用特性模型:結合企業私域數據的模型增強插件:自定義插件功能、和 DevOps 上下游成度量:自定義指標和報表Prompt 結合場景調優,Agent 智能體框架代碼語法樹的拆解與使用模型對于軟件工程的理解代碼補全觸發時機/補全機制/性能優化指標埋點和匯聚方式公共基礎能力AI 能力在企業落地不是一個獨立的事情,它需要融入到企業現有的管理和工程場景中,為現有的系統注入新的能力。這個過程不單單是部署一套大模型應用,而是需要大部分人參與其中,逐步演進,最終產生價值。對于企業管理者而言,如何構建一套 AI 應用在企業內部迭代和演進的規劃路線,建設 AI 場景的核心競爭力,成為了關鍵問題。利用AI技術深化計算機對現實世界的理解推動研發進入智能化時代