ThinkCanvas
Case Study · AI 教育
汪炜翔 · 个人项目

ThinkCanvas · 口袋里的 AI 教师

个人项目:「边讲边画」的 AI 教师,AI 流式讲解同时实时生成数学画板、Mermaid 流程图与结构化笔记;V2.0 升级学习闭环,让 AI 从"失忆的答疑工具"变成"认识学生的 AI 教师"。

8章
PRD 规范结构
7
Sprint 交付
2周
MVP 从 0 到 1
01
产品背景
行业痛点
  • 碎片化:辅导、解题、出题、复习被拆散在不同工具里,缺乏连贯学习闭环。
  • 只给答案,不教思考:大量产品没有解决学生"会"和"懂"的核心问题。
  • 无个性化闭环:缺少「诊断盲区 → 生成练习 → 动态调难度」的三步闭环。
MVP 验证出的结构性短板
MVP 已跑通「边讲边画」,但每次会话都是"失忆的陌生人":学生上次学到哪、哪里没懂,AI 一概不知。V2.0 的目标是把 ThinkCanvas 升级为认识学生的学习闭环系统
02
学习闭环(V2.0 核心)
01

学生档案

知识点提取 + 掌握度隐式推断,注入新会话让 AI 感知学生水平。

02

错题本

消息星标收藏、按知识点分组、复习与标记已掌握。

03

知识库

笔记采纳入口、快照写入,与档案共用统一知识点命名空间。

04

学习进度

会话统计 + 待巩固知识点复习入口。

03
Agent 能力设计
AI
格式即工具(Format-as-Tool)

不使用传统 function-calling,Agent 通过在输出中书写结构化代码块来"调用"工具,由客户端 BlockParser 状态机实时解析成白板动作——流式渲染无缝、零函数注册开销、对任意 OpenAI 兼容模型通用。

工具调用格式用途
plan<plan>...</plan>私有推理块
ggbscript```ggbscript[id;title]GeoGebra 数学画板
mermaid```mermaid[id;title]流程图 / 思维导图
note```note[id]页面要点笔记
04
敏捷交付
7
Sprint 0-6 + 收尾轮
完成
Sprint 0 · 基础数据层
四表 + v2 迁移 + DAO/Repository 统一降级 + 知识点命名空间
完成
Sprint 1-2 · 学生档案 + 档案注入
掌握度双向升降 + locked 免疫;ProfileSummarizer 摘要注入系统提示
完成
Sprint 3-5 · 错题本 + 学习进度 + 知识库
星标收藏、复习、已掌握→档案锁定;统计视图;笔记采纳与知识库
完成
Sprint 6 + 收尾 · 集成与发布准备
E2E、命名空间一致性、隐私审计;遗留 lint 清零,全量测试通过
05
取舍与复盘
把联网方案改成本地的:识别隐藏假设

需要为 Flutter 移动端找函数图像可视化渲染方案,目标用户是学生,必须纯本地运行、不能依赖联网/翻墙。

先深度体验多款竞品(ThinkTutor、ChatTutor 等),从支持图形类型、渲染效果、集成难度三维度对比,选定 ChatTutor——支持多种图像转换且效果最好;再拉取源码验证 Dart 转译可行性,确认可行后执行转译。

结果发现原方案依赖外部联网库(需翻墙),对学生用户完全不可用。于是做架构决策:放弃网络依赖,改为纯本地实现,反复开发测试迭代,最终在 Flutter 端完成本地函数渲染。

复盘:选开源方案不是"拿来就用"——真正的决策在选定之后:识别隐藏假设(联网、特定环境),判断与用户场景是否兼容。最好的方案 ≠ 最适合的方案。

06
产品展示

Figma 高保真页

ThinkCanvas 主页高保真设计稿(作品集展示用途,制作中)。
Figma 设计稿
制作中 · 后续补充
Figma 链接(待补充)

在线试玩 · 可交互原型

375×812 手机原型 · 点击手机内元素体验完整流程

新窗口打开 ↗
07
项目文档