当前位置: 首页 > news >正文

学习导师:从工具模式到感知模式的整合

📋 本文目录

  • 一、前言

  • 二、整体设计思路

  • 三、学习导师工具链演示

  • 四、学习导师Agent整合实战

  • 五、学习导师系统的核心价值


一、前言

1.1 本节内容简介

想学习Python,但遇到了这些问题:

  • 学完就忘,不知道自己掌握了多少

  • 不知道下一步该学什么,很迷茫

  • 没有人能一直陪着练,遇到问题没人问

  • 想复习的时候,不知道从哪里开始

如果有一个懂你的学习伙伴该多好!

本文展示如何把1-5模块整合起来,构建一个真正懂你的学习导师:

  • 记住你的学习进度

  • 理解你的学习需求

  • 给你个性化学习推荐

  • 定期帮你总结和复习

看完你会明白,基础能力如何整合出一个有温度的智能应用!

1.2 为什么需要个人学习导师?

痛点

解决方案

学完就忘

长期记忆记住你的进度和薄弱环节

不知道学什么

上下文感知给你推荐下一步学习内容

练习不够

工具模式生成练习题和学习卡片

需要总结

总结模式帮你梳理知识点和学习进度

对话沟通

对话管理自然交流,理解你的困惑


二、整体设计思路

2.1 5种能力如何配合?

用户说"我想学Python编程" ↓ 02_对话管理 → 理解需求,建立对话,询问学习目标 ↓ 01_工具模式 → 调用学习规划工具、进度追踪工具 ↓ 04_长期记忆 → 记录学习目标、当前进度、已掌握内容 ↓ 05_上下文感知 → 感知学习阶段,推荐下一步学习内容 ↓ 03_总结模式 → 定期总结学习内容,生成知识点图谱

2.2 与单个模块的区别

维度

单个模块

整合后的学习导师

运作方式

孤立工具

完整闭环系统

响应方式

被动响应

主动引导学习

记忆能力

短期对话

长期学习记忆

目标用户

技术开发者

普通学习者


三、学习导师工具链演示

3.1 完整流程

用户输入 ↓ 01_工具模式 → 进度追踪、练习生成、知识卡片 02_对话管理 → 自然对话、意图识别 03_总结模式 → 学习总结、知识点图谱 04_长期记忆 → 学习进度、已掌握内容 05_上下文感知 → 感知阶段、推荐内容 ↓ 个性化输出

3.2 运行演示

cd personal_learning_tutor ../venv_py38/Scripts/python.exe learning_tutor_chain_demo.py

3.3 生成的输出文件

  • output_progress.md- 学习进度记录

  • output_summary.md- 学习总结

  • output_recommendations.md- 推荐内容

  • output_practice.json- 练习题


四、学习导师Agent整合实战

4.1 前置要求

  • 安装并启动 Ollama

  • 拉取模型:ollama pull qwen2.5:3b-instruct

  • 准备好学习环境

4.2 完整Agent代码(简化版)

""" 交互式个人学习导师 - 简化可运行版 直接调用 Ollama API,不依赖复杂框架 """ import requests import json import sys import os # 添加当前目录到路径 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) # 导入我们的学习工具 from tool_1_progress_tracker import progress_tracker from tool_2_knowledge_card import knowledge_card from tool_3_learning_summarizer import learning_summarizer from tool_4_practice_generator import practice_generator from tool_5_recommender import recommender OLLAMA_URL = "http://localhost:11434/api/generate" MODEL_NAME = "qwen2.5:3b-instruct" class LearningTutor: """学习导师 - 简化版""" def __init__(self): print("=" * 60) print("个人学习导师 - 初始化中...") print("=" * 60) # 对话历史存储 self.conversation_history = [] print("[OK] 个人学习导师初始化完成!") print() def call_ollama(self, prompt, max_tokens=300): """调用 Ollama API""" try: response = requests.post( OLLAMA_URL, json={ "model": MODEL_NAME, "prompt": prompt, "stream": False, "options": { "temperature": 0.7, "num_predict": max_tokens } }, timeout=60 ) if response.status_code == 200: return response.json().get("response", "") else: return f"调用出错: {response.status_code}" except Exception as e: return f"连接出错: {e}" def chat(self, user_input): """和用户对话""" print(f"\n用户: {user_input}") # 保存用户输入到历史 self.conversation_history.append({ "role": "user", "content": user_input }) # 构造提示词 prompt = self._build_prompt(user_input) # 调用模型生成回复 print("导师思考中...", end="", flush=True) try: assistant_reply = self.call_ollama(prompt, max_tokens=300) except Exception as e: assistant_reply = f"抱歉,我遇到了问题: {str(e)}" print("\r" + " " * 20 + "\r", end="") # 保存助手回复 self.conversation_history.append({ "role": "assistant", "content": assistant_reply }) print(f"导师: {assistant_reply}") return assistant_reply def _build_prompt(self, user_input): """构造提示词""" # 构建历史对话文本 history_text = "" for msg in self.conversation_history[:-1]: if msg["role"] == "user": history_text += f"学生: {msg['content']}\n" else: history_text += f"导师: {msg['content']}\n" prompt = f"""你是一个友好的个人学习导师。以下是对话历史: {history_text} 学生刚刚说: "{user_input}" 请友好地回应学生,保持对话自然。你可以帮助学生: 1. 规划学习路径 2. 解答学习问题 3. 生成练习题 4. 总结学习内容 5. 推荐下一步学习内容 记住,你是在指导和鼓励学生学习! """ return prompt def get_progress(self): """查看学习进度""" return progress_tracker.invoke({}) def get_summary(self): """查看学习总结""" return learning_summarizer.invoke({}) def get_recommendations(self): """获取学习推荐""" return recommender.invoke({}) def generate_practice(self): """生成练习题""" return practice_generator.invoke({}) def main(): """主函数 - 交互式对话""" print() print("=" * 60) print("个人学习导师 - 交互式对话") print("=" * 60) print() print("指令:") print(" - 直接输入内容与导师对话") print(" - progress - 查看学习进度") print(" - summary - 查看学习总结") print(" - next - 获取下一步推荐") print(" - practice - 生成练习题") print(" - quit - 退出") print() print("=" * 60) # 初始化Agent try: tutor = LearningTutor() except Exception as e: print(f"初始化失败: {e}") print("\n提示: 请确保Ollama正在运行,并且已拉取qwen2.5:3b-instruct模型") print("运行命令: ollama pull qwen2.5:3b-instruct") return print() print("开始学习吧!") print() while True: try: user_input = input("> ").strip() if not user_input: continue # 处理特殊命令 if user_input.lower() in ["quit", "exit"]: print("\n再见!加油学习哦!") print("\n" + "=" * 60) print("学习总结:") print("=" * 60) print(tutor.get_summary()) break if user_input.lower() == "progress": print("\n" + "=" * 60) print("学习进度:") print("=" * 60) print(tutor.get_progress()) print() continue if user_input.lower() == "summary": print("\n" + "=" * 60) print("学习总结:") print("=" * 60) print(tutor.get_summary()) print() continue if user_input.lower() == "next": print("\n" + "=" * 60) print("下一步推荐:") print("=" * 60) print(tutor.get_recommendations()) print() continue if user_input.lower() == "practice": print("\n" + "=" * 60) print("练习题:") print("=" * 60) print(tutor.generate_practice()) print() continue # 正常对话 tutor.chat(user_input) except KeyboardInterrupt: print("\n\n再见!") break except Exception as e: print(f"\n发生错误: {e}") if __name__ == "__main__": main()

4.3 运行Agent

cd personal_learning_tutor ../venv_py38/Scripts/python.exe interactive_learning_tutor.py

4.4 Agent特殊命令

  • progress- 查看学习进度

  • summary- 查看学习总结

  • next- 下一步推荐

  • practice- 生成练习题

  • quitexit- 退出

4.5 真实交互演示

============================================================ 个人学习导师 - 交互式对话 ============================================================ 指令: - 直接输入内容与导师对话 - progress - 查看学习进度 - summary - 查看学习总结 - next - 获取下一步推荐 - practice - 生成练习题 - quit - 退出 ============================================================ [OK] 个人学习导师初始化完成! 开始学习吧! > 你好,我想学Python编程 学生: 你好,我想学Python编程 导师: 你好!欢迎开始你的Python学习之旅!Python是一门很有趣且实用的编程语言。 让我先了解一下你的情况:你之前有编程基础吗?你的学习目标是什么(比如想做网站、数据分析、还是人工智能)? > 没有基础,我想做一些自动化脚本 学生: 没有基础,我想做一些自动化脚本 导师: 太好了!自动化是Python的强项,非常适合初学者! 根据你的情况,我建议这样的学习路径: 1. 首先学习Python基础语法(变量、数据类型、条件语句) 2. 然后学习函数和模块 3. 最后学习文件操作和自动化库 你想先从哪里开始? > 先学基础语法吧 学生: 先学基础语法吧 导师: 好的!那我们开始学习Python基础语法! 首先,你需要了解: 1. 变量和数据类型(数字、字符串、列表) 2. 条件语句(if/elif/else) 3. 循环(for/while) 需要我帮你生成一些基础练习题吗? > progress ============================================================ 学习进度: ============================================================ 当前学习阶段: Python入门 已掌握内容: 无(刚开始) 下一步建议: 学习变量和数据类型 > practice ============================================================ 练习题: ============================================================ Python基础练习题: 1. 声明一个变量name,赋值为你的名字 2. 计算1到10的和 3. 判断一个数是奇数还是偶数 4. 创建一个包含3种水果的列表 > quit 再见!加油学习哦! ============================================================ 学习总结: ============================================================ 本次学习: - 学习目标: Python自动化脚本 - 当前阶段: Python入门 - 进度: 刚开始,需要学习基础语法

五、学习导师系统的核心价值

5.1 对比:传统学习 vs AI学习导师

维度

传统学习

AI学习导师

个性化

❌ 通用教材、视频

✅ 你的专属学习路径

长期记忆

❌ 靠自己记笔记

✅ 自动记住学习进度

进度追踪

❌ 手动记录、整理

✅ 自动追踪、可视化

复习提醒

❌ 靠自己规划

✅ 主动提醒复习

练习反馈

❌ 需要找老师批改

✅ 即时练习、即时反馈

学习动力

❌ 需要很强自律

✅ 有陪伴、有鼓励

5.2 具体价值场景

场景1:初学者入门规划
  • 问题:不知道从哪里开始

  • 解决:根据目标规划完整路径

场景2:技能提升路径
  • 问题:学了后面忘前面

  • 解决:定期总结、复习提醒

场景3:考试复习系统
  • 问题:知识点太多,抓不住重点

  • 解决:生成知识图谱、重点标记

附录:系列目录

Agent的工具模式

Agent的对话模式

Agent的总结模式

Agent的记忆模式

Agent的感知模式

http://www.jsqmd.com/news/908161/

相关文章:

  • LogAnalyzer实战:除了看系统日志,我这样用它监控Nginx访问和MySQL慢查询
  • Haskell与TensorFlow:用函数式编程构建安全可靠的AI系统
  • 视频隐写术实战:位置与精度如何决定信息隐藏的成败
  • Java(分支结构)
  • 别再凭感觉选电阻了!手把手教你计算MOSFET驱动电阻的功耗与封装(附Excel计算模板)
  • 魔百盒M401A安装Home Assistant Supervisor实录:我踩过的那些坑与终极解决方案
  • 定点乘法避坑指南:DSP和嵌入式开发中精度丢失与溢出处理的实战经验
  • Web安全实战解析与核心技术落地指南
  • AI赋能客户体验:从智能客服到预测性服务的实战指南
  • 从CoinGecko拆解数据产品架构:工程实践与商业模式深度分析
  • 别再混淆了!用Python的sklearn手把手教你算多分类的Precision、Recall和Accuracy
  • 算法练手题目:Cable master
  • 神仙免费云服务器 - 阿贝云
  • 164-基于Python的甜点销售数据可视化分析系统
  • 2026 夹层锅、蒸汽夹层锅、不锈钢封头、行星炒锅、食品杀菌锅、压力容器反应釜厂家综合榜单:用料、工艺、耐用度多维度行业分析 - 海棠依旧大
  • Gemini实战:用AI写CI/CD脚本,提升研发效能
  • 别再让CPU扛下所有:手把手教你用ethtool配置网卡TSO/GRO,网络性能飙升指南
  • ♪苍穹外卖♪Day2 | 项目日记
  • Hermes Agent 完全使用指南:从安装到多平台部署的全流程教程
  • 战略落地难?试试分拆对
  • 别再让GUI卡死了!用PySide6的QThread+QMutex实现一个带暂停/恢复功能的下载器
  • 自动语音识别技术原理与实战:从MFCC到端到端模型
  • 线性回归假设深度解析:从理论到实践的完整诊断与修正指南
  • 智能文档信息提取:OCR与AI技术融合的实战指南
  • 项目介绍 MATLAB实现基于SVM-LSTM支持向量机(SVM)结合长短期记忆网络(LSTM)进行回归预测(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我
  • PyTorch实战:手把手教你用L1范数给CNN模型‘瘦身’(附完整代码与可视化)
  • 别再手动复制了!微信小程序+vantUI组件库,用npm一键安装的保姆级避坑指南
  • 别再模拟SPI了!STM32 CubeMX配置硬件SPI驱动1.28寸屏(GC9A01)保姆级教程
  • Claude Code + GLM-5 深度赋能测试:开发 8 大 Skill 构建 AI 测试助手集群
  • AI赋能商业社交:从精准连接到智能维护的完整指南