SuperAPI AI 工具集

build-project

编程与开发

查看项目

更新于 10-15 14:53

技能介绍

用途

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.

教学流程分为三步:

  1. 查找或创建进度:使用学习者工作目录中的 PROJECTS-LEARNING.md。若不存在则创建模板,包含项目名、开始日期、工作区绝对路径、模式(Executable 或 Conceptual)、当前阶段,以及阶段状态表格。若学习者未指定项目,则列出就绪项目及其级别和一句话简介,询问选择哪一个,并建议选择其已具备前置条件的最低级别项目。从第一个标记为 Next 或 In progress 的行恢复。

  2. 设置工作区(仅第一阶段):确认 python3 --version 可用,询问工作区位置,默认使用仓库旁的 my-<project-id>,然后运行初始化脚本并记录绝对路径。若缺少 Python 或仓库,则切换为概念模式:从课程教学,让学习者手工追踪示例,评分结果标记为 Pending,绝不标记为 Pass。

  3. 教授阶段:按顺序完成阶段课程,每条消息保持简短。先框定:用两三句话说明本阶段增加了什么、真实系统在哪里使用它,并展示它在流水线中的位置。再预测:在任何代码之前,从课程中提出一个预测问题,等待回答。然后构建:指向 starter 文件和课程“Your task”部分的确切签名,学习者在自己的工作区编写代码,技能不代写。接着运行:与学习者一起运行评分器。失败时用提示调试:读取失败测试名称和消息,给出最小有用提示,先问题、再概念、最后具体行或边界情况,共三级,除非学习者在至少两次诚实尝试后明确要求查看参考,否则不给完整解决方案;即使如此,也只展示其卡住的那一个函数,并在笔记中说明。通过后反思:逐一提出课程中的“Check yourself”问题,简要纠正误解。

  4. 记录并指向下一步:更新阶段行,标记 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 中的计划项目尚不可构建。
  • 语气直接且鼓励,不说空泛赞美。

暂未提供

关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。