Skip to content

Учебные репозитории курса

В курсе есть один сквозной Capstone и несколько специализированных Labs. Capstone развивается от Week 1 до Week 9 — каждая неделя меняет, а не заменяет проект. Week 8 фиксирует automation opportunity и solution design, Week 9 переносит выбранное решение в production-like сервис. Labs работают как отдельные skill labs: учат механику изолированно, после чего студент переносит понимание в Capstone.

Проект Роль в курсе
Capstone Главный развивающийся проект: от baseline (Week 1) до production-like сервиса (Week 9)
Taskboard (labs/starter-repo/) Guided starter lab: handoff contract, baseline test
Repo Triage (labs/repo-triage/) Repository/context skill lab: evidence, path:line
RAG Lab (labs/rag-lab/) Retrieval skill lab: JIT context, grounded answers
Integration Lab (labs/integration-lab/) Tools/security/integration skill lab: Tool → Policy → Approval → Trace

Схема взаимодействия:

Taskboard → learn handoff         → Capstone Week 1-2
Repo Triage → learn evidence      → Capstone Week 3
RAG Lab → learn retrieval         → Capstone Week 3 (extension)
Integration Lab → learn tools     → Capstone Week 6 → 9

В репозитории курса есть четыре самостоятельных Python-проекта с собственными зависимостями и тестами. Порядок в таблице — рекомендуемий: каждая следующая лаборатория опирается на предыдущую, но брать можно и любую одну.

Проект Когда открывать Материалы
Taskboard (labs/starter-repo/) Самый простой вводный проход: небольшая задача, baseline-тесты и контракт работы агента. Пять issue и упражнения в labs/starter-repo/issues/ и labs/starter-repo/exercises/; инструкции — в labs/starter-repo/README.md.
Repo Triage (labs/repo-triage/) Второй шаг: подготовка фактов о запросе и структуре существующего Python-репозитория. Локальная CLI-утилита собирает инвентарь файлов и символов, ранжирует контекст по ключевым словам и отмечает неоднозначные запросы как требующие уточнения. Четыре issue типов bug/test/docs/ambiguous, тестовый Python-репозиторий и инструкции в labs/repo-triage/README.md.
RAG Lab (labs/rag-lab/) Тема retrieval из недели 3 в коде: ingestion, chunking, embeddings, vector search, retrieval tool, ответ с цитатами и отказ отвечать без источника. Корпус Markdown-документов, набор проверочных вопросов с метриками и инструкции в labs/rag-lab/README.md.
Integration Lab (labs/integration-lab/) Тема tools и policy из недели 6 на реальной внешней системе: локальный REST-сервис issue поверх SQLite, типизированные инструменты, scopes, least privilege, human gate и trace. Четыре сценария запуска и инструкции в labs/integration-lab/README.md.

Подробное описание каждой лаборатории есть на сайте: Repo Triage, RAG Lab, Integration Lab.

Repo Triage не вызывает LLM, не меняет код и не запускает команды в анализируемом репозитории. Ранжирование файлов — эвристика для подготовки контекста, а не замена анализа разработчиком или coding agent.

RAG Lab и Integration Lab тоже работают без API-ключей: retrieval использует детерминированный локальный embedder и extractive-ответчик, а Integration Lab поднимает собственный локальный сервис. Обе лаборатории устроены так, чтобы заменяемая часть — эмбеддер, ответчик и planner — оставалась за интерфейсом, как ModelClient в основном курсе.

Как получить файлы

  • Если репозиторий уже клонирован, откройте labs/starter-repo/ в корне checkout-а.
  • Если вы читаете опубликованный сайт, откройте исходный GitHub-репозиторий курса, выберите Code → Download ZIP, распакуйте архив и перейдите в labs/starter-repo/.

Учебный проект можно открыть отдельно в VS Code, но для изменений курса и лабораторных достаточно одного клона. Submodule не нужен: материалы и упражнения меняются вместе с программой курса.

Для общего окружения курса из корня репозитория сначала создайте .venv, если его ещё нет.

Windows PowerShell

python -m venv .venv

macOS / Linux

python3 -m venv .venv

Далее установите тестовые зависимости и запустите все четыре test suite.

Windows PowerShell

.\.venv\Scripts\python.exe -m pip install -e ".\labs\starter-repo[dev]"
.\.venv\Scripts\python.exe -m pip install -e ".\labs\repo-triage[dev]"
.\.venv\Scripts\python.exe -m pip install -e ".\labs\rag-lab[dev]"
.\.venv\Scripts\python.exe -m pip install -e ".\labs\integration-lab[dev]"
.\.venv\Scripts\python.exe -m pytest .\labs\starter-repo\tests
.\.venv\Scripts\python.exe -m pytest .\labs\repo-triage\tests
.\.venv\Scripts\python.exe -m pytest .\labs\rag-lab\tests
.\.venv\Scripts\python.exe -m pytest .\labs\integration-lab\tests

macOS

./.venv/bin/python -m pip install -e "./labs/starter-repo[dev]"
./.venv/bin/python -m pip install -e "./labs/repo-triage[dev]"
./.venv/bin/python -m pip install -e "./labs/rag-lab[dev]"
./.venv/bin/python -m pip install -e "./labs/integration-lab[dev]"
./.venv/bin/python -m pytest ./labs/starter-repo/tests
./.venv/bin/python -m pytest ./labs/repo-triage/tests
./.venv/bin/python -m pytest ./labs/rag-lab/tests
./.venv/bin/python -m pytest ./labs/integration-lab/tests

Linux

Linux использует те же команды, что и macOS (Bash/zsh), приведённые выше. После установки все четыре запуска pytest должны завершиться без ошибок.

Если учебный проект скопирован отдельно от курса, установите его в собственное окружение .venv по инструкциям в README этого проекта.