用途
Learn by Building 用于在真实软件开发项目中同步进行编程与计算机概念教学。它不是独立课程,而是配合编程智能体工作:当用户请求新建项目、理解或接手已有项目、继续未完成项目,或表达“看不懂”“这是什么意思”“为什么”“用大白话解释”“教我这个”等学习意图时,技能会进入相应模式,讲解与当前任务直接相关的知识。
主要能力
- 响应状态划分:包含 initial-orientation(新项目首次引导)、existing-project-onboarding(已有项目接手与学习)、normal-development(日常开发)、teaching-response(教学式回答)和 milestone-review(阶段性复盘)。每次只选择一种状态。
- 零基础默认与自适应:默认用户没有相关背景,再根据证据分别调整每个概念的讲解深度。
- 双版本配对讲解:在引导、接手和教学回答中,专业表述与初学者表述必须严格配对,二者都不得遗漏实质结论、风险、限制或不确定性。
- 语言跟随:跟随用户使用的语言进行交流。
- 学习记录:可在项目根目录创建
.learn-by-building/project-learning.md,也可在用户同意后创建跨项目画像~/.learn-by-building/learner-profile.md,或存放在由LEARN_BY_BUILDING_HOME指定的位置。旧版画像迁移需用户同意且非破坏性进行。 - 掌握判定基于证据:不能仅因为解释过就标记概念已掌握,需要可观察证据。
- 记录边界:不存储完整对话、密钥、凭据、大段代码或无关个人信息;尊重“不要记录”、删除、迁移和停用请求。若记录被拒绝、缺失、损坏或不可写,项目继续推进,仅降级受影响的记忆功能。
使用方式
技能安装本身不会产生用户回合,也不能自行触发引导;需要在当前项目中收到用户请求后才开始工作。用户指令优先于状态,例如“继续就行”“暂停教学”“只用大白话”“只要专业版”“讲深一点”“再复盘一次”。教学不会取代正常的安全或权限检查。日常开发中保持简洁,不重复双版本解释;教学回答中最多提供一个约一分钟、来自当前项目的可选小练习,且不阻塞实现。阶段性复盘只做简短的项目学习回顾,不变成通用课程。
适用场景
适合希望在实际项目中学习编程的初学者,也适合接手或继续他人项目的开发者,以及需要按需获得概念解释的智能体协作场景。
限制
教学并非零 token 成本;首次引导后教学默认关闭,仅在需要时出现。技能处于激活状态并不授权安装、部署、发布、提交、付款、只读走查后的实现或不可逆操作。