【教师节VibeCoding】猫咪老师:一个懂老师当下状态的陪伴式工作台

静态地址(部分功能):猫咪老师

一、背景

一开始我想做的东西很朴素:一个课表工具,帮老师更省心地排课、调课。

几轮和 AI 沟通需求下来,我发现有两个词反复出现,还挺扎眼的——「精力透支」和「生活冲突」。老师缺的其实不是一张更漂亮的课表,而是有人(或某个东西)知道他今天已经连上三节课、下午还有班会、晚上要回家长消息。

于是我逐渐改变了最初的想法:现在不是工作台很火么,不应该做「教师版日历」,而应该做一个懂老师当前工作状态的陪伴式工作台,猫咪老师的雏形就是这么来的。

定位上我刻意做了减法:

  • 不去取代现有复杂的教育排课系统;
  • 而是把 Agent 接入工作台,通过自然语言对话帮老师记录事项、追踪日程;
  • 同时提供「陪伴」——一个水墨风田园猫形象的猫咪助教,守在侧边栏。

二、实践过程

2.1 任务拆解

我没有一上来就让 AI 写页面,而是先把产品聊清楚,再让代码落地,整体分四步:

  1. 需求对话:和对话模型多轮讨论,把「课表工具」聊成「陪伴式工作台」,收敛出 PRD;
  2. PRD 喂给 TRAE Code:创建 Goal,选能力最强的模型执行主体开发;
  3. Goal 中断式纠偏:跑偏就暂停,修 Prompt / 修环境,再继续 Goal;
  4. 降本收尾:主体定型后切换轻量模型做快速小调整。

2.2 用了 Code 哪些能力

  • Goal 模式:核心生产力。把 PRD 整体交给它长自主执行,「库库干」,我只在关键节点介入;
  • 模型组合策略:主力开发用最强模型保证方向正确;后期用 GLM-5.3-FLASH 做高频小改动,积分消耗立降一个量级;
  • Agent 自主排障:网络下载超时、工具调用失败等环境问题,多数由它自己换方案解决;
  • 多轮上下文延续:暂停-修改-继续 Goal 的循环里,之前的工作成果都能保住,不用推倒重来。

2.3 关键操作过程

整个流程大致是这样的:

对话聊需求 → 产出 PRD → 喂给 TRAE Code 建 Goal
   → 最强模型执行开发
   → 遇到问题:暂停 Goal → 人工介入修改 → 继续 Goal
   → 初版定型 → 切换 GLM-5.3-FLASH 快速微调 → 交付

几个关键节点的处理方式:

  • 思考方向不对:直接暂停 Goal,把纠偏要求写清楚(比如课表列宽必须等宽、代课只用徽章区分不加文字后缀这类细节),再恢复执行;
  • 网络下载失败:模型文件从 GitHub 下载超时,Agent 自己切到国内镜像手动下载完成;
  • 生图工具无法调用:工具链路不通时暂停处理,图片类资产改由本地脚本 + rembg + U2Net 模型抠图、图层合成的流程兜底产出。

我的经验是:Goal 模式的「暂停」是我老命的救命键。它让长任务开发从「祈祷一次跑对」变成了「分段纠偏、稳定收敛」。

2.4 踩过的坑

  • 生图功能无法调用:一开始在Code里面生图老是失败,于是我回到TraeWork里面,让他把生图插件的路径告诉我,我再喂给TraeCode让他用那个插件,就可以正常使用Seedream作图了。

  • 热更新缓存错乱:开发过程中页面行为诡异,import 莫名丢失、.next 缓存报错。最后定位是热更新缓存问题,清缓存重启服务才恢复——AI 写代码很块,但环境类问题还是得靠人来定位。

  • 抠图不干净:猫咪形象第一版抠图带着一圈米白色描边,耳朵和尾巴还有缺失。后来学会了区分「外部背景」和「内部孔洞」,重跑 U2Net 抠图才得到干净的轮廓,白色毛发区域差点被误抠。

  • 模型下载超时:U2Net 模型从 GitHub 拉取一直超时。好在 Agent 自己切到国内镜像手动下载完成,没耽误整体进度——这也是我对 Agent 自主排障能力印象最深的一次。

  • 视觉验收不过关:AI 生成的猫咪形象总差点意思,不是风格不对就是形态不完整。最后把约束写死——「水墨风田园猫、按外形轮廓分层生成、禁用橘猫」,多轮迭代才收敛到满意的效果。

