Type something to search...
构建基于多代理的 自动递归--计划、执行、再计划流程

构建基于多代理的 自动递归--计划、执行、再计划流程

本博客包含以下三个部分:

  • 问题陈述
  • 解决方案方法
  • 结论与参考文献

问题陈述

计划、执行与重新计划过程在智能体解决方案的领域并不新鲜。自去年以来,我们一直在实施这些基于智能体的计划-执行-重新计划过程。

因此,当我的一位同事讨论实施这些过程的挑战时,我感到很有趣,因为我认为这是一个讨论得很充分的问题。

但是在与他交谈时,我理解了他计划要做的场景的性质和复杂性,我认为这是一个很好的合作机会。

为了清晰地阐述内容,以下是我对问题陈述的理解和我认为的场景。

场景 1(我的理解):

智能体解决方案可以以多种方式设计。智能体可以设计为监督者<->工人;它们可以设计为以无环方式相互交谈的智能体网络;它们可以是层次结构等。

我理解到,在最简单的形式中,我们可以使用一个智能体和多个工具来实现计划-执行-重新计划过程。这对于简单的用例来说已经足够。当我分享用于解决此用例的多工具(单一智能体)时,我们发现它适用于简单场景。

场景 2(稍微先进但与Langchain一致):

在第二个场景中,我引入了另一个解决方案。我谈到了Langchain自己预构建的智能体,它可以帮助实现这个循环。相信我,这让我们兴奋了很长一段时间,因为它能够循环并迭代计划以生成执行结果。有关更多详细信息,请查看 @ https://github.com/langchain-ai/langchain/blob/master/cookbook/plan_and_execute_agent.ipynb

这是一个开箱即用的智能体,包含load_chat_planner和PlanAndExecute模块,位于plan_and_execute智能体API中。

这个智能体(由Langchain提供)受到了BabyAGI的启发。解决方案的核心关注于计划者和执行者。

这两个场景中缺少什么(场景 3):

当我与同事交谈时,他试图解决的真正问题是智能体动态适应计划、采取行动并根据先前的行动重新计划。场景 2 中的单一智能体在某些场景中是可以的,但在复杂的多步骤过程中,它却显得力不从心。

其次,在计划-执行-重新计划过程中,我们需要更多的灵活性。我们需要在规划和执行步骤时调用外部系统。这意味着我们需要设计一个递归的多智能体系统,能够持续处理,直到有效完成目标。

那么,不再多说,让我们开始吧:

解决方案

让我们从我们最终设计的计划-执行-重新计划过程的整体设计开始。整体解决方案基于我已经研究了一段时间的多智能体框架。我写了超过10篇关于多智能体框架的博客,你可以在下面的“结论”部分找到链接。

当工作流开始时,初始监督者智能体启动。监督者智能体可以设置初始配置(如无环DAG、内存、提示等),以便其他独立智能体能够协同工作以达成目标。这在步骤2、3中得以体现,当监督者智能体的设置和初始化完成时。

接下来(在步骤4中)——DAG经过第一个智能体——如果该智能体需要人工干预(例如,该智能体需要人类询问问题或确认决策)——那么该过程将暂停,等待人类采取该行动并保持状态。

在步骤6中——智能体可以调用相关工具来完成智能体的动作,并基于此调用过程的下一步。下一步是执行命令的执行者过程。

接下来,系统检查任务列表是否完成,如果整个任务集完成,则系统将响应用户,否则它将以递归方式调用重新规划智能体,如下所示。

为了理解系统的行为,我有另一个流程图,提供用例级别的流程(与上述架构蓝图相比)。

在这种情况下——当用户询问一个问题时——规划者智能体被触发,规划者将生成详细的任务列表。如图所示。从该任务列表中,执行者智能体将被递归调用。

对于第一个任务,执行者智能体将调用适当的工具以获取响应。根据响应,将调用重新规划智能体。重新规划智能体将决定是否需要重新规划。它还将决定所有待处理任务是否已完成。

