赛道:【学习工作赛道】
1. Demo 简介
一句话介绍
学策 AI Coach 是一个面向高中生的 Web 学习系统,希望把“提问、错题录入、知识点诊断、针对性练习和学习记录”放进同一个持续可用的学习空间。
我想做的不是一个只负责给答案的 AI 聊天框,而是一个能陪学生把一次不会、一道错题,逐步转化为明确薄弱点和下一步学习行动的 AI 学习教练。
配图 1:产品定位与整体入口。
面向谁
核心用户是高中生,尤其适合以下场景:
-
作业或考试后积累了很多错题,却不知道真正错因的学生;
-
做了大量练习,但同类题仍然反复出错的学生;
-
需要围绕导数、受力分析、化学反应等薄弱专题集中突破的学生;
-
希望把个人错题、讲义和题库逐步沉淀为专属学习资料的学生。
当前 Demo 已跑通的核心功能
1)统一学习空间与连续对话
系统已经完成学习主界面、学习灵感入口、对话创建、历史对话展示与继续提问。学生可以围绕“错题整理、英语口语、知识点总结、学习计划”等任务发起学习对话,并在同一账号下继续之前的学习过程。
这一步解决的是传统 AI 对话“问完即走”的问题:学习不是一次问答,而是需要保留上下文、反复练习和持续复盘。
配图 2:学习主界面与历史任务。
配图 3:连续对话界面。
2)真实可运行的图片题目结构化解析
题库后端已经接入阿里云百炼工作流。用户提交一个或多个公网题目图片链接后,系统会创建 UUID 异步任务,调用百炼识别题目,并把返回内容解析成结构化 JSON。题干、题型、选项、子题、Markdown 和 LaTeX 内容可以被统一存储和渲染。
当前链路为:
题目图片 -> 异步解析任务 -> 阿里云百炼工作流 -> 结构化 JSON -> MySQL -> Markdown/LaTeX 题目页
系统支持单次最多 10 张图片、任务状态查询、失败重试、历史任务查看和可分享的结果页面。当前线上示例已经成功从一张图片中解析出 2 道化学题。
配图 4:图片解析任务控制台。
配图 5:结构化题目结果与公式渲染。
3)账号安全与订阅用量底座
为了让学习记录能够真正长期保存,而不是停留在临时页面,我还完成了独立账号系统和订阅系统:
-
支持邮箱验证码、密码、Passkey 通行密钥三种登录方式;
-
支持个人资料、学段、学校和头像管理;
-
使用统一登录态保护学习页面,并对禁用账号进行实时拦截;
-
支持社区版、Plus 版、Pro 版套餐,以及积分余额、累计消耗、日均用量和明细记录;
-
后端实现 CSRF、PDO 预处理、登录限流、Bcrypt 密码存储和权限校验。
这些能力不只是“商业化页面”。对个性化学习产品来说,统一身份、数据归属、用量记录和权限安全,是形成长期学习画像的基础。
配图 6:订阅方案与积分体系。
配图 7:用户中心界面。
2. Demo 创作思路
灵感来源
高中学习中经常出现一种情况:学生看懂了解析,却没有真正掌握方法,换一道题仍然不会。传统题库擅长按章节提供大量题目,拍照搜题擅长快速返回答案,但它们往往没有继续追问:
-
这道题为什么错?
-
是知识点没理解、条件没读全,还是方法选择错误?
-
下一道应该练原题同构题、反向题,还是迁移题?
-
一周后,这个薄弱点是否真的改善?
因此,我把项目的核心目标定义为:不让 AI 替学生完成题目,而是帮助学生知道自己哪里不会,以及接下来应该怎样练。
我想解决的问题
-
错题无法沉淀。 手工整理费时,学生往往只抄答案,没有记录错因和知识点关系。
-
练习缺少针对性。 固定题库很难根据个人历史错误动态决定下一道练什么。
-
学习资料彼此割裂。 对话、错题、讲义、练习和计划散落在不同工具里,无法形成连续记录。
-
AI 容易变成答案机器。 如果只追求一次回答正确,反而可能削弱学生独立思考和迁移能力。
为什么选择这个方向
我没有先堆叠很多看起来丰富的功能,而是先完成一条可验证的基础链路:
统一账号进入学习空间 → 发起并保留学习对话 → 把题目图片转换为结构化数据 → 为后续错因诊断和变式练习提供题库基础 → 用订阅积分记录真实使用成本。
当前 Demo 已经完成这条链路的产品界面和基础系统,其中图片题目解析为真实百炼工作流调用。下一阶段会把解析后的题目直接送入对话诊断,根据学生回答生成同构题、反向题和迁移题,并持续更新个人薄弱点画像。
我希望最终形成的不是“更快给答案”的工具,而是一个能让学生看见自己学习路径的系统。
3. Demo 体验地址
学习主空间+账号系统+订阅系统
访问后会进入统一账号系统,支持邮箱验证码注册/登录,也支持密码和 Passkey 登录。
图片题库解析控制台
已完成的题目解析示例
技术栈
PHP 8.2 + MySQL 8 + 原生 JavaScript + Material Design 3 + 阿里云百炼工作流
4. TRAE 实践过程
这次开发不是让 TRAE 一次性生成一个静态页面,而是把项目拆成账号、学习空间、题库解析、订阅用量四个可独立部署的子系统,再逐步完成接口和登录态整合。
阶段一:让 TRAE 先理解项目,再拆解产品结构
我先让 TRAE 阅读已有目录、页面和样式,梳理当前架构,再围绕高中生学习场景设计主界面和对话界面。TRAE 将需求拆成统一导航、学习灵感、历史对话、账号资料、题库入口和订阅状态等模块,避免只做一张无法扩展的展示页。
关键任务示例:
先了解项目当前结构和已有文件,再设计学习展示首页;界面遵循 Material Design 3,并为题库、笔记、每日一练和学习圈预留统一入口。
配图 8:TRAE 分析账号项目并生成界面实现。
阶段二:用 TRAE 构建真实题库解析链路
题库系统是开发中最复杂的一部分。我让 TRAE 分阶段完成百炼 API 客户端、任务数据表、图片链接校验、异步任务、返回 JSON 兼容解析、MySQL 事务写入、结果渲染页、一键安装页和调试页。
百炼返回内容可能是数组、代码围栏,也可能嵌套在 output.text -> timu 中。TRAE 帮助我把这些返回形式统一解析,再按 question_id 编组和自然排序,最终生成可继续被学习系统使用的结构化题目数据。
关键任务示例:
创建阿里云百炼 API 调用服务、JSON 解析与任务管理类、上传和查询 API、MD3 前端展示、一键安装与一键调试页面,并验证完整链路。
配图 9:TRAE 执行题库后端任务,完成 API、解析、任务管理与界面。
阶段三:联调账号、学习页与订阅系统
整合旧账号代码时,本地出现过 Call to undefined function isLoggedIn() 的 Fatal error。问题来自旧页面直接依赖历史鉴权函数,而新模块使用了不同的账号结构。
我和 TRAE 一起定位调用链后,将鉴权统一到 account_guard.php:学习模块不再直接查询账号数据库,而是只依赖 guard 返回的用户字段;订阅系统也通过 UID 适配器查询套餐和积分。这样既解决了错误,也减少了不同子系统重复实现登录判断的问题。
配图 10:开发中发现并定位旧鉴权函数错误。
这段过程让我感受到 TRAE 最有价值的地方,不只是生成代码,而是能在一个真实、多目录、有历史代码的项目里持续阅读上下文、拆任务、执行、测试并协助定位集成问题。
关键 Session ID
以下三段关键任务分别覆盖账号与界面体系、学习系统整合、题库解析与联调:
.3396828095592128:140abb98c1cfca375989d7c6458356e4_6a4eecc13844bb6a7df83cc0.6a4eee0f3844bb6a7df83cc3.6a4eee0e8d20c098a1772111:Trae CN.T(2026/7/9 08:40:47)
.3396828095592128:aaaf03dd589379edeea15e2c1c2e2bf1_6a4eecc13844bb6a7df83cc0.6a56f04447d88576517083f5.6a56f04386f60e0741dac2d5:Trae CN.T(2026/7/15 10:28:20)
.3396828095592128:841d94c4f983882e799f36ac19f173d8_6a56f0c947d885765170842f.6a56f0f247d8857651708431.6a56f0f1da75f83ee066bace:Trae CN.T(2026/7/15 10:31:14)
5. 当前完成度与下一步
当前已完成
-
学习主界面、学习灵感和历史对话界面;
-
对话创建、读取、删除与继续提问的 API 契约;
-
真实接入百炼的图片题目异步解析系统;
-
结构化 JSON 存储和 Markdown/LaTeX 结果渲染;
-
邮箱验证码、密码、Passkey 三种账号登录方式;
-
用户资料、权限状态和统一登录保护;
-
订阅套餐、积分余额、用量明细和后台管理基础能力。
下一步计划
-
将题目解析结果直接同步到学生错题本;
-
让 AI 通过追问判断知识缺口、审题错误和方法错误;
-
根据错因生成同构题、反向题和迁移题;
-
用历史正确率和复习间隔更新个人薄弱点画像;
-
增加流式回答和数据库持久化对话,形成完整的长期学习闭环。
6. 报名帖链接
我希望通过学策 AI Coach,让 AI 在学习场景中承担的角色从“答案生成器”变成“学习过程的组织者”:帮助学生看清问题、留下过程、安排下一步,并最终建立可以持续进步的个人学习路径。