2.5 技术架构

整体分层

┌─────────────────────────────────────────┐
│  前端展示层  Next.js (App Router)        │
│  水墨风 UI / 侧边栏 / 课表视图 / 对话流   │
├─────────────────────────────────────────┤
│  服务层      Koa                        │
│  API 路由 / 会话状态 / 业务逻辑          │
├─────────────────────────────────────────┤
│  Agent 能力层                           │
│  自然语言解析 / 事项记录 / 日程追踪       │
├─────────────────────────────────────────┤
│  资产与工具层                           │
│  rembg + U2Net 抠图 / 图层合成 / 静态素材 │
└─────────────────────────────────────────┘

几个关键技术决策

  • 前后端分离:Next.js 承载页面与交互,Koa 承载 API 与状态,避免耦合在一坨里;
  • Agent 直连工作台:不做独立聊天页,猫咪助教直接长在工作台侧边栏,对话即操作;
  • 角色资产工程化:猫咪形象按「U2Net 抠图 → 白色轮廓层 → 透明前景层」双图层像素级对齐合成,保证轮廓干净、形态完整;
  • 视觉规范约束:全程禁用 emoji,图标统一 stroke 风格 SVG,课表用低饱和水彩色区分学科,保证水墨调性一致。

三、成果展示

猫咪老师 · 主界面(今日工作台)

课表与调课:等宽课表视图,代课用徽章标注,班主任课程教师列做特殊处理。

猫咪助教对话:自然语言记录事项、追踪日程。

班级与学情:了解记录有关教学与学生的情况。

设置与搜索:自定义API以及快速查找


四、创作分享

这个项目做完,我对「AI 工作方式」有三点很具体的感受:

1. 需求阶段的人工投入,比代码阶段更值钱。
真正的转折点不是某段代码写得多好,而是我从「做课表」聊到「做陪伴式工作台」那次认知转变。AI 能高效执行 PRD,但「该做什么」的判断目前仍然只能来自人。花在对话和思考上的时间,回报率远高于改 Prompt 抠细节。

2. 长任务开发的关键是「可中断、可恢复」。
几千积分的开发量不可能一次跑对。Goal 模式最有价值的不是「自主」,而是「暂停键」——方向偏了、网络挂了、工具罢工,都能停下来修,修完接着跑。这有点像带实习生:你不需要盯着每一行代码,但需要在关键节点把方向掰回来。

3. 成本分层是个实用主义策略。
最强模型贵但方向感好,轻量模型便宜但适合打杂。主体开发交给最强模型,定型后的微调交给 GLM-5.3-FLASH,积分消耗立降一个量级。AI 时代的「开发成本」不再只是时间,算力预算管理本身就成了开发技能的一部分。


五、后续计划

目前猫咪老师的前端主体已经基本稳定——界面、交互、视觉调性都定型了,短期内不会大动。接下来的重心会明显后移:

  • 后端能力补齐:现在是「前端先跑起来」的策略,后端还比较薄。下一步要把 API 层认真设计一遍——接口怎么拆、鉴权怎么做、课表和待办数据怎么持久化,让前端的功能真正长在可靠的服务上;

  • 测试体系搭建:功能是 AI 快速堆出来的,稳定性还需要系统性验证。计划补上核心链路的功能测试和回归测试,尤其是课表调课、对话解析这些容易出错的环节,不能每次都靠肉眼验收;

  • 打通飞书:期望能和飞书打通——课表通知、待办提醒、群消息。把猫咪老师和飞书打通后,事项记录和日程追踪就能长在老师每天真实使用的地方,而不是一个孤立的新工具,这也是「陪伴式工作台」这个定位真正成立的关键一步。

这个项目本身是教师节活动的产物,从一次随手的想法,到和 AI 聊出需求,再到亲手把它变成一个能跑的产品,整个过程让我真切体会到:这个时代做一件事情的门槛,从来没有这么低过。不需要多大的团队,不需要多深的工程功底,有一个真正想解决的问题,加上愿意和 AI 反复磨合的耐心,想法就能落地。

如果你也有一个搁置很久的念头,不妨从今天开始试着把它做出来。

最后,祝各位老师教师节快乐——愿每一份「精力透支」都能被看见,愿猫咪老师这样的小工具,能让老师们的工作日多一点从容。