如果完成,则它将收集响应并发送给用户,否则它将递归调用下一步。

现在让我们看看解决方案。该解决方案基于Azure Gen AI Foundation框架,具有相同的外观和感觉(请查看框架 @ https://medium.com/@nayan.j.paul/gen-ai-building-adoption-through-a-common-platform-instead-of-enabling-be-spoke-use-cases-b0cbc2e185a8

系统要求我们提供一个问题,基于此它将设计计划。

这是相同的保护措施和状态管理,确保系统不会向前推进,除非提供了智能体的具体细节(在这种情况下是问题)。

我开始询问系统给我准备浓缩咖啡的快速步骤。这个问题触发了迭代和递归的计划-执行-重新计划过程。系统随后进入自动驾驶模式,递归调用和执行下一步。

如果我们看到下面的内容,它以计划步骤开始,给我3个步骤来执行该过程。然后它移动到执行计划以执行第一个任务。

一旦第一个任务完成,系统会自动识别计划正在进行,然后调用重新规划步骤。重新规划步骤然后在循环中再次调用执行计划步骤,直到我们完成所有处理,如下所示。

所有这些都是自动化的,在每一步中,系统决定是否进入下一步并进行处理。

这展示了这个智能体解决方案的迭代特性,其中过程是递归和自动化的。

结论

如果你有任何其他问题需要我尝试,请发送给我。我将分享框架在复杂场景中的表现。我现在正在测试这个客户用例,并会及时向大家更新。

现在,我已经在智能体方面工作了一段时间,以下是我实施的一些智能体用例,供您参考:

  1. 整体“智能体解决方案”概述 @ https://medium.com/@nayan.j.paul/implementing-llm-and-gen-ai-applications-using-the-world-of-llm-agents-37fab8889bd3

  2. 基于目标的智能体开发 @ https://medium.com/@nayan.j.paul/how-i-designed-a-tic-tac-toe-agent-in-a-multi-agent-setup-with-llm-and-gen-ai-3da646177980

  3. 使用智能体集合进行探索性数据分析 @ https://medium.com/@nayan.j.paul/designing-exploratory-analysis-agent-with-gen-ai-large-language-models-llms-61310a1cd60f

  4. 设计假设测试和模式分析智能体 @ https://medium.com/@nayan.j.paul/designing-hypothesis-analysis-agent-with-gen-ai-large-language-models-llms-a09aaf7016d4

  5. 设计供应链模拟建模 @ https://medium.com/@nayan.j.paul/designing-simulation-modeling-agents-using-gen-ai-large-language-models-llms-ed12f462c3f2

  6. 汽车订单放置的多轮用例 @ https://medium.com/@nayan.j.paul/multi-turn-goal-based-agents-with-large-language-models-with-practical-use-case-49a78fcc79c4

  7. 日程安排助手 @ https://medium.com/@nayan.j.paul/designing-scheduling-assistant-agent-using-gen-ai-large-language-models-llms-7799d882ee6e

  8. 递归多智能体游戏(狼、白菜、羊) — https://medium.com/@nayan.j.paul/implementic-recursive-agentic-solution-wolf-goat-cabbage-game-using-gen-ai-677506ecf906

  9. 基于O1模型的多智能体系统推理 — https://medium.com/@nayan.j.paul/root-cause-analysis-use-case-with-the-new-o1-reasoning-model-e4f75e88403b

  10. 多智能体缺货传播系统 — https://medium.com/@nayan.j.paul/implementing-back-order-prediction-agent-using-gen-ai-large-language-models-llms-8eede590438e

  11. 使用多智能体系统进行运输ETA预测 — https://medium.com/@nayan.j.paul/implementing-shipment-eta-prediction-agent-using-gen-ai-large-language-models-llms-d0e9021bb54b

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多