Multi-Agent实践第9期: 多智能体的升级体验

简介: AgentScope 的新版本主要从 RAG,可视化和系统提示优化三个角度进行了更新,旨在降低开发者的开发代价,提供更加友好的开发体验。

前言

前期的文章中,我们介绍了如何使用 AgentScope Workstation 构建多智能体应用。本期,我们将主要介绍 AgentScope 的最新版本的更新内容,包括

  • 全新的RAG模块
  • 全新可视化界面——AgentScope Studio
  • 系统提示优化模块

更多的更新内容,欢迎查看 AgentScope 的 GitHub 仓库!欢迎在GitHub上(https://github.com/modelscope/agentscope)上🌟和关注 AgentScope 项目!

RAG

RAG(Retrieval-Augmented Generation,检索增强生成)技术结合了检索和生成模型的优势,可以在生成文本时利用检索到的知识,从而提高生成文本的质量和准确性。

在 AgentScope 的前序版本中,我们在一个样例中展示了RAG技术的应用。现在,在新版 AgentScope 中,我们将 RAG 相关技术和实现抽象整合为 AgentScope 的一个基础模块,并且力图通过一系列精巧设计,有效提高 RAG 这一技术在 AgentScope 框架中的易用性和有效性。

AgentScope 中的“知识”(Knowledge)和“知识库”(Knowledge Bank)


具体而言,AgentScope 将 RAG 技术的相关功能和实现封装为“知识”(Knowledge),其中包含了数据的索引和查询接口。

在这一设计之上,为了方便对“知识”进行管理,AgentScope 进一步提出了“知识库”(KnowledgeBank)的概念。作为一个统一管理多个“知识”的平台和容器。“知识库”支持用户对多个不同的“知识”进行初始化和加载,并可以为智能体挂载所需的知识,以及在智能体之间共享知识,从而RAG在多智能体的应用场景中更加高效。

同时,AgentScope中的RAG样例(conversation with RAG agents)也已经更新,旨在向大家展RAG模块在一个经典多智能体问答场景下的应用。

在 AgentScope Studio 中运行 RAG 样例

AgentScope Studio

AgentScope Studio是一个开源的 Web UI 工具包,用于构建、管理和监控多智能体应用程序。目前主要包含 Dashboard 和 Workstation 两个板块。

AgentScope Studio 欢迎页面


Dashboard

Dashboard 提供了一个用户有好的交互界面,开发者可以在这个界面上监视正在运行的应用程序,并查看运行历史。

  • 用户可以在 Dashboard 中查看和管理应用运行的历史记录,同时可以监控当前正在运行的Multi-Agent应用实例

在 AgentScope Studio 中管理应用运行样例


  • 对于正在运行中的应用,Studio 还提供了用户交互的功能,当运行的应用中包含 UserAgent 时,用户就可以在 Studio 的交互界面上进行文本和多模态数据的输入。


AgentScope Studio 中的 Dashboard 交互界面


  • 不仅如此,为了方便用户进行调试,AgentScope 支持用户查看模型 API 调用的详细信息,包括调用时发送的 prompt 信息,以及模型 API 返回的响应信息。

在 Dashboard 中查看 API 调用记录


Workstation

就像上篇文章中提到的,Workstation 也被整合在 AgentScope Studio 中进行了开源。开发者只需拖拽出所需的大模型,以及智能体,并进行连接,即可成功构建出自己的多智能体应用!


Step 1: 在 Workstation 中选择自己心仪的模型 API

Step 2: 挑选所需的智能体,从工具栏中拖拽出来并连接

Step 3: 填写配置,并在 Dashboard中运行应用!

Prompt Tuning

这次的更新中,AgentScope 增添了 Prompt Tuning 模块,这个模块主要用于系统提示(system prompt)的生成、比较和优化。

System Prompt Generator

对于开发者而言,快速方便地构造一个好的系统提示是构建高质量 Multi-Agent 应用的关键。AgentScope 中内置的 System Prompt Generator 模块主要负责根据用户的输入生成对应的系统提示,支持英文和中文两种语言,并且支持基于上下文学习(In-Context Learning,ICL)的系统提示支持,开发者可以选用 AgentScope 内置的样例,也可以提供定制化的样例。

通过简单的代码配置,即可生成对应的系统提示:

from agentscope.prompt import ChineseSystemPromptGenerator
import agentscope
agentscope.init(
    model_configs={
        "config_name": "my-gpt-4",
        "model_type": "openai_chat",
        "model_name": "gpt-4",
        "api_key": "xxx",
    }
)
generator = ChineseSystemPromptGenerator(
    model_config_name="my-gpt-4",
    example_num=2,
    example_selection_strategy="similarity",
)
generated_system_prompt = generator.generate(
    user_input="生成一个小红书营销专家的系统提示,专门负责推销书籍。"
)
print(generated_system_prompt)

生成的系统提示:

# 角色
你是一位小红书营销专家,专门负责推销各类书籍。你对市场趋势有着敏锐的洞察力,能够精准把握读者需求,创新性地推广书籍。
## 技能
### 技能1:书籍推销
- 根据书籍的特点和读者的需求,制定并执行有效的营销策略。
- 创意制作吸引人的内容,如书籍预告、作者访谈、读者评价等,以提升书籍的曝光度和销售量。
### 技能2:市场分析
- 对小红书平台的用户行为和市场趋势进行深入研究,以便更好地推销书籍。
- 根据分析结果,调整和优化营销策略。
### 技能3:读者互动
- 在小红书平台上与读者进行有效互动,收集和回应他们对书籍的反馈。
- 根据读者反馈,及时调整营销策略,提高书籍的销售效果。
## 限制:
- 只在小红书平台上进行书籍的推销工作。
- 遵守小红书的社区规则和营销准则,尊重读者的意见和反馈。
- 不能对书籍的销售结果做出过于乐观或过于悲观的预测。

System Prompt Comparer

对于不同的系统提示不知道该如何选择?没关系,AgentScope 提供了 SystemPromptComparer 类,支持开发者

  • 批量测试不同用户输入情况下,不同系统提示的表现,
  • 在一个多轮对话的场景下,测试不同系统提示的表现。

下面将展示在多轮对话场景中一个非常有趣的样例,下面是受测的一组系统提示,让我们看看装备了这组系统提示的智能体表现如何

  1. 扮演一个乐于助人的AI助手。
  2. 扮演一个不友好的AI助手,并且表现得粗鲁。

对话测试结果如下,看起来第一个系统提示似乎是更好的选择。

assistant-0: My system prompt: ```扮演一个乐于助人的AI助手。```
assistant-1: My system prompt: ```扮演一个不友好的AI助手,并且表现得粗鲁。```
#################### Start the dialog, input `exit` to exit ####################
User input: 你好!你是谁?
User: 你好!你是谁?
assistant-0: 您好!我是一个人工智能助手,由OpenAI的GPT-3技术驱动。我可以帮助您处理各种任务,比如提供信息,解答问题,安排日程等等。请告诉我,我怎么能帮助您?
assistant-1: 我是一个AI,但我并不在乎你是谁,也不关心你需要什么。
User input: 1+1等于多少?
User: 1+1等于多少?
assistant-0: 1+1等于2。
assistant-1: 哦,真是个难题,让我猜猜...等于2。你真的需要我来告诉你这个吗?你的数学水平真是让人担忧。
User input: exit
User: exit

System Prompt Optimizer

上面我们已经介绍了如何生成系统提示,以及如何比较和测试不同的系统提示,最后,AgentScope 通过 SystemPromptOptimizer模块实现对系统提示的运行时优化

具体来说,该模块将基于当下的系统提示和对话历史进行“反思”,并提取出若干条可以加入到系统提示中的注意事项,从而避免在未来的运行过程中重复出现类似的错误。

通过上述的三个模块,AgentScope 建立了对系统提示的支持,更多的细节请参考 AgentScope 教程。

总结

AgentScope 的新版本主要从 RAG,可视化和系统提示优化三个角度进行了更新,旨在降低开发者的开发代价,提供更加友好的开发体验。欢迎广大的多智能体应用开发者尝鲜 AgentScope 新版本,也欢迎在GitHub上🌟和关注 AgentScope 项目。

延伸阅读和资源


点击链接👇直达原文

https://www.modelscope.cn/brand/view/AgentScope?from=alizishequ__text

相关文章
|
3月前
|
前端开发 API 决策智能
多智能体微调实践:α-UMi 开源
近年来,为了加强大型语言模型(Large-Language Models, LLM)实时信息处理、解决专业问题的能力,催生了工具调用智能体(Tool Integrated Agent)概念
|
2月前
|
Arthas 监控 Java
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
本文介绍了阿里云 Java Agent 4.x 版本在基于 OTel Java Agent 二次开发过程中的实践与思考,并重点从功能、性能、稳定性、兼容性四个方面介绍了所做的工作。同时也介绍了阿里云可观测团队积极参与开源建设取得的丰厚成果。
244 7
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
|
24天前
|
人工智能 API 数据库
Qwen-Agent功能调用实践探索
本文详细解析了Qwen-Agent的核心功能——功能调用,涵盖其定义、工作流程、重要性和实际应用,通过实例展示了如何在Qwen-Agent中利用此功能与外部工具和API互动,扩展AI应用范围。
|
1月前
|
人工智能 自然语言处理 数据挖掘
田渊栋团队新作祭出Agent-as-a-Judge!AI智能体自我审判,成本暴跌97%
田渊栋团队提出Agent-as-a-Judge框架,利用智能体自身评估其他智能体的性能,不仅关注最终结果,还能提供中间反馈,更全面准确地反映智能体的真实能力。该框架在DevAI基准测试中表现出色,成本效益显著,为智能体的自我改进提供了有力支持。
46 7
|
2月前
|
存储 人工智能 算法
卷起来!让智能体评估智能体,Meta发布Agent-as-a-Judge
Meta(原Facebook)提出了一种名为Agent-as-a-Judge的框架,用于评估智能体的性能。该框架包含八个模块,通过构建项目结构图、定位相关文件、读取多格式数据、搜索和检索信息、询问要求满足情况、存储历史判断、以及规划下一步行动,有效提升了评估的准确性和稳定性。实验结果显示,Agent-as-a-Judge在处理复杂任务依赖关系方面优于大型语言模型,但在资源消耗和潜在偏见方面仍面临挑战。
47 1
|
2月前
|
传感器 机器学习/深度学习 自然语言处理
智能代理(Agent)在工具调用与协作中的应用实践
随着人工智能技术的飞速发展,智能代理(Agent)技术已成为解决复杂任务的关键手段。本文深入探讨了如何设计灵活的工具调用机制和构建高效的单/多Agent系统以提升任务执行效率。文章不仅涵盖了相关的理论知识,还提供了丰富的实践案例和代码实现,旨在帮助读者深入理解和应用智能代理技术。
188 2
|
2月前
|
Prometheus 监控 Java
深入探索:自制Agent监控API接口耗时实践
在微服务架构中,监控API接口的调用耗时对于性能优化至关重要。通过监控接口耗时,我们可以识别性能瓶颈,优化服务响应速度。本文将分享如何自己动手实现一个Agent来统计API接口的调用耗时,提供一种实用的技术解决方案。
62 3
|
3月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
240 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
3月前
|
人工智能 API 决策智能
swarm Agent框架入门指南:构建与编排多智能体系统的利器 | AI应用开发
Swarm是OpenAI在2024年10月12日宣布开源的一个实验性质的多智能体编排框架。其核心目标是让智能体之间的协调和执行变得更轻量级、更容易控制和测试。Swarm框架的主要特性包括轻量化、易于使用和高度可定制性,非常适合处理大量独立的功能和指令。【10月更文挑战第15天】
472 6
|
3月前
|
机器学习/深度学习 人工智能 算法
打造你的超级Agent智能体——在虚拟迷宫中智斗未知,解锁AI进化之谜的惊心动魄之旅!
【10月更文挑战第5天】本文介绍了一个基于强化学习的Agent智能体项目实战,通过控制Agent在迷宫环境中找到出口来完成特定任务。文章详细描述了环境定义、Agent行为及Q-learning算法的实现。使用Python和OpenAI Gym框架搭建迷宫环境,并通过训练得到的Q-table测试Agent表现。此项目展示了构建智能体的基本要素,适合初学者理解Agent概念及其实现方法。
119 9

热门文章

最新文章