写点什么

多 Agent 协作,效果如何评估?

作者:Baihai IDP
  • 2025-02-20
    湖南
  • 本文字数:4226 字

    阅读完需:约 14 分钟

多 Agent 协作,效果如何评估?

编者按: 在构建基于大语言模型的应用时,你是否遇到过这样的困扰:多个 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 的工具,不妨在评论区留言!


🔗文中链接🔗


[1]https://www.hollywoodreporter.com/lifestyle/lifestyle-news/distracted-boyfriend-meet-stars-meme-summer-1033623/


[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/


[10]https://colab.research.google.com/github/truera/trulens/blob/main/examples/quickstart/quickstart.ipynb#scrollTo=wiL9tL_8xrRP


原文链接:


https://medium.com/towards-artificial-intelligence/evaluating-and-monitoring-llm-agents-tools-metrics-and-best-practices-a61f508cccb0

发布于: 刚刚阅读数: 5
用户头像

Baihai IDP

关注

AI训推云平台:GPUaaS, MLOPs, MaaS 2021-08-31 加入

IDP是AI训推云平台,旨在为企业和机构提供算力资源、模型构建与模型应用于一体的平台解决方案,帮助企业高效快速构建专属AI及大模型。 在这里见证IDP的蜕变成长,共探行业和AI技术的迭代发展!

评论

发布
暂无评论
多 Agent 协作,效果如何评估?_程序员_Baihai IDP_InfoQ写作社区