/hugging-multi-agent

A tutorial based on MetaGPT to quickly help you understand the concept of agent and muti-agent and get started with coding development. 基于MetaGPT的多智能体入门与开发教程

Primary LanguageCSS

Hugging Multi-Agent

项目简介

  • 课程说明:Hugging Multi-Agent 是一套专为期望深入了解并实践多智能体系统的开发者设计的实用指南。基于国内领先的多智能体框架 MetaGPT(iclr 2024 oral) 旨在帮助读者掌握多智能体系统的核心概念,并提供一套全面的学习路径,从智能体的基础理解到复杂系统的实际开发。
  • 面向人群:
    • 职业发展定位:本课程适合那些希望在大模型和智能体开发领域取得职业发展的工程师。与仅仅关注prompt工程的学习者不同,我们的目标受众是那些渴望深入了解并实践Agent框架以及智能体系统的开发者
    • 技术基础:
      • 我们的课程将直接从代码层面探索智能体的个性化开发
      • 适合拥有Python编程基础(最好拥有一定异步编程基础)
      • 熟练阅读和理解项目源代码的学习者
    • 兴趣与动机:适合对AI智能体领域充满热情的学习者,特别是那些希望从代码层面对智能体进行个性化能力开发的人。我们的课程旨在帮助学习者将理论知识转化为实际应用。

项目在线教程(二月组队学习版组队学习请阅读这篇文档):https://deepwisdom.feishu.cn/wiki/MLILw0EdRiyiYRkJLgOcskyAnUh

旧版在线教程(MetaGPT0.4 + Actionnode 特性学习):https://deepwisdom.feishu.cn/wiki/KhCcweQKmijXi6kDwnicM0qpnEf

MetaGPT:https://github.com/geekan/MetaGPT

注:如果有同学希望了解大模型的模型构成,以及从零手写RAG、Agent和Eval等任务,可以学习Datawhale的另一个项目Tiny-Universe,大模型是当下深度学习领域的热点,但现有的大部分大模型教程只在与教给大家如何调用api完成大模型的应用,而很少有人能够从原理层面讲清楚模型结构、RAG、Agent 以及 Eval。所以该仓库会提供全部手写,不采用调用api的形式,完成大模型的 RAG 、 Agent 、Eval 任务。

注:考虑到有同学希望在学习本项目之前,希望学习大模型的理论部分,如果想要进一步深入学习 LLM 的理论基础,并在理论的基础上进一步认识、应用 LLM,可以参考 Datawhale 的 so-large-llm课程。

注:更多与 agent 开发相关的仓库,请参考agent-tutorial 智能体应用开发从零开始学多智能体应用开发

目录

第一章:前期准备

1.1 获取MetaGPT

1.2 配置MetaGPT

1.2.1 申请 ChatGPT API 接口

  • 1.2.1.1 获取 OpenAI API Key
  • 1.2.1.2 配置 OpenAI API Key
  • 1.2.1.3 配置Gemini 智谱/星火等LLM
  • 1.3 首次尝试

第二章:智能体结构及多智能体框架介绍

2.1 AI Agent体系介绍

  • 单体AI Agent
  • 智能体用例
  • 概念验证Agent-BabyAGI
  • 生成Agents模拟
  • 应用层的Moe-多人求解
  • 2.1.3 Sy1&Sy2给Agent的启发
  • 2.1.4 更多仓库以及产品

2.2 多智能体框架介绍

  • 2.2.1 什么是MetaGPT
  • 2.2.2 经典案例:软件公司
  • 2.2.3 更多关于MetaGPT
  • 2.2.4 其他多智能体框架
  • ChatDev
  • AutoAgents
  • agents
  • Camel
  • AutoGen

第三章:智能体开发

3.1 Agent概念模块

3.2 RoleContext

3.3 实现一个简洁的Agent

  • 3.3.1 需求分析
  • 3.3.2 编写SimpleWriteCode助手
  • 3.3.3 设计SimpleCoder角色

3.4 实现一个多功能Agent

  • 3.4.1 需求分析
  • 3.4.2 编写SimpleWriteCode助手
  • 3.4.3 编写 SimpleRunCode 助手
  • 3.4.4 定义 RunnableCoder 角色
  • 3.4.5 运行 RunnableCoder 角色

3.5 实现一个管理类Agent: 技术文档助手

  • 3.5.1 需求分析
  • 3.5.2 编写 WriteDirectory 助手
  • 3.5.3 编写 WriteContent 助手
  • 3.5.4 编写 TutorialAssistant 角色
  • 3.5.5 运行 TutorialAssistant 角色

3.6 智能体案例剖析

3.7 智能体开发作业

第四章:多智能体开发

4.1 Multi Agent概念模块

4.2 多智能体组件介绍

  • 4.2.1 Environment
  • 4.2.2 开发一个简单的多智能体系统
  • 4.2.3 Team
  • 4.2.4 基于Team开发的第一个智能体团队

4.3 多智能体案例: 辩论

  • 4.3.1 定义动作
  • 4.3.2 定义角色Role
  • 4.3.3 实例化

4.4 多智能体开发作业

Roadmap

  • 发布第一版内容内测
  • 发布第一版内容公测
  • 更新多智能体内容
  • 飞书内容迁移仓库
  • 引入 python 并发编程基础
  • werewolf_game 复现分析
  • minecraft 项目复现分析
  • agent + RL OverCooked AI Agent 解决方案
  • llm 角度看agent实现(agent实现的底层原理)

参与贡献

  • 如果你想参与到项目中来欢迎查看项目的 Issue 查看没有被分配的任务。
  • 如果你发现了一些问题,欢迎在 Issue 中进行反馈🐛。
  • 如果你对本项目感兴趣想要参与进来可以通过 Discussion 进行交流💬。

如果你对 Datawhale 很感兴趣并想要发起一个新的项目,欢迎查看 Datawhale 贡献指南

贡献者名单

姓名 职责 简介
潘笃驿 项目负责人 西安电子科技大学本科在读
陈叶帆 核心贡献者 MetaGPT成员
沈楚城 核心贡献者 MetaGPT成员
郑蕲 核心贡献者 MetaGPT成员
徐宗泽 核心贡献者 MetaGPT成员
李柯辰 贡献者 Datawhale成员
丁世奇 贡献者
回车 贡献者

关注我们

扫描下方二维码关注公众号:Datawhale

扫描下方二维码关注公众号:MetaGPT

LICENSE

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

注:默认使用CC 4.0协议,也可根据自身项目情况选用其他协议