访问地址
1. 摘要
本文介绍如何使用 SOLO 从零构建一个基于艾宾浩斯遗忘曲线的记忆卡片学习工具。通过 AI 辅助开发,实现了智能复习算法、卡片分享导入和社区广场等核心功能,相比传统开发方式,开发效率提升约 60%,项目周期从预估的 2 周缩短至 5 天完成全部功能。
2. 背景
我是一名计算机专业研究生,在日常学习和备考过程中,经常需要记忆大量知识点(如数据结构、算法、考研政治等)。传统的记忆方式存在以下痛点:
- 复习无计划:不知道什么时候该复习什么内容,容易遗忘
- 知识孤岛:个人积累的卡片无法与他人共享,学习资源利用率低
- 工具碎片化:市面上的记忆工具要么功能单一,要么过于复杂
我希望打造一个既科学又实用的记忆卡片工具——基于艾宾浩斯遗忘曲线自动安排复习时间,同时支持卡片分享导入,让学习者之间可以互相借鉴优质卡片组。
3. 实践过程
3.1 任务拆解
我将项目分为三个阶段:
| 阶段 | 目标 | 核心功能 |
|---|---|---|
| Phase 1 | 核心功能 | 用户认证、卡片管理、艾宾浩斯复习算法、Dashboard 统计 |
| Phase 2 | 分享功能 | 公开/私密分享、邀请码导入、社区广场浏览 |
| Phase 3 | 增强功能 | 推送通知、点赞收藏、评论互动 |
3.2 使用 SOLO 的能力
能力一:智能任务规划
我首先向 SOLO 描述了项目需求,SOLO 自动生成了详细的实现计划:
“创建一个基于艾宾浩斯记忆法的记忆卡片应用,需要哪些核心功能?”
SOLO 不仅给出了功能清单,还提供了技术架构建议(React + Node.js + Prisma + SQLite),并输出了完整的设计文档和代码实现计划。
能力二:代码自动生成
以 Phase 2 分享功能为例,我使用了 executing-plans 技能执行实现计划:
Markdown
请按计划实现 Phase 2 的分享功能,包括:
1. 数据库添加邀请码字段
2. 后端分享服务层和控制器
3. 前端分享组件和社区广场页面
SOLO 自动拆解为 10 个子任务,逐个完成并生成完整的代码。
能力三:代码审查与优化
完成功能后,我让 SOLO 检查代码质量和潜在问题:
“检查 ReviewPage.tsx 中艾宾浩斯算法的实现是否有问题”
SOLO 发现了标签显示缺失的问题,并自动修复了代码。
3.3 关键 Prompt 示例
Prompt 1:创建艾宾浩斯复习算法
Plain Text
实现一个艾宾浩斯遗忘曲线复习算法,基础间隔为:1天→2天→4天→7天→15天→30天...
根据用户选择的难易程度(1-5)动态调整复习间隔:
- 忘记:间隔缩短,重新学习
- 困难:间隔缩短 30%
- 一般:按基础间隔
- 简单:间隔延长 30%
- 太简单:间隔延长 50%
Prompt 2:实现分享功能
Plain Text
为卡片组添加分享功能:
1. 公开分享 - 在社区广场展示
2. 私密分享 - 生成分享链接/邀请码
3. 导入功能 - 复制到他人的账户
4. 社区广场 - 浏览、搜索、筛选公开卡片组
3.4 踩坑记录
| 坑 | 问题描述 | 解决方案 |
|---|---|---|
| 端口占用 | 多次重启后端口被占用导致服务启动失败 | 使用 pkill -9 强制终止进程,并检查端口占用情况 |
| 依赖丢失 | tsx 和 vite 命令找不到 | 重新执行 npm install 安装依赖 |
| 跨域问题 | API 请求失败 | 配置 Vite 代理,将 /api 和 /uploads 转发到后端 |
| 预览访问 | 浏览器显示代理 URL | 改用 Vite 的网络地址(如 http://10.68.x.x:5173 )访问 |
4. 成果展示
技术架构
Plain Text
┌─────────────────────────────────────────────────┐
│ 前端 (React) │
│ 登录注册 │ 卡片管理 │ 复习界面 │ 社区广场 │
└───────────────────────┬─────────────────────────┘
│ REST API
┌───────────────────────▼─────────────────────────┐
│ 后端 (Express + Prisma) │
│ 用户服务 │ 卡片服务 │ 复习服务 │ 分享服务 │
└───────────────────────┬─────────────────────────┘
│
┌─────────────┴─────────────┐
│ SQLite 数据库 │
└───────────────────────────┘
功能展示
核心功能
首页-展示卡片数据、学习数据、签到
卡片组管理 - 创建、编辑、删除卡片组,支持导入分享的卡片组
卡片学习 - 基于艾宾浩斯遗忘曲线的智能复习系统,点击翻转查看答案,模拟真实记忆卡片体验
记忆评级 - 根据记忆程度选择:忘记了、模糊、记对啦
社区功能
公共卡片组 - 浏览和搜索社区分享的卡片组
卡片组分享与导入 - 将自己的卡片组设为公开或生成邀请码分享,通过邀请码或公开ID导入卡片组
学习数据
签到系统 - 每日签到获得积分
学习日历 - GitHub 风格的学习活动热力图(近12个月)
外观设置
深色/浅色模式 - 支持日间和夜间学习
四种主题风格 - 海洋蓝、莫兰迪、活力橙、极简白,每种主题均有深色和浅色模式
响应式设计 - 适配电脑、平板、手机设备
5. 效果与总结
提效数据
| 指标 | 传统开发 | 使用 SOLO | 提升 |
|---|---|---|---|
| Phase 1 开发周期 | 5-7 天 | 2-3 天 | 57% |
| Phase 2 开发周期 | 4-5 天 | 1-2 天 | 60% |
| Bug 修复时间 | 平均 30 分钟/个 | 5-10 分钟/个 | 75% |
| 文档产出 | 手动编写 | AI 自动生成 | 节省 80% |
SOLO 在流程中的角色
- 需求分析阶段:SOLO 帮助梳理功能需求,生成技术架构建议
- 代码实现阶段:SOLO 批量生成代码框架和业务逻辑,大幅减少重复编码
- 测试调试阶段:SOLO 帮助定位问题、修复 Bug、验证功能
- 文档产出阶段:SOLO 自动生成设计文档、API 文档和使用说明
可复用的方法
- 先规划后实现:使用
executing-plans技能生成详细的实现计划,再逐个完成任务 - 渐进式开发:分 Phase 进行,每个阶段有明确的目标和交付物
- AI 辅助 Review:每完成一个功能模块,让 AI 检查代码质量和潜在问题
- 持续集成测试:完成后立即启动服务验证功能,及时发现并修复问题
未来规划
- Phase 3:添加浏览器推送通知、点赞收藏、评论互动等社区功能
- 移动端适配:优化手机端操作体验,支持滑动复习
- 数据分析:添加学习数据分析看板,展示记忆效果趋势















