101
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 202601福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践团队作业——种子队选拔、团队展示及选题 |
| 这个作业的目标 | 确定队名与选题,用 NABCD 说明历阶要做什么,展示队员,并写明绩效考核办法 |
| 其他参考文献 | 《构建之法》关于团队投入与绩效管理;py-fsrs;Mem0;trafilatura;Docling |
队名是 历阶。
历阶,就是顺着台阶一级级上去,不跨步。项目全称是 历阶 · Helix。Helix 是螺旋楼梯:人在往上走,转一圈还会再次经过没学完的那一页,只是比上次高了一级。自学,需要按照可执行的、精细分析的规划和检索后的有效资料沿着Bloom学习认知阶梯一步步往上走,按照记忆和认知的科学方法体系,历阶而上。
“千里之行,始于足下;学而时习,历阶复来。”
历阶是一支来自各个不同班级的八人队伍,分别擅长产品设计、前端开发、后端和测试,每个成员都有各自擅长的技术,优势互补,互帮互助。结合我们挖掘到的关于自学效果方面的痛点和切实需求,通过小组成员的积极讨论,最终确定了我们的选题,并查阅资料来支撑我们选题的设计和技术栈选择。
![]() | ![]() |
历阶是给自主学习者用的学习规划。它不负责替人把一门学问一次性学完,而是把“我想学会这件事”收成今天排得下的下一级,并且让没学会的那一页在该复习的时候自己回来。
关系型在这里有两层。一层是人和每一页材料:标过还熟还是还糊,下次还认得。另一层是一个陪伴学习的角色。它记得学习偏好、进度和习惯,用这个人听得懂的方式把下一级和复习日说出来。角色的话由第三方对话模型生成,记住的事实来自 Mem0。它不能改甘特图,也不能自己指定复习日。
假设有人输入:“掌握 Rust 异步编程”,并附上官方文档的链接。历阶不会返回一份写着十周安排、里面夹着打不开的网址的长文。它会走完下面这一单:听懂领域、当前水平和已有偏好;只生成检索词,再去实网里找真链接;把网页或 PDF 读成正文,读不出来的不进入方案;按认知阶梯切成 4 到 8 步;检查有没有跳级、死链和空正文;接到还没学完的计划后面,画进同一张甘特图。她若把第一步标成“还糊”,若干天后看板上会写明:你当时把这一页标为还糊,按遗忘曲线,今天该再看一遍。日期由 FSRS 算出,角色只把这句话说出来。
第二次打开时,已经会的部分不再重排。甘特图上延续的是同一段进展。
自学经常停在四个具体的地方。
目标只有一个大词。“掌握 Rust 异步编程”“把微积分补到能做题”,话是完整的,台阶是没有的。顺序一倒,第一天就被要求做一个完整系统,计划当天就废了。
计划好看,材料是空的。直接让模型写学习清单,它常常顺手编出已经失效的网址。点进去是 404,或者打开了也只是目录,正文没有进计划。
好几件事挤在同一天,看不出哪天会撞车。旧计划还没做完,新目标又从今天排起。没有一张能看见全部学习线的甘特图,负荷一满,人就放下。
下一次又变成陌生人。系统不记得上一页被标成还熟还是还糊,也不记得这个人习惯怎么学,于是把已经会的和还不会的重新混成一张新清单。
所以需求不是再给一个通用学习助手,而是:把自己安排学习的人,把一个模糊目标变成可执行的下一级;这一级必须站在读得到的资料上;全部步骤要落在一张甘特图上;这一页和人的学习偏好要留下来,并在快忘掉之前排回日程。
历阶按“下一单”规划。输入是一句目标,可选附带网页或 PDF。输出是一组子任务,每条有认知级别、建议时长、对应正文和复习日,并落在一张不互相重叠的甘特图上。陪伴角色负责把结果说清楚,不负责另写一份计划。
对话模型只做它适合做的事:判断领域和当前水平,把正文切成符合认知顺序的小步,写出检索词,再按 Mem0 里已有的偏好,用陪伴角色的口气说明这一步。它不准直接写网址,也不准随口指定哪一天复习。链接是否还活着、正文是否读得出来、复习日落在哪一天、甘特图怎么排,都由程序完成。
流水线是七步。前四步产生学什么:意图解析,两阶段检索,正文读入,认知阶梯。后三步产生哪天学、何时再看:可行性核查,全局排期,关系回返。
检索先产出关键词,再由 Tavily 在官方文档、课程站点、论文和仓库里找真链接,并做存活、域名和时效检查,标成 Verified 或 Search Only。网页交给 trafilatura,PDF、Word、PPT 交给 Docling。阶梯沿识记、理解、应用、分析、评价、创造排列,通常 4 到 8 步。发现跳级、死链、没有正文时,退回修订。新的一单从已有未完成计划的末尾接上。Mem0 记住“还熟 / 还糊”、已经会的部分,以及学习偏好和进度。py-fsrs 按 FSRS 计算下一次出现的日期。
访客可以不注册先走完一单。决定注册时,已有任务和已经记下的偏好在同一次数据库事务里并入正式账号。
技术选型是 Next.js、React、TypeScript、PostgreSQL。检索在密钥不可用时按其他搜索接口回退;都不可用时,降级为可点击的检索词,而不是编造链接。陪伴角色调用第三方对话模型,只根据 Mem0 里已有的事实说话。
使用之前,学习者面对的是一句大目标和一串可能点不开的建议。使用之后,他在甘特图上看到今天排得下的下一级,旁边有读得进的正文,能看见和其他学习线有没有撞在同一天。看板上写着这一页为什么今天回来,陪伴角色按他的习惯把这句话说出来。
已经标过还熟的部分不会再占掉新的一天。还糊的那一页不会被下一张新计划盖掉。复习不是“过三天再提醒你一下”的固定口令,而是根据这个人对这一页的标记算出来的日子。
对团队自己,这学期每个想学一门技术的人,都可以用历阶把目标排进甘特图上真实的一周,并用自己的标记检验复习日是否说得通。
和待办清单、项目管理工具比。那些工具接收的是已经拆好的任务。历阶接收的是还没拆开的学习目标,并强制按认知顺序排列。甘特图上的每一格都对应认知阶梯上的一级。
和直接让模型生成学习计划比。模型在这里没有写网址的权力,也没有指定复习日的权力,更不能改甘特图。打不开的链接、读不出的正文,不会进入方案。
和只排一次、下次就忘了你的计划比。历阶把关系放在人和每一页上,也放在一个记得你的陪伴角色上。Mem0 留着这一页的进展、学习偏好和总进度,FSRS 决定它何时再来,甘特图决定它出现在哪一天。第二次打开,不是一份从零开始的新计划。
这学期交付一个可以演示的 Web 应用。演示路径固定为:输入一个模糊目标或一份材料,看到检索到的材料、读入的正文、4 到 8 级认知阶梯、一张不重叠的甘特图,以及一条写明原因的 FSRS 复习记录。陪伴角色会按已记住的偏好把这一步说出来。
这学期不承诺任意一句目标都自动变成一整门课。没有正文支撑的级别不会被编出来充数。角色不能越过程序去改排期。产品先给我们自己和身边自学的人用。
在此基础上,把项目发布到开源社区,并通过社交媒体交给第一批种子用户试用,走向公开(go public)。收集他们的使用反馈,再迭代优化体验。
你只要说一句想自学什么,Helix就把模糊的学习目标按布鲁姆认知阶梯拆成下一级,用真实资料撑住每一级,再把没学会的那一页排回复习日。
选题 PDF:【金山文档 | WPS云文档】 历阶-选题说明-新
https://www.kdocs.cn/l/cvWOGTjAsc1h
历阶给自己安排学习的人用,比如这学期想自学一门知识、又不知道从哪一级开始的人。她输入一句模糊的目标(一个月自学英语六级,目标500分)。交回来的是 4 到 8 级认知阶梯、读得进的正文,以及一张不和别的学习线撞在同一天的甘特图。标过还糊的那一页,按 FSRS 写明原因再回来;陪伴角色记得她的偏好和进度。这学期先做成能演示的 Web,给我们自己排进真实的一周。随后发布到开源社区、社交媒体和产品交流社群,交给第一批种子用户试用,按反馈进行迭代优化。
考核鼓励跨角色协作,分阶段同步表现和改进方向,不做期末总账。本方案参考《构建之法》的绩效管理:不以代码行数、工作时间这类“量”衡量贡献,而以任务完成、交付质量与协作贡献为核心。
团队整体成绩统一,由课程给出。个人考核分只换成贡献系数,用来区分组内贡献,不乘进团队总分。八个人乘同一个团队分,组内排名不会变。这次作业全组同一个博客分;之后的作业按贡献度拆个人成绩时,最终算法以课程和助教公布的规则为准。
每个阶段按 100 分计,从对应满分扣,扣完为止。组长和组员用同一张表。
| 分类 | 明细 | 加减分 |
|---|---|---|
| 任务完成率(20) | 本阶段任务全部按期完成 | 20 |
| 每延期 1 项 | −2 | |
| 交付质量(20) | 交付物(代码、文档、原型、报告等)规范、完整、可直接使用、符合需求 | 20 |
| 同一交付物返工累计满 3 次 | −4 | |
| 需他人补全才能使用(自己无法修改),每项 | −2 | |
| 有效工作产出(15) | 依据任务看板与 Git 记录,关键产出达标 | 15 |
| 每缺 1 项关键产出 | −3 | |
| 团队活动(8) | 每日站立会、阶段评审会、技术讨论会全勤 | 8 |
| 无故缺席 1 次 | −2 | |
| 迟到 1 次 | −1 | |
| 文档沉淀(7) | 周报、开发日志、需求文档、测试报告按时提交,格式规范、内容可追溯 | 7 |
| 缺 1 项 | −2 | |
| 逾期 1 项 | −1 | |
| 沟通响应(15) | 群消息、任务评论响应及时,跨角色对接顺畅 | 15 |
| 信息滞后或对接失误,每次 | −2 | |
| 协作配合(15) | 按时配合团队安排,积极回应协作请求,不影响他人进度 | 15 |
| 被其他成员明确反馈不配合,带证据并经组长审核,每次 | −5 |
不扣分:测试岗位发现的缺陷,不计入测试同学自己的返工;需求变更、公共模块改动、代码合并冲突造成的被动返工,不扣分。
扣分只用于基础分覆盖不到的严重行为,不与缺席、返工重复扣。加分合计超过 +5 时,只取分数最高的两项。同一阶段累计扣分不超过 −5,不影响下一阶段起评。
| 分类 | 明细 | 加减分 |
|---|---|---|
| 加分 | 主动攻克项目难点、解决关键阻塞,或提出的方案被团队采纳 | +3 |
| 完成自己的任务后,主动帮助有困难的同学 | +2 | |
| 主动认领无人认领的任务(环境搭建、部署、文档、联调等) | +2 | |
| 提前发现并上报项目风险,避免团队延期 | +1 | |
| 扣分 | 因个人原因导致项目整体延期,或关键里程碑无法按期交付 | −5 |
| 长期失联(超过 24 小时不回复必要消息),导致任务搁置、影响他人进度 | −3 | |
| 隐瞒重大问题(如功能失效、数据丢失)不报告,导致团队返工 | −3 |
四个节点与课程答辩对齐:
阶段得分 = 个人自评 × 25% + 组员互评 × 40% + 组长评分 × 35%。
个人对照标准提交阶段总结和自评。互评去掉 1 个最高分和 1 个最低分后取平均;每一项必须附简短理由,只写“还行”“差不多”的视为无效,不计入平均。组长结合任务完成数据和过程表现给分。结果公示后,成员可在 24 小时内提出复核。
贡献系数 = 个人阶段分 ÷ 组内阶段分的平均。阶段内,绩效分用于排名、任务再分配和个人反馈,帮助识别进度风险、及时调整分工。期末把各阶段分数汇总为个人贡献度参考,随项目成果提交。最终个人得分按课程与助教公布的规则计算。