LLM Agent 協(xié)作評(píng)估難?這 3 款評(píng)估監(jiān)控工具來(lái)幫忙 原創(chuàng) 精華
編者按: 在構(gòu)建基于大語(yǔ)言模型的應(yīng)用時(shí),你是否遇到過(guò)這樣的困擾:多個(gè) AI Agent 協(xié)同工作時(shí),如何確保它們的表現(xiàn)符合預(yù)期?如何有效監(jiān)控它們之間的互動(dòng)質(zhì)量?這些問(wèn)題不僅影響著產(chǎn)品的性能,更直接關(guān)系到用戶體驗(yàn)的好壞。
本文作者基于實(shí)際項(xiàng)目經(jīng)驗(yàn),深入剖析了 Agentneo、Arize Phoenix 和 TruLens 這三款主流評(píng)估工具的特點(diǎn)和應(yīng)用場(chǎng)景。通過(guò)具體的代碼示例和實(shí)踐建議,展示了如何從對(duì)話記錄、執(zhí)行流程、提示詞效果等多個(gè)維度來(lái)評(píng)估和優(yōu)化 AI 助手的表現(xiàn)。
如果你正在為 AI Agents 的評(píng)估和監(jiān)控而煩惱,希望這篇文章能夠給你帶來(lái)啟發(fā)。文章不僅告訴你"用什么工具",更教會(huì)你"如何用好這些工具",幫助你構(gòu)建一個(gè)性能可控、效果可評(píng)估的 AI 應(yīng)用系統(tǒng)。
作者 | Chinmay Bhalerao
編譯 | 岳揚(yáng)
Image created by author, Background image by Hollywood reporter[1]
想象一下,一個(gè)由虛擬助手組成的團(tuán)隊(duì)正在協(xié)作處理客戶的服務(wù)咨詢。每個(gè)助手各司其職,確保提供精準(zhǔn)、高效且經(jīng)過(guò)優(yōu)化的響應(yīng)。這正是 LLMs 中 Agentic 模式的核心理念。
RAG(檢索增強(qiáng)生成)目前已經(jīng)成為 LLMs 應(yīng)用的核心組件。像 Arize Phoenix、ragas、TrueLens 等工具,能夠運(yùn)用多種指標(biāo)來(lái)評(píng)估 RAG 的性能。隨著 RAG 技術(shù)的不斷進(jìn)步,Agentic 模式成為開(kāi)發(fā) LLMs 應(yīng)用的新趨勢(shì)。大家都在爭(zhēng)相將現(xiàn)有的或新產(chǎn)品轉(zhuǎn)型為 agentic 工作流??吹侥軌蛳嗷f(xié)作、進(jìn)行有效群組討論的 LLMs,無(wú)論有無(wú)人工介入,都能共同制定出最佳和全面的解決方案,這無(wú)疑讓人充滿期待。
01 什么是 Agents?
Agents 是 LLMs 中的協(xié)調(diào)平臺(tái),它們被設(shè)計(jì)用于整合多個(gè) LLMs 的能力,甚至在沒(méi)有 LLMs 的情況下也能自動(dòng)執(zhí)行任務(wù),幾乎無(wú)需人工介入。每個(gè) Agent 能夠獨(dú)立處理特定任務(wù),同時(shí)還能進(jìn)行討論、咨詢、集思廣益,并不斷改進(jìn)它們的工作成果。我們可以利用任一 LLM 來(lái)創(chuàng)建 Agents ,并讓它完成各種任務(wù)。
來(lái)源:微軟 Autogen[2],展示了不同類型的 Agent 及其在 Autogen 庫(kù)中的作用
02 什么是 Agentic 方法?
Agentic 方法指的是將工作流程細(xì)分為更小、更獨(dú)立的 Agents,這些 Agents 通過(guò)協(xié)作來(lái)解決問(wèn)題。與讓一個(gè)單一的系統(tǒng)包攬所有任務(wù)不同,這種方法是將職責(zé)分散給具備專業(yè)功能的 Agents,從而實(shí)現(xiàn)更高效和可擴(kuò)展的解決方案。簡(jiǎn)而言之,這就像將不同的任務(wù)分配給不同的人,并指導(dǎo)他們通過(guò)團(tuán)隊(duì)討論來(lái)共同打造出一個(gè)完善的解決方案,類似于我們?cè)陬^腦風(fēng)暴會(huì)議中的做法。
舉例來(lái)說(shuō):
假設(shè)我們要構(gòu)建一個(gè)基于 LLM 的簡(jiǎn)易問(wèn)答系統(tǒng)。
在 LLM RAG 流程中,會(huì)有一個(gè)檢索器,它負(fù)責(zé)根據(jù)用戶提問(wèn)檢索出最相關(guān)的數(shù)據(jù)。接著將這些精選數(shù)據(jù)和問(wèn)題一起發(fā)送給 LLM,由 LLM 生成答案。如果需要對(duì)答案的結(jié)構(gòu)或內(nèi)容進(jìn)行優(yōu)化,我們只需調(diào)整提示詞,然后重復(fù)相同的步驟來(lái)檢驗(yàn)答案。
采用 Agentic 方法,基于上述情況,我們可以創(chuàng)建三個(gè) Agent:一個(gè)是負(fù)責(zé)檢索任務(wù)的檢索器 Agent,一個(gè)是負(fù)責(zé)生成答案的答案生成器 Agent,以及一個(gè)負(fù)責(zé)對(duì)答案進(jìn)行反饋的答案驗(yàn)證 Agent。
當(dāng)檢索器 Agent 提供了相關(guān)數(shù)據(jù)后,答案生成器 Agent 和答案驗(yàn)證 Agent 將展開(kāi)對(duì)話。在經(jīng)過(guò)數(shù)輪的反饋和交流后,最終會(huì)得出一個(gè)恰當(dāng)?shù)拇鸢?。我可以為這兩個(gè) Agent 設(shè)定明確的提示詞,以便明確它們的任務(wù)。同時(shí),由于檢索器 Agent 不需要 LLM 的功能,我們不會(huì)為其提供 LLM 的訪問(wèn)權(quán)限,它只需獨(dú)立完成檢索任務(wù)即可。
Image by author
上圖準(zhǔn)確地展示了我在前文中提到的程序。通過(guò)這幅圖,我們可以清楚地看到如何利用 Agents 來(lái)自主完成各項(xiàng)任務(wù)。
03 Evaluation
在對(duì)智能體有了深入了解之后,接下來(lái)我們將探討如何對(duì)智能體進(jìn)行評(píng)估。
在機(jī)器學(xué)習(xí)(ML)或深度學(xué)習(xí)(DL)領(lǐng)域,我們通常面對(duì)的是離散的輸出結(jié)果,因此它們的評(píng)估標(biāo)準(zhǔn)比較固定,也容易泛化。然而,當(dāng)涉及到對(duì) RAG 流程或智能體的評(píng)估時(shí),情況就變得有趣了。RAG 評(píng)估引入了多種指標(biāo),如context relevancy、faithfulness、context recall、recall、toxicity、Recall@K、Precision@K等。智能體也可以依靠這些特定的指標(biāo)來(lái)有效評(píng)估自身性能。許多原本用于傳統(tǒng)系統(tǒng)的評(píng)估指標(biāo),如context relevancy、faithfulness 和 recall,同樣也適用于智能體的評(píng)估。 此外,還有一些專門(mén)的工具可以更加流暢地對(duì)智能體進(jìn)行評(píng)估。
接下來(lái),讓我們逐一探討這些評(píng)估工具。
3.1 Agentneo
Source: Agentneo 官方倉(cāng)庫(kù)
Agentneo 是由 ragaAI 公司推出的一款工具,它是一個(gè)面向 AI Agents 的觀察、監(jiān)控和評(píng)估框架的 Python SDK。它提供的功能包括追蹤智能體(Agents)和 LLMs、工具使用情況,調(diào)試多智能體系統(tǒng),提供一個(gè)可自行托管的儀表盤(pán),以及具備時(shí)間線和執(zhí)行流程圖的高級(jí)數(shù)據(jù)分析功能。
首先,執(zhí)行以下命令進(jìn)行安裝:
只需這個(gè)簡(jiǎn)單的安裝步驟,就能在本地環(huán)境中成功部署 agentneo。
接下來(lái)的操作非常便捷。我們需要在智能體(Agents)初始化完成后,以及群組對(duì)話或交流開(kāi)始前,啟動(dòng)追蹤功能(簡(jiǎn)單來(lái)說(shuō),就是開(kāi)啟日志記錄)。
這樣就能開(kāi)始監(jiān)控智能體之間的對(duì)話。Agentneo 和很多應(yīng)用一樣提供了一個(gè)定制化的儀表盤(pán),能夠查看 Agents 各個(gè)方面的信息。
我們可以根據(jù)自己的需求來(lái)評(píng)估 Agents 的表現(xiàn),并設(shè)定相應(yīng)的評(píng)估指標(biāo)。
群組對(duì)話和交流完成之后,結(jié)束追蹤,并打開(kāi)儀表盤(pán)。
你只需在瀏覽器中輸入 http://localhost:3000,即可訪問(wèn)交互式的儀表盤(pán)。
Agentneo 儀表盤(pán)
在這個(gè)儀表盤(pán)上,我們可以追蹤多種數(shù)據(jù)(包括分析數(shù)據(jù)、時(shí)間、LLM 的調(diào)用記錄),以及 Agents 對(duì)話中非常重要的主要內(nèi)容 —— Agents 之間的聊天內(nèi)容。
它已經(jīng)與多個(gè)智能體庫(kù)如 Autogen 和 Crewai 實(shí)現(xiàn)了集成,未來(lái)還將接入更多智能體庫(kù)。我使用過(guò)該庫(kù)配合 Autogen,發(fā)現(xiàn)它是一個(gè)追蹤 Agents 活動(dòng)的優(yōu)秀工具。
Github:Agentneo[3] | RagaAI[4]
3.2 Arize phoenix
Source: Official Arize phoenix website
Arize Phoenix 是一款開(kāi)源的 LLM 追蹤及評(píng)估工具,它通過(guò)以下幾個(gè)方面來(lái)進(jìn)行評(píng)估工作:
- 追蹤執(zhí)行流程:提供詳盡的執(zhí)行流程洞察,便于發(fā)現(xiàn)和解決潛在問(wèn)題。該工具還提供一系列指標(biāo)(metrics)、日志(logs)以及元數(shù)據(jù)(metadata)支持。
- 提示詞跟蹤:為創(chuàng)建、管理以及實(shí)驗(yàn)不同的提示詞變體提供了一個(gè)獨(dú)立的空間。更多詳情請(qǐng)參閱 ??https://docs.arize.com/phoenix/user-guide#prompt-tracking。??
- 向量嵌入可視化工具
- 評(píng)估測(cè)試與基準(zhǔn)測(cè)試方面:用戶可以自定義評(píng)估指標(biāo),收集用戶反饋,并利用不同的 LLM 進(jìn)行自動(dòng)化評(píng)估。Phoenix 提供用于分析評(píng)估結(jié)果、識(shí)別趨勢(shì)以及跟蹤改進(jìn)的工具,同時(shí)支持將這些評(píng)測(cè)指標(biāo)與行業(yè)標(biāo)準(zhǔn)或自定義基準(zhǔn)進(jìn)行對(duì)比。
- 此外,Phoenix 還提供了數(shù)據(jù)整理工具,用于數(shù)據(jù)的探索、清洗和標(biāo)注。
Phoenix 也適用于追蹤 Agents 行為。它通過(guò)檢測(cè) Autogen 所依賴的底層模型庫(kù)來(lái)實(shí)現(xiàn)這一功能。
開(kāi)始使用前,您需要先安裝相關(guān)庫(kù)。
以下是您可以在本地運(yùn)行的代碼示例。
執(zhí)行代碼后,您將看到如下所示的儀表盤(pán)界面。
我之前嘗試過(guò) Agentneo,但說(shuō)實(shí)話,Phoenix 我用的并不多,原因何在?當(dāng)時(shí)我想使用 Phoenix 時(shí),它并不支持谷歌的任何模型,并且對(duì) OpenAI 模型的訪問(wèn)也受限。不過(guò),我了解到他們可能現(xiàn)在已經(jīng)支持了所有模型。
Notebook[5] | Procedural Phoenix[6] | LLM evaluation[7]
3.3 TruLens
在許多應(yīng)用中,我都使用 TrueLens 來(lái)跟蹤和監(jiān)控 RAG 流程。
Source: TrueLens github repository[8]
TruLens 是一款能夠客觀評(píng)估基于 LLM 的應(yīng)用程序性能的軟件工具,它通過(guò)反饋機(jī)制來(lái)完成這一任務(wù)。這些反饋機(jī)制能夠自動(dòng)分析應(yīng)用的輸入、輸出以及中間處理過(guò)程的質(zhì)量,從而加速評(píng)估實(shí)驗(yàn)并實(shí)現(xiàn)規(guī)?;?。TruLens 適用于多種場(chǎng)景,如自動(dòng)問(wèn)答、內(nèi)容摘要、檢索增強(qiáng)生成以及基于智能體的應(yīng)用等。
TruLens 通過(guò)以下幾種反饋機(jī)制來(lái)提升 LLM 應(yīng)用性能并降低風(fēng)險(xiǎn):
- Context Relevance(上下文相關(guān)性)
- Groundedness(評(píng)估信息是否基于實(shí)際數(shù)據(jù)或事實(shí))
- Answer Relevance(檢驗(yàn)提供的答案是否與問(wèn)題緊密相關(guān))
- Comprehensiveness(檢查信息是否全面覆蓋了所需內(nèi)容)
- Harmful or toxic language(監(jiān)測(cè)是否存在不當(dāng)或有毒的語(yǔ)言)
- User sentiment(用戶情緒)
- Language mismatch(識(shí)別語(yǔ)言使用上的不一致問(wèn)題)
- Fairness and bias(評(píng)估應(yīng)用是否存在偏見(jiàn)或不公平現(xiàn)象)
- 其他自定義反饋
Image credit: TrueLens 官方網(wǎng)站[9]
在其官方網(wǎng)站上,他們提及了在 Agents 評(píng)估過(guò)程中應(yīng)用 TrueLens。若您打算采用 TrueLens,其便捷程度與其他工具無(wú)異。
首先,安裝必要的依賴項(xiàng)。
接著,設(shè)定您希望追蹤的指標(biāo)。
然后,構(gòu)建應(yīng)用程序。
我們可以在 leaderboard 中查看結(jié)果,并且檢查運(yùn)行儀表板。
完成這些步驟后,您將看到一個(gè)與下圖相似的儀表板。
本文未提供全部代碼,但該 NOTEBOOK[10] 將引導(dǎo)您完成 TrueLens 應(yīng)用程序的設(shè)置與執(zhí)行。
Pic credits: Adam Silverman
04 Final words
本文所有提及的工具都配備有各自的用戶界面,您可以在本地主機(jī)上查看它們。依我之見(jiàn),如果您的應(yīng)用程序中包含了許多 Agents,那么進(jìn)行跟蹤就非常重要。您需要監(jiān)控哪些方面,取決于應(yīng)用程序的復(fù)雜程度及具體需求。在評(píng)估過(guò)程中,我通常覺(jué)得評(píng)估對(duì)話記錄部分更有幫助,它能告訴我們各個(gè) Agents 的具體行為,從而我們可以據(jù)此調(diào)整相應(yīng)的提示詞,并且還能幫助決定對(duì)話的輪數(shù)。如果您還知道其他評(píng)估 Agents 的工具,不妨在評(píng)論區(qū)留言!
Thanks for reading!
Hope you have enjoyed and learned new things from this blog!
About the author
Chinmay Bhalerao
AI/ML Researcher & Engineer | 3x Top Writer in AI, CV & Object Detection | Simplifying Tech with Insights & Simulations |
END
本期互動(dòng)內(nèi)容 ??
?如果您還知道其他評(píng)估 Agents 的工具,不妨在評(píng)論區(qū)留言!
??文中鏈接??
[2]??https://microsoft.github.io/autogen/0.2/docs/Use-Cases/agent_chat/??
[3]??https://github.com/raga-ai-hub/AgentNeo??
[4]??https://raga.ai/agentneo??
[5]??https://github.com/Arize-ai/phoenix/blob/main/tutorials/tracing/autogen_tutorial.ipynb??
[6]??https://docs.arize.com/phoenix/tracing/integrations-tracing/autogen-support??
[7]??https://phoenix.arize.com/??
[8]??https://github.com/truera/trulens??
[9]??https://www.trulens.org/??
原文鏈接:
