
掌握API建模:基本概念和實踐
這里的助手與我們這里探討的企業(yè)應(yīng)用中的AI Agent有一定的區(qū)別:
AI Agent是一個以任務(wù)驅(qū)動的具備自主能力的智能體,不僅需要大模型這個核心“大腦”,也需要任務(wù)規(guī)劃、記憶與外部工具使用等能力。而我們常看到的個人AI助手大部分是基于預(yù)設(shè)提示詞的大模型問答B(yǎng)ot,在不借助其他插件時,通常不具備工具使用能力。
當(dāng)前在企業(yè)應(yīng)用中以內(nèi)容創(chuàng)作生成為主要能力的AI Agent從技術(shù)上至少有兩種:
1、單Agent的內(nèi)容生成。簡單地將大模型的生成能力通過API集成到其他應(yīng)用與業(yè)務(wù)流程中,替代或簡化原來由人工完成的部分工作。比如:
這種類型的AI助手簡單的借助Prompt工程即可實現(xiàn)(與C端個人助手并無本質(zhì)區(qū)別):
2、基于多Agent協(xié)作(可能還有人類)的內(nèi)容生成。典型的為虛擬機器人軟件公司,由AI Agent擔(dān)任多個軟件開發(fā)崗位,通過相互協(xié)作完成某個軟件開發(fā)任務(wù)。
這種多Agent協(xié)作型的助手可以借助Multi-Agents框架來簡化開發(fā)與實現(xiàn)。比如MetaGPT,可以根據(jù)自然語言描述的開發(fā)任務(wù),組建Agent團隊(PM、架構(gòu)師、程序員、QA等),遵循SOP并最終輸出完整軟件開發(fā)的成果(文檔、代碼、API說明等)。
其他支持多Agent的開源框架包括微軟的AutoGen,xAgents等。
當(dāng)前較為成熟的一種Agent類型。通俗地說,就是在企業(yè)應(yīng)用中,通過“外掛”私有知識庫來擴充大模型的知識儲備,以提供基于自然語言的、對話式的企業(yè)私有知識訪問(對應(yīng)到AI Agent的基本能力之一:持久化記憶),以解決通用大模型在面向企業(yè)應(yīng)用時領(lǐng)域知識不足導(dǎo)致的幻覺問題。
知識助手通常借助于大模型的RAG(檢索增強生成)方案來實現(xiàn),其本質(zhì)上也是一種提示工程:借助于在大模型輸入時攜帶相關(guān)的私有知識上下文,讓大模型理解、總結(jié)、整理并回答用戶問題。只是這里的私有知識上下文需要借助嵌入模型(Embedding Model)、向量數(shù)據(jù)庫(Vector Store)、文檔加載分割(Document Loader&Splitter)等相關(guān)技術(shù)來獲得。
知識助手的技術(shù)實現(xiàn)基礎(chǔ)架構(gòu)如下:
基于RAG方案的AI助手實現(xiàn)可以自行通過代碼直接實現(xiàn),當(dāng)然,為了簡化開發(fā)與管理過程,推薦使用的工具包括:
數(shù)據(jù)分析與商業(yè)智能(BI)在中大型企業(yè)的日常運營中的重要性毋庸置疑,無論是簡單的財務(wù)數(shù)據(jù)分析,還是復(fù)雜的客戶與運營數(shù)據(jù)洞察,都需要借助專業(yè)的工具。傳統(tǒng)BI工具使用門檻高、過度依賴技術(shù)部門、結(jié)果產(chǎn)出周期長的問題在AI時代可以借助大模型的能力得以緩解。
基于大模型的數(shù)據(jù)分析助手(Data Agent)是在企業(yè)應(yīng)用中通過將自然語言轉(zhuǎn)換成數(shù)據(jù)分析的語言或代碼,比如對API的調(diào)用、對數(shù)據(jù)庫的訪問、甚至編寫數(shù)據(jù)分析代碼,來達到獲取數(shù)據(jù)、分析數(shù)據(jù)與可視化結(jié)果的目的。其實現(xiàn)基礎(chǔ)架構(gòu)與原理如下:
無論是對本地的Excel數(shù)據(jù)文件分析,或者對數(shù)據(jù)庫中的關(guān)系型數(shù)據(jù)分析,又或者對互聯(lián)網(wǎng)的非結(jié)構(gòu)化數(shù)據(jù)分析,當(dāng)前大模型實現(xiàn)數(shù)據(jù)分析的技術(shù)途徑基本以這三種方式為主,自然語言轉(zhuǎn)API、轉(zhuǎn)SQL、以及代碼解釋器(轉(zhuǎn)代碼)。
這里推薦幾個除Langchain之外構(gòu)建數(shù)據(jù)分析助手的工具與項目:
需要注意的是:數(shù)據(jù)分析助手嚴(yán)重依賴大模型對自然語言轉(zhuǎn)數(shù)據(jù)操作的能力(SQL或Python代碼等)。當(dāng)然條件下,即使是針對這種場景專門優(yōu)化的模型與提示工程,其失敗概率也很高(比如Text2SQL目前最高成功率在80%左右)。因此,在實際實施中需要根據(jù)場景、復(fù)雜性、可靠性要求做綜合評估。
企業(yè)應(yīng)用中的AI助手很多時候需要與現(xiàn)有應(yīng)用(CRM、OA系統(tǒng))做集成與交互,以完成某個用戶任務(wù)或者驅(qū)動業(yè)務(wù)流程。比如:如果你需要AI幫你在協(xié)同辦公系統(tǒng)中提交一個付款申請,那么你需要調(diào)用辦公系統(tǒng)的接口;或者你需要借助互聯(lián)網(wǎng)獲得最新某上市公司的財務(wù)報告,你需要調(diào)用第三方平臺的公開接口。這就是AI Agent另一項重要能力:工具使用。
AI應(yīng)用/工具助手就是能夠把自然語言轉(zhuǎn)換成對企業(yè)應(yīng)用或者互聯(lián)網(wǎng)開放API調(diào)用的一種基礎(chǔ)Agent形式。當(dāng)然,在復(fù)雜任務(wù)場景下的這種調(diào)用往往不是單一的。其基礎(chǔ)架構(gòu)與原理:
應(yīng)用助手的基本原理是比較簡單的,其復(fù)雜性主要體現(xiàn)在大模型對自然語言轉(zhuǎn)API的能力,在實際使用中,其主要體現(xiàn)以下兩個方面:
在實際測試中我們發(fā)現(xiàn)不同的大模型在這方面的能力是有較大的差異的,而且即使是最優(yōu)秀的模型,也存在一定的不確定性,比如有時候無法判斷出正確的工具。
在構(gòu)建企業(yè)基于大模型的應(yīng)用助手時,有一些工程問題是需要考慮的,這些問題在做原型或者測試時容易被忽視:
構(gòu)建應(yīng)用助手的一些工具和項目推薦:
一種類似RPA(機器人流程自動化)的AI智能體。其主要能力是自動化Web網(wǎng)絡(luò)瀏覽、操作與探索的動作與過程,以簡化web瀏覽訪問與操作。對于個人來說,可以作為個人數(shù)字助理,簡單對話即可讓AI幫你完成Web瀏覽與操作,比如在線訂票。而對于企業(yè)來說,則可以作為企業(yè)的數(shù)字員工,來簡化企業(yè)日常工作中重復(fù)性較高、流程與規(guī)則固定、大批量的前端操作性事務(wù)。比如批量訂單處理、批量客戶聯(lián)絡(luò)、批量網(wǎng)站抓取等,提高效率,降低錯誤率。
傳統(tǒng)的RPA機器人也是用來完成此類工作的AI形式,由于這種AI機器人工作在軟件的最上層即操作層面,好處是流程直觀、簡單、也可以配置化,且對應(yīng)用無侵入性;但其缺點是與前端應(yīng)用耦合性大,每個任務(wù)需要根據(jù)前端應(yīng)用界面做精心配置與調(diào)試,自適應(yīng)能力較差。
在大模型出現(xiàn)以后,給這一類RPA智能也帶來了新的優(yōu)化空間。利用大模型的理解與分析推理能力,可以讓AI更加智能的規(guī)劃與分解任務(wù)過程,然后借助瀏覽器完成執(zhí)行;且在未來可以利用像GPT-4V這樣的視覺模型,更智能的理解界面元素與功能,實現(xiàn)完全自主的智能操作,具備更強的自適應(yīng)能力。
實現(xiàn)一個自主Web操作的Agent的基礎(chǔ)原理與架構(gòu):
構(gòu)建一個真實應(yīng)用的Web Agent需要借助瀏覽器自身能力。由于外部應(yīng)用無法直接接管瀏覽器實現(xiàn)操作,一般需要借助瀏覽器插件,比如Chrom擴展,借助瀏覽器API完成網(wǎng)站導(dǎo)航與自動化網(wǎng)頁操作,比如點擊界面元素,或者輸入表單。
我們前面介紹到的OpenAgents項目中的Web Agent是一個基于Chrom瀏覽器與擴展而實現(xiàn)的一個LLM Agent,可以參考用作參考。
當(dāng)然由于大模型的輸出不確定性,當(dāng)前的Web Agent仍然處于探索實驗階段,具有較大的失敗或誤操作可能,實際應(yīng)用中需要根據(jù)情況反復(fù)測試與評估。
最后一種AI Agent嚴(yán)格來說是上面的幾種基礎(chǔ)Agent能力的組合。
理想中的AI Agent是在丟給他一個工具包與一些知識以后,借助于大模型的理解、推理能力,完全自主的規(guī)劃與分解任務(wù),設(shè)計任務(wù)步驟,并智能的使用各種工具,檢索知識,輸出內(nèi)容,完成任務(wù)。但是在企業(yè)應(yīng)用中,由于企業(yè)知識、應(yīng)用、業(yè)務(wù)需求的千差萬別,以及大模型自身的不確定性,如果這么做,那么結(jié)果很可能是“開盲盒”一樣的不可控。所以這也是越來越多的Agents項目要強調(diào)可控性的原因,即能夠?qū)I智能體的執(zhí)行過程與細(xì)節(jié)進行更多的控制,來讓AI按照人類確認(rèn)過的工作流程來完成任務(wù)。
比如之前我們介紹的HR簡歷自動化篩選的場景中,你可能需要更加細(xì)致的去定義整個自動化工作流程,包括:
在實際應(yīng)用中,這樣基于LLM的工作流既可以是直接面向使用者的對話機器人來觸發(fā);也可以是完全后臺觸發(fā)。
實現(xiàn)這樣的自動化工作流程AI智能體,除了借助Langchain/LlamaIndex這樣的LLM開發(fā)框架直接定制外,還可以參考或利用一些開源項目:
以上,我們對企業(yè)應(yīng)用中的大模型AI Agent從技術(shù)原理層面區(qū)分的幾種類型做了簡單探討。實際上這里的每一種類型也都是一個可以深入的復(fù)雜話題,其中部分類型在之前的文章中也展開深入過,后續(xù)我們也會關(guān)注AI Agent技術(shù)趨勢與發(fā)展,并在未來做持續(xù)分享。
文章轉(zhuǎn)自微信公眾號@AI大模型應(yīng)用實踐