使用说明
学习Buddy AI🎓
学习Buddy AI 是一个由 谷歌代理开发工具包(ADK) 和 双子座2.0闪光灯。它不仅仅是简单的问答,而是积极评估你的知识,根据你的学习风格调整解释,并跟踪你的学习进度。
问题陈述
学生被迫依赖通用的、一刀切的材料,而忽略了先前的知识、速度和首选的学习风格。如果没有持续的评估和适应,他们就会浪费时间,脱离接触,无法掌握具有挑战性的概念。
解决方案架构
Study Buddy AI通过Google ADK协调Gemini代理团队:
代理人和责任
studybuddy_coordinator–协调整个会话,在子代理之间转移控制权,并调用共享工具。knowledge_assessor–采访学习者,推断知识水平+学习风格,并坚持结果。explanation_agent–制作量身定制的教学片段,包括类比、例子和自我检查问题。quiz_generator–构建多格式测验,收集结构化答案,调用评分工具,并更新掌握程度。resource_finder–使用谷歌搜索来策划与目标相一致的有信誉的文章、视频和互动工具。
ADK工具带
FunctionTool(fetch_student_profile)和FunctionTool(update_student_profile)暴露内存库。FunctionTool(grade_quiz_session)对测验尝试进行评分,附加历史记录,并标记主题完成。FunctionTool(progress_tracker_tool)计算掌握率、薄弱环节和建议的下一步。FunctionTool(log_study_time)和FunctionTool(record_topic_completion)追踪习惯数据。- 内建
google_search满足“网络资源”要求。
技术实现
| 能力 | 实施 |
|---|---|
| 多代理编排 | 定义于 agents/,使用明确的指令、工具和 output_keys |
| 会话和记忆 | 使用ADK InMemorySessionService 加上一个自定义 MemoryBank (memory/student_memory.py)它存储知识水平、学习偏好、测验历史、完成的主题、目标和总学习时间。 |
| Gemini模型 | 所有代理默认为 config.settings.GEMINI_MODEL (gemini-2.0-flash-001)但可以通过env变量进行覆盖。看 故障排除.md 为了模型兼容性。 |
| 自定义工具 | 测验评分、进度跟踪和记忆更新显示为ADK FunctionTool年代 agents/toolbelt.py. |
| 资源整合 | knowledge_assessor, quiz_generator,以及 resource_finder 所有人都可以访问ADK google_search 用于获取最新事实和链接的工具。 |
设置和运行
-
安装依赖项
cd studybuddy-ai python -m venv .venv .venv\Scripts\activate # Windows pip install -r requirements.txt -
配置凭据
- 复制
env.example到.env - 设置API密钥和模型:
# In .env file: GEMINI_API_KEY=your_api_key_here GEMINI_MODEL=gemini-2.0-flash-001重要提示: 使用
gemini-2.0-flash-001,gemini-1.5-flash,或gemini-1.5-pro用于稳定的函数调用支持。实验gemini-2.0-flash-exp该模型不支持使用googlesearch调用函数。看 故障排除.md 了解详情。 - 复制
故障排除
如果您遇到以下错误 Tool use with function calling is unsupported,请看 故障排除.md 详细解决方案包括:
- 模型兼容性矩阵
- 如何切换到稳定型号
- 没有google_search的替代配置
使用流程示例
-
开球
You: Hi StudyBuddy, I (alice123) want help with photosynthesis.- 协调员捕获
student_id,主题,话题。 - 转账至
knowledge_assessor,采访学习者并致电update_student_profile.
- 协调员捕获
-
解释
explanation_agent获取记忆条目并提供风格一致的课程(视觉/语言/实践)。
-
练习
quiz_generator生成JSON测验,收集结构化答案,调用grade_quiz_session,并记录精通。
-
资源与进展
resource_finder分享策划的文章、视频或互动实验室。- 协调员来电
progress_tracker_tool显示掌握百分比、薄弱环节和下一步建议。
测试
pytest
测试涵盖了自定义工具(评分、进度、内存更新)和核心助手。在纯ADK模式下运行时,您还可以添加类似于Agent Shutton的集成测试 tests.test_agent.
演示场景
-
新主题:光合作用
- 知识评估将学生设置为中级视觉学习者。
- 解释代理使用图表和类比。
- 测验生成器发出5个混合格式的问题并对其进行评分。
- 资源查找器推荐最近的生物学视频和实验室。
-
进度检查:数学
- 用户要求“我的数学进步”。
- 协调员调用
progress_tracker_tool每个主题,表面掌握统计数据(例如,代数90%,微积分40%),并建议下一步行动。
未来的增强功能
- 间隔重复安排测验提醒。
- 游戏化(XP、条纹、徽章)与学习时间日志相关联。
- 为导师或家长提供可导出的进度报告(PDF/CSV)。
- 通过语音转文本/文本转语音的语音接口。
- 将内存中的存储体与Firestore/Spanner交换以实现持久性。
Kaggle提交说明
- 标题: StudyBuddy AI-个性化学习助手
- 字幕: 个性化教育的自适应多智能体系统
- 写提纲:
- 问题:通用材料浪费时间。
- 解决方案:基于ADK的多代理导师+记忆库+自定义工具。
- 价值:适应性解释、有针对性的测验、实时资源。
- 技术:ADK树、Gemini模型、FunctionTool集成、InMemorySessionService。
- 影响/未来:可扩展的辅导,为代理引擎/云运行部署做好准备。
参考
- Agent Shutton(ADK参考设计): https://github.com/cloude-google/agent-shutton#
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。