CAMEL 多智能体个性化学习伙伴 (CAMEL Multi-Agent Personalized Learning Companion)
Inspiration (灵感)
传统教育模式往往难以满足每个学生的个性化需求。每个学生的学习风格、知识掌握程度和学习进度都各不相同,而统一的教学方法难以兼顾。我们相信,人工智能,特别是大型语言模型 (LLM) 和多智能体系统 (MAS) 的发展,为构建个性化、自适应的学习环境提供了新的机遇。本项目旨在利用 CAMEL 框架,结合 Qwen 等先进的 LLM,构建一个多智能体驱动的个性化学习伙伴,为每个学生提供定制化的学习体验,激发他们的学习兴趣,提高学习效率。
What it does (它能做什么)
本项目构建了一个基于 CAMEL 框架的多智能体个性化学习伙伴系统
学生智能体 (Student Agent): 模拟具有独特学习风格 (例如:视觉型、听觉型、动觉型) 和知识掌握程度 (例如:对“一元一次方程”未掌握,对“平面直角坐标系”掌握) 的学生。它能够提出学习中的问题,表达自己的学习需求,并对其他智能体的回复做出反应。 教师智能体 (Teacher Agent): 扮演经验丰富的教师角色,利用 Qwen 大模型的强大能力来解答学生的问题,并根据学生的学习风格和知识掌握程度提供个性化的指导、建议和学习资源。它还能够根据需要调用知识爬取智能体 (可选) 来获取最新的网络知识。 学习伙伴智能体 (Study Partner Agent): 模拟一个友好的学习伙伴,与学生智能体一起学习,分享学习心得,用更通俗易懂的方式解释概念,并在学生遇到困难时提供鼓励和支持。它也具备自身的学习风格和知识水平,模拟真实的同伴互助学习场景。 知识爬取智能体 (Knowledge Crawler Agent): 根据教师或学生的需求,从特定教育网站 (例如百度知道) 爬取相关的问题和答案,整理成 FAQ 形式,为教师智能体提供补充信息。 语音交互: 集成 Fish Audio 语音识别和合成技术,实现语音输入和输出,提供更自然的交互体验。 知识图谱: 利用 NebulaGraph 构建学科知识图谱,帮助学生理解知识点之间的关联,并为教师智能体提供更深层次的知识支持。 结构化输出: 使用 SGlang 对 Agent 的输出进行结构化处理,使信息更易于理解和使用。 该系统能够模拟真实的师生互动和同伴互助学习场景,为学生提供全天候的个性化学习支持。
How we built it (我们如何构建它)
我们采用了以下技术和工具构建这个系统:
CAMEL 框架: 作为多智能体系统的核心框架,提供了智能体定义、通信和协作的基础设施。 Qwen 大模型: 作为教师智能体的核心引擎,利用其强大的语言理解和生成能力来提供智能问答和个性化指导。通过 ModelScope 提供的 API 进行调用。 ModelScope: 利用 ModelScope 平台上的模型进行学习风格诊断和知识点掌握程度评估,为学生智能体提供个性化的初始设定。 Python-dotenv: 使用 .env 文件管理 API 密钥和其他环境变量,增强了代码的安全性和可移植性。 Fish Audio: 用于实现语音交互 (TTS/ASR)。 NebulaGraph: 用于构建知识图谱。 requests + Beautiful Soup / Role-Playing Web Scraper: 用于网络爬虫。 SGlang: 用于结构化输出。
开发步骤:
定义了 Student Agent, Teacher Agent, Study Partner Agent 的类,并分别实现了 init 方法和 step 方法。 为每个 Agent 创建了 BaseMessage 对象作为系统消息,定义了它们的角色和行为准则。 在 Teacher Agent 中集成了 Qwen API,使其能够回答问题和提供指导。 在 Student Agent 中实现了基于规则的学习风格诊断和知识点掌握评估 (可选:使用 ModelScope 的模型进行更精确的评估)。 通过循环交互的方式模拟了多 Agent 之间的对话流程。
Challenges we ran into (我们遇到的挑战)
CAMEL 框架的学习曲线: CAMEL 是一个相对较新的框架,文档和示例相对较少,需要花费一定的时间学习和理解其工作原理。 旧版本 CAMEL 库的兼容性问题: 新版本的 camel 库 (0.1.2) 中 camel.agent 模块不存在,需要使用旧版本 camel==0.1.1。 Qwen API 的调用和 API 密钥管理: 需要处理 API 密钥的安全存储和使用,以及 API 调用的频率限制和错误处理。 多智能体之间的协调与交互: 设计和实现多个智能体之间的有效通信和协作机制具有一定的挑战性,需要仔细考虑 Agent 之间的消息传递和状态更新。 个性化学习的实现: 真正实现个性化学习需要深入理解学生的学习行为和认知规律,并将其融入到 Agent 的设计中,这需要不断地迭代和优化。 时间限制: 在有限的时间内,我们需要对功能进行取舍,优先实现核心功能,并简化一些复杂的逻辑。
Accomplishments that we're proud of (我们引以为豪的成就)
成功构建了一个基于 CAMEL 框架的多智能体系统原型: 尽管时间有限,我们仍然成功地构建了一个包含三个核心 Agent (Student, Teacher, Study Partner) 的原型系统,并实现了它们之间的基本交互。 集成了 Qwen 大模型: 我们成功地将 Qwen 大模型集成到 Teacher Agent 中,使其具备了智能问答和个性化指导的能力。 实现了基于规则的个性化设定: 我们为 Student Agent 实现了基于规则的学习风格诊断和知识点掌握评估,为其提供了个性化的初始设定。 探索了 CAMEL 框架的应用: 我们通过实践,加深了对 CAMEL 框架的理解,并探索了其在教育领域的应用潜力。 在 Google Colab 中完成了开发和测试: 我们充分利用了 Google Colab 提供的免费资源,完成了原型的开发和测试。
What we learned (我们学到了什么)
CAMEL 框架的实际应用: 通过这个项目,我们深入了解了 CAMEL 框架的架构、API 和使用方法,掌握了构建多智能体系统的基本技能。 大模型在教育领域的应用潜力: 我们认识到 Qwen 等大模型在提供个性化学习支持方面的巨大潜力,例如智能问答、学习资源推荐等。 多智能体系统设计的挑战和机遇: 我们体会到了设计和实现多智能体系统的复杂性,以及多智能体协作在解决复杂问题方面的优势。 API 密钥管理的重要性: 我们学会了使用环境变量来安全地管理 API 密钥,避免将其直接暴露在代码中。 快速原型开发的方法: 在时间有限的情况下,我们学会了如何进行快速原型开发,如何对功能进行取舍,以及如何利用现有的工具和资源。
What's next for camel-multi-agent-edu-system (未来的发展方向)
引入更先进的学习风格诊断和知识点掌握评估模型: 使用 ModelScope 上更精确的模型,提升学生画像的准确性。 增强知识爬取智能体 (Knowledge Crawler Agent) 的功能: 实现更稳定、更通用的网络爬虫,支持更多教育网站,并利用 NLP 技术提高信息提取的准确性。 集成 Fish Audio 实现语音交互: 提供更自然、更便捷的交互方式。 构建和利用知识图谱: 利用 NebulaGraph 构建学科知识图谱,增强 Teacher Agent 的推理能力,并帮助学生更好地理解知识点之间的关系。 引入 SGlang 结构化输出: 使得Agent的输出更加的结构化,便于后续的决策。 更复杂的 Agent 交互机制: 探索更复杂的 Agent 交互模式,例如引入 Agent 之间的协商、合作和竞争机制。 更完善的个性化学习算法: 深入研究学生的学习行为和认知规律,开发更有效的个性化学习算法,并将其融入到 Agent 的设计中。 用户界面开发: 开发一个用户友好的界面,方便学生与系统进行交互。 真实场景测试: 在真实的教学场景中测试和评估系统的性能,并根据反馈进行改进。
Log in or sign up for Devpost to join the conversation.