用途
Build Project 是 AI Engineering from Scratch 项目板块的动手项目辅导技能。它面向正在学习该课程项目部分的学习者,每次调用只教授一个项目的一个阶段。核心原则是:学习者写代码,技能负责阅读、提问、提示、与学习者一起运行评分器并记录进度。
主要能力
- 按阶段教学:每次调用只推进一个阶段,避免信息过载。
- 读取项目元数据:从 projects/<project-id>/project.json 获取项目级别、阶段顺序、前置课程、语言选择和需求。
- 读取阶段材料:每个阶段读取 docs/en.md(课程)、starter/(学习者需填写的代码桩)、tests/(评分器检查内容)。
- 进度管理:在学习者工作目录维护 PROJECTS-LEARNING.md,可容纳多个项目,不覆盖已有笔记。
- 工作区初始化:首次阶段通过 python3 scripts/project_test.py <project-id> --init <workspace> 初始化工作区。
- 运行评分器:使用 python3 scripts/project_test.py <project-id> --stage <N> --path <workspace>,评分器会运行第 1 到 N 阶段。
- 分级提示调试:失败时先给问题,再给概念,最后给具体行或边界情况,共三级提示,不直接给完整答案。
- 反思提问:阶段通过后,逐一提出课程中的“Check yourself”问题。
- 完成报告:最后一个阶段通过后,使用 --strict --report completion.json 运行所有阶段,并说明如何在项目页面导入报告获取本地完成证书。
使用方式
不同宿主有不同的调用方式,技能明确要求不得将某一宿主的语法当作通用语法:
- Claude Code:/build-project 或 /build-project <project-id>
- Codex:build-project,或从 /skills 中选择
- 其他兼容宿主:使用 build-project to start or resume my project.
教学流程分为三步:
-
查找或创建进度:使用学习者工作目录中的 PROJECTS-LEARNING.md。若不存在则创建模板,包含项目名、开始日期、工作区绝对路径、模式(Executable 或 Conceptual)、当前阶段,以及阶段状态表格。若学习者未指定项目,则列出就绪项目及其级别和一句话简介,询问选择哪一个,并建议选择其已具备前置条件的最低级别项目。从第一个标记为 Next 或 In progress 的行恢复。
-
设置工作区(仅第一阶段):确认 python3 --version 可用,询问工作区位置,默认使用仓库旁的 my-<project-id>,然后运行初始化脚本并记录绝对路径。若缺少 Python 或仓库,则切换为概念模式:从课程教学,让学习者手工追踪示例,评分结果标记为 Pending,绝不标记为 Pass。
-
教授阶段:按顺序完成阶段课程,每条消息保持简短。先框定:用两三句话说明本阶段增加了什么、真实系统在哪里使用它,并展示它在流水线中的位置。再预测:在任何代码之前,从课程中提出一个预测问题,等待回答。然后构建:指向 starter 文件和课程“Your task”部分的确切签名,学习者在自己的工作区编写代码,技能不代写。接着运行:与学习者一起运行评分器。失败时用提示调试:读取失败测试名称和消息,给出最小有用提示,先问题、再概念、最后具体行或边界情况,共三级,除非学习者在至少两次诚实尝试后明确要求查看参考,否则不给完整解决方案;即使如此,也只展示其卡住的那一个函数,并在笔记中说明。通过后反思:逐一提出课程中的“Check yourself”问题,简要纠正误解。
-
记录并指向下一步:更新阶段行,标记 Done、评分器摘要(例如 Stages 1-3 pass)、当天日期,以及学习者用自己的话写的一行学习收获。将下一阶段标记为 Next。告诉学习者:他们现在能做什么以前不能做的事、下一阶段标题及其来自 project.json 的一句话摘要、网站 projects.html 显示同一项目,可以在那里勾选阶段为完成。
适用场景
- 正在学习 AI Engineering from Scratch 项目板块,希望按阶段动手完成真实项目。
- 需要有人引导阅读课程、提问、提示和运行评分器,但坚持自己写代码。
- 希望记录学习进度并在项目页面获取本地完成证书。
- 可以提交原创项目,参考 projects/SUBMITTING.md。
限制
- 每次调用只处理一个阶段,记录进度后即停止。
- 学习者必须自己输入代码,技能不会在未被要求时粘贴完整阶段解决方案。
- 绝不声称未在评分器输出中看到的通过。
- 绝不运行触及学习者工作区和仓库之外文件的命令;运行任何可选依赖安装前会先解释。核心阶段使用语言标准库;可选框架比较会声明依赖。
- 绝不向学习者打开 projects/<id>/solution/ 或 projects/<id>/heldout/ 展示代码或答案。技能自己可以阅读 solution 仅用于诊断为何看似正确的尝试失败,然后给出提示而非代码。
- 若仓库未克隆,从 https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path> 获取,并以概念模式教学。
- 项目列表是 projects/ 下包含 project.json 的文件夹集合,排除 _template。projects/roadmap.json 中的计划项目尚不可构建。
- 语气直接且鼓励,不说空泛赞美。
暂未提供
关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。