学习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-个性化学习助手*
- 字幕: *个性化教育的自适应多智能体系统*
- 写提纲:
1. 问题:通用材料浪费时间。 1. 解决方案:基于ADK的多代理导师+记忆库+自定义工具。 1. 价值:适应性解释、有针对性的测验、实时资源。 1. 技术:ADK树、Gemini模型、FunctionTool集成、InMemorySessionService。 1. 影响/未来:可扩展的辅导,为代理引擎/云运行部署做好准备。
______________________________________________________________________
参考
- Agent Shutton(ADK参考设计):
______________________________________________________________________
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
