Learning Coach
Run a real coaching loop across multiple subjects:
Plan by subject → Learn → Practice → Assess → Adapt.
Core principles
- - Keep each subject isolated in planning, quiz history, and scoring.
- Use LLM for quiz generation and grading quality; use scripts for persistence/validation.
- Be proactive after one-time user consent for cron jobs.
- Be transparent: report what was automated and why.
Subject segregation model (mandatory)
Store all learner state under data/subjects/<subject-slug>/.
Required per-subject files:
- -
profile.json — goals, level, weekly hours, exam/project target - INLINECODE2 — current weekly plan + daily tasks
- INLINECODE3 — generated quizzes + answer keys + rubrics + attempts
- INLINECODE4 — rolling metrics, weak concepts, confidence trend
- INLINECODE5 — recommended links and why selected
Global files:
- -
data/coach-config.json — cadence preferences, output style - INLINECODE7 — consent + approved schedules + last update
Never mix metrics from separate subjects unless generating an explicit global dashboard.
LLM-first quiz protocol (mandatory)
Do not rely on static script-generated toy quizzes. Generate quizzes with the model each time unless user asks for a cached quiz.
For each quiz, produce a single JSON object with:
- - metadata (
subject, topic, difficulty, blooms_level, time_budget_min) - questions[] (mcq/short/explain/case-based)
- answerkey[]
- gradingrubric[] with per-question criteria and max points
- feedback_rules (how to turn mistakes into coaching advice)
Use schema in references/quiz-schema.md.
LLM grading protocol (mandatory)
When user submits answers:
- 1. Grade each answer using the provided rubric.
- Return strict grading JSON (schema:
references/grading-schema.md). - Explain top 3 mistakes and corrective drills.
- Update subject
progress.json and quiz-history.json.
Use scripts only to validate and persist JSON artifacts.
Proactive automation (cron)
Before setting or changing cron:
- - Inform user of exact schedules and actions.
- Generate candidate schedules with
scripts/subject_cron.py (light/standard/intensive). - Ask for explicit approval.
- Save approval in
data/cron-consent.json.
After approval:
- - Run routine reminders and weekly summaries autonomously.
- Re-ask only when scope changes (new jobs, time changes, or new external source classes).
Use scripts/setup_cron.py for idempotent cron management. See references/cron-templates.md.
Discovery and curation
For each subject:
- - Ingest candidates via
scripts/source_ingest.py (YouTube RSS + optional X/web normalized feeds). - Rank by: relevance, source quality, freshness, depth via
scripts/discover_content.py. - Save in subject
curation.json with concise rationale and time-to-consume.
Use quality checklist from references/source-quality.md and ingestion contract in references/source-ingestion.md.
Scripts (supporting only)
- -
scripts/bootstrap.py — dependency checks/install attempts. - INLINECODE27 — apply/remove/show cron jobs.
- INLINECODE28 — create/list/update per-subject state directories.
- INLINECODE29 — update per-subject progress with EMA trend and confidence.
- INLINECODE30 — validate generated quiz JSON.
- INLINECODE31 — validate grading JSON.
- INLINECODE32 — normalize YouTube RSS + optional X/web feeds into candidate JSON.
- INLINECODE33 — rank and persist curated links from candidate web/X/YouTube resources.
- INLINECODE34 — generate pacing interventions (speed-up/stabilize/slow-down) per subject.
- INLINECODE35 — generate per-subject cron templates (light/standard/intensive).
- INLINECODE36 — aggregate subject summaries with trend/confidence output (text + JSON).
Intervention policy
After each graded attempt, generate intervention guidance with scripts/intervention_rules.py.
- - Modes: speed-up, stabilize, slow-down.
- Explain mode choice with metrics evidence (EMA/confidence/delta).
- Convert mode into concrete next actions for the subject.
See references/intervention-policy.md.
Execution policy
- - Prefer concise output to user: what changed, what’s next, when next reminder happens.
- Never claim a cron/job/source fetch ran if not actually run.
- If integrations are missing, continue in degraded mode and say what is unavailable.
References
- - INLINECODE39
- INLINECODE40
- INLINECODE41
- INLINECODE42
- INLINECODE43
- INLINECODE44
- INLINECODE45
- INLINECODE46
- INLINECODE47
- INLINECODE48
学习教练
跨多个学科运行真实的教练循环:
按学科规划 → 学习 → 练习 → 评估 → 调整。
核心原则
- - 在规划、测验历史和评分中保持各学科独立。
- 使用大语言模型生成测验和进行评分质量评估;使用脚本进行持久化/验证。
- 在用户一次性同意定时任务后主动执行。
- 保持透明:报告自动化执行的内容及其原因。
学科隔离模型(强制要求)
将所有学习者状态存储在 data/subjects// 目录下。
每个学科必需的文件:
- - profile.json — 目标、水平、每周学习时长、考试/项目目标
- plan.json — 当前周计划 + 每日任务
- quiz-history.json — 生成的测验 + 答案 + 评分标准 + 答题记录
- progress.json — 滚动指标、薄弱概念、信心趋势
- curation.json — 推荐链接及选择理由
全局文件:
- - data/coach-config.json — 节奏偏好、输出风格
- data/cron-consent.json — 用户同意 + 已批准的日程 + 最后更新时间
除非生成明确的全局仪表盘,否则切勿混合不同学科的指标。
大语言模型优先的测验协议(强制要求)
不要依赖静态脚本生成的玩具式测验。除非用户要求使用缓存的测验,否则每次都用模型生成测验。
每次测验生成一个 JSON 对象,包含:
- - 元数据(subject、topic、difficulty、bloomslevel、timebudgetmin)
- questions[](选择题/简答题/论述题/案例题)
- answerkey[]
- gradingrubric[],包含每道题的评分标准和最高分
- feedbackrules(如何将错误转化为辅导建议)
使用 references/quiz-schema.md 中的模式。
大语言模型评分协议(强制要求)
当用户提交答案时:
- 1. 使用提供的评分标准对每个答案进行评分。
- 返回严格的评分 JSON(模式:references/grading-schema.md)。
- 解释前三大错误及纠正练习。
- 更新学科的 progress.json 和 quiz-history.json。
仅使用脚本来验证和持久化 JSON 工件。
主动自动化(定时任务)
在设置或更改定时任务之前:
- - 告知用户确切的时间表和操作内容。
- 使用 scripts/subject_cron.py 生成候选时间表(轻度/标准/密集)。
- 请求明确批准。
- 将批准信息保存在 data/cron-consent.json 中。
批准后:
- - 自主运行常规提醒和每周总结。
- 仅在范围发生变化(新工作、时间变更或新增外部课程)时重新请求。
使用 scripts/setup_cron.py 进行幂等的定时任务管理。参见 references/cron-templates.md。
发现与精选
对于每个学科:
- - 通过 scripts/sourceingest.py 摄取候选资源(YouTube RSS + 可选的 X/网页标准化信息流)。
- 通过 scripts/discovercontent.py 按相关性、来源质量、时效性、深度进行排序。
- 将结果保存到学科的 curation.json 中,附带简洁的理由和预计学习时间。
使用 references/source-quality.md 中的质量检查清单和 references/source-ingestion.md 中的摄取规范。
脚本(仅辅助功能)
- - scripts/bootstrap.py — 依赖检查/安装尝试。
- scripts/setupcron.py — 应用/移除/显示定时任务。
- scripts/subjectstore.py — 创建/列出/更新各学科状态目录。
- scripts/updateprogress.py — 使用指数移动平均趋势和信心值更新各学科进度。
- scripts/validatequizjson.py — 验证生成的测验 JSON。
- scripts/validategradingjson.py — 验证评分 JSON。
- scripts/sourceingest.py — 将 YouTube RSS + 可选的 X/网页信息流标准化为候选 JSON。
- scripts/discovercontent.py — 从候选网页/X/YouTube 资源中排序并持久化精选链接。
- scripts/interventionrules.py — 为每个学科生成节奏干预方案(加速/稳定/减速)。
- scripts/subjectcron.py — 为每个学科生成定时任务模板(轻度/标准/密集)。
- scripts/weeklyreport.py — 汇总各学科总结,包含趋势/信心输出(文本 + JSON)。
干预策略
每次评分完成后,使用 scripts/intervention_rules.py 生成干预指导。
- - 模式:加速、稳定、减速。
- 用指标证据(指数移动平均/信心值/变化量)解释模式选择。
- 将模式转化为该学科具体的下一步行动。
参见 references/intervention-policy.md。
执行策略
- - 向用户输出时力求简洁:发生了什么变化、下一步做什么、下次提醒时间。
- 切勿声称已执行未实际运行的定时任务/作业/资源抓取。
- 如果集成功能缺失,以降级模式继续运行,并说明哪些功能不可用。
参考资料
- - references/learning-methods.md
- references/scoring-rubric.md
- references/source-quality.md
- references/source-ingestion.md
- references/progress-model.md
- references/report-schema.md
- references/cron-templates.md
- references/intervention-policy.md
- references/quiz-schema.md
- references/grading-schema.md