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