1. 项目概述:chat-paint交互式AI教学工具
作为一名长期从事教育技术开发的工程师,我最近完成了一个很有意思的开源项目——chat-paint。这个工具的核心目标是模拟真实课堂中老师边讲解边板书的教学场景,通过AI实现动态可视化的教学过程。简单来说,它能让AI老师像人类教师一样,在讲解题目时实时在黑板上绘制示意图、标注重点内容。
这个项目有两个主要版本:
- V1版本参考了ChatTutor的双智能体架构,采用教学和绘图分离的设计
- V2版本则借鉴了豆包老师的单智能体实现方式,更接近真实的课堂教学体验
在实际测试中,我发现这种可视化教学方式特别适合小学数学中的线段图、简单几何图形等基础内容的教学。学生可以通过直观的图形变化理解抽象概念,这比纯文字讲解效果要好得多。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心架构与技术实现
2.1 V1版本:双智能体架构解析
V1版本的设计灵感来源于ChatTutor,采用了教学和绘图分离的双智能体架构。这种设计有几个关键优势:
- 职责分离:教学智能体专注于内容生成和教学逻辑,绘图智能体则专门处理可视化表达
- 专业分工:每个智能体可以使用最适合其任务的大模型,比如教学用GPT-4,绘图用Claude
- 容错性强:一个智能体出现问题不会导致整个系统崩溃
具体实现上,我定义了一套DSL(领域特定语言)作为两个智能体间的通信协议。这套语法规范包含以下核心指令:
code复制DRAW_LINE(x1,y1,x2,y2,color) # 绘制线段
WRITE_TEXT(x,y,content,size) # 书写文字
CLEAR() # 清空画布
ANIMATE(element,duration) # 添加动画效果
教学智能体会将讲解内容转换为这些绘图指令,然后由绘图智能体执行。这种设计虽然增加了系统复杂度,但使得两个模块可以独立优化。
2.2 V2版本:单智能体架构优化
在开发V2版本时,我参考了豆包老师的实现方式,改用单智能体架构。这个设计最大的改变是:
- 实时性提升:不再需要智能体间通信,响应速度明显加快
- 资源占用减少:只需维护一个大模型实例
- 交互更自然:更接近人类教师边讲边画的行为模式
技术实现上,V2版本使用Ja
