LangManus
智能体应用

LangManus

Langmanus 是一个社区驱动的开源 AI 自动化框架,旨在通过结合大型语言模型和各种专业工具来实现复杂的自动化任务。它采用分层多智能体系统架构,包含协调器、规划器、主管、研究员、程序员、浏览器和报告员等多种智能体,共同协作完成任务。Langmanus 提供了灵活的配置选项和强大的提示系统,方便用户进行定制和扩展,适用于学术研究和 AI 自动化应用的开发。

快点收藏起来

什么是 langmanus

Langmanus 是一个由社区驱动的开源 AI 自动化框架,其核心目标是结合大型语言模型(LLMs)与各种专业工具,例如网络搜索、网页抓取和 Python 代码执行等,从而实现更强大的自动化任务处理能力。该项目建立在开源社区的卓越工作之上,并致力于回馈社区。Langmanus 的设计理念是探索和交流在多智能体(Multi-Agent)和深度研究(DeepResearch)领域的想法。它实现了一个分层的多智能体系统,其中一个主管(Supervisor)协调多个专门的智能体来完成复杂的任务。作为一个学术研究项目,Langmanus 的开发团队是一群前同事在业余时间共同努力的成果,旨在参与 GAIA 排行榜并在未来发表相关论文。值得注意的是,Langmanus 项目完全独立于开发者的主要工作职责,不代表其雇主或任何组织的观点或立场,并且与任何名为 Manus 的公司或组织无关。该项目以 MIT 许可证开源,鼓励用户自由使用和贡献,但使用者需自行承担使用风险。

langmanus

LangManus 具备强大的搜索和检索能力,通过 Tavily API 实现网络搜索,结合 Jina 进行神经搜索,高效提取和分析信息。此外,它还内置 Python 执行环境,支持代码生成和运行,适用于多种复杂任务场景。

langmanus-architecture

langmanus 的功能

Langmanus 框架提供了一系列关键功能,以支持构建复杂的 AI 自动化流程:

  • 分层多智能体系统: Langmanus 采用分层架构,包含多种不同职责的智能体,例如协调器(Coordinator)、规划器(Planner)、主管(Supervisor)、研究员(Researcher)、程序员(Coder)、浏览器(Browser)和报告员(Reporter)。这种架构使得任务可以被分解并分配给最合适的智能体处理。
  • 任务协调与委派: 主管智能体负责分析用户请求,制定执行策略,并将任务委派给其他专门的智能体。
  • 信息收集与分析: 研究员智能体专门负责收集和分析信息,为其他智能体的决策提供支持。
  • 代码生成与修改: 程序员智能体能够生成和修改代码,以实现特定的功能或解决问题。
  • 网络浏览与信息检索: 浏览器智能体可以模拟人类用户进行网页浏览和信息检索,获取最新的在线信息。
  • 报告生成与总结: 报告员智能体负责生成工作流程的结果报告和总结。
  • 内置 Python REPL: Langmanus 集成了 Python REPL(Read-Eval-Print Loop),可以直接执行 Python 代码。
  • 代码执行环境: 提供了一个安全可靠的代码执行环境,用于运行智能体生成的代码。
  • 包管理: 集成了 uv 包管理器,方便安装和管理 Python 依赖。
  • 工作流可视化: 能够可视化展示多智能体的工作流程图,帮助用户理解任务的执行过程。
  • 多智能体编排: 实现了对多个智能体的协调和管理。
  • 任务委派与监控: 支持任务的委派和执行状态的监控。
  • 灵活的模型配置: 系统可以使用不同的 LLM 来处理不同类型的任务,例如使用推理 LLM 进行复杂决策和分析,使用基础 LLM 处理简单的文本任务,以及使用视觉-语言 LLM 处理涉及图像理解的任务。
  • 可定制的配置: Langmanus 可以通过修改 src/config 目录下的各种配置文件进行定制,例如配置 LLM 模型、API 密钥、工具设置和智能体系统提示等。
  • 强大的提示系统: 使用 src/prompts 目录下的提示模板系统来定义智能体的行为和职责,支持变量替换和格式化系统提示。

如何使用/快速开始

要开始使用 Langmanus 框架,您可以按照以下步骤进行操作:

  1. 克隆代码仓库: 首先,从 GitHub 克隆 Langmanus 的代码仓库到您的本地机器上:
    git clone https://github.com/langmanus/langmanus.git
    cd langmanus
  2. 配置环境变量: 复制 .env.example 文件并重命名为 .env,然后根据您的需求配置其中的环境变量,例如 LLM 的 API 密钥等。
  3. 配置预提交钩子(Pre-commit Hook): Langmanus 包含一个预提交钩子,用于在每次提交前运行代码检查和格式化。您需要使其可执行并安装:
    chmod +x pre-commit
    ./pre-commit install

    这个钩子会自动运行 linting 检查和代码格式化,并在出现错误时阻止提交。

  4. 配置: 您可以根据需要在 src/config 目录下修改配置文件,例如 env.py(配置 LLM 模型和 API 密钥)、tools.py(调整工具特定设置)和 agents.py(修改团队组成和智能体系统提示)。
  5. 运行 Langmanus: 根据项目的文档或示例代码,运行 Langmanus 的主程序。这通常涉及到启动协调器智能体,并通过命令行或其他接口与其进行交互。

由于 Langmanus 是一个研究项目,其具体的运行方式和 API 使用可能需要参考其 GitHub 仓库中的详细文档和示例。通常,您需要配置您想要使用的 LLM 的 API 密钥,例如 OpenAI 或其他支持的模型的密钥。然后,您可以尝试运行项目提供的示例,了解如何与 Langmanus 系统进行交互,并观察不同智能体如何协同工作以完成任务。Langmanus 的 Web UI 项目(langmanus/langmanus-web)也提供了一个默认的 Web 用户界面,您可能需要同时运行后端 Python 服务和前端 Web 应用程序才能使用。请务必查阅 Langmanus 的 GitHub 仓库以获取最准确和最新的使用说明和示例代码。

相关导航