LABS — трек практики: лабораторные на твоём заводе
Собрано механически из «живых якорей» курса (div.anchor в course/fragments/). Правило: прошёл урок → сделай его лабораторную руками. Атлас сервисов:
mas-research/hermes-handoff/03-services/.
Модуль 0 — Введение: организм, а не программа
- Урок 0.1 — «Твой завод — это уже организм»: зайди на https://map.rbrstack.com (живая метро-карта) или прямо на сервере: ssh root@VPS; docker ps --format '{{.Names}}\t{{.Status}}' — посчитай, сколько органов сейчас живы и здоровы (Up), а не лежат.
- Урок 0.2 — «Пять твоих законов = будущие guardrails»: ssh root@VPS; cat apps/channel-hq/data/channels.json (или посмотри в UI) — найди поле approved у последних видео. Это твой закон №2 в виде одного JSON-поля: пока там не стоит true , ничего не улетает на YouTube.
Модуль 1 — Основы: что такое агент
- Урок 1.1 — «Агент, workflow или чат-бот: три разных контракта»: ssh root@VPS; cat apps/photo-video-generator/pipeline.py (или omni-video-generator) — увидишь фиксированный, пронумерованный порядок стадий своими глазами: это workflow, а не агент, и так и должно быть.
- Урок 1.2 — «Анатомия одного хода: Thought → Action → Observation»: ssh root@VPS; docker logs memory-bank --tail 50 — посмотри, приходят ли туда записи после последней публикации видео. Скорее всего, свежих метрик с YouTube там нет — вот она, разорванная рефлекторная дуга стадии ⑨ вживую.
- Урок 1.3 — «Инструменты (tool use) и почему их надо документировать как для новичка»: открой 08-contracts.md в пакете хендоффа (или API-роуты resource-governor / channel-hq в коде) — для каждого эндпоинта спроси себя: «если бы я отдал это описание модели без контекста, поняла бы она, что делает эта функция и когда её вызывать?»
- Урок 1.4 — «Skills вместо зоопарка агентов»: посмотри свою папку скиллов (например, faceless-script-skill , capcut-marker-builder ) — открой любой SKILL.md и проверь: есть ли там всё из чек-листа выше, или чего-то не хватает (обычно — явных ограничений «чего не делать»).
Модуль 2 — Оркестрация и консилиум
- Урок 2.1 — «Три роли, которые нельзя смешивать: планировщик, исполнитель, критик»: ssh root@VPS; docker logs thumbnail-studio --tail 200 | grep -i "R2|qc|verdict" — посмотри, какой контекст реально получает QC-судья перед вердиктом: только картинку и чек-лист, или ещё и обоснование R1.
- Урок 2.2 — «Пять паттернов оркестрации — и четыре из них уже у тебя работают»: ssh root@VPS; curl -s localhost:4600/health && curl -s localhost:8030/api/projects/batch -X GET | head — посмотри вживую blackboard (memory-bank) и hierarchical (batch API) паттерны, которые уже отвечают на твои запросы прямо сейчас.
- Урок 2.3 — «Judge Panel и best-of-N: ядро консультант-фабрики MVP»: посмотри текущий batch-режим — ssh root@VPS; curl -s localhost:8030/api/projects/batch/status — это уже параллельный запуск N видео (concurrent fan-out); чего пока не хватает — панели разнородных судей и турнирного сравнения результатов между собой.
- Урок 2.4 — «Когда мультиагентность ВРЕДНА»: ssh root@VPS; cat _HERMES_HANDOFF/08-contracts.md | grep -A2 "resource-governor" — посмотри, как уже сегодня resource-governor не даёт сервисам бесконтрольно плодить параллельные запросы: это и есть твой действующий защитный предел против «10 агентов одновременно».
Модуль 3 — Память и общий мозг
- Урок 3.1 — «ОЗУ и диск: почему всё в разговоре исчезает»: ssh root@VPS; cat apps/channel-hq/data/channels/
/log.jsonl | tail -5 — это твой диск. Сравни с тем, что видно в UI генератора только во время активного прогона: это ОЗУ, которое сейчас исчезнет вместе с закрытием сессии. - Урок 3.2 — «Три типа памяти — и все три уже в твоём memory-bank»: ssh root@VPS; cat apps/memory-bank/data/global.json | head -30 и рядом cat apps/memory-bank/data/generators/photo.json — увидишь семантическую и процедурную память бок о бок, физически разными файлами.
- Урок 3.3 — «Git-память для строителя: main / branch / commit / merge»: cat apps/photo-video-generator/data/generators/
/projects/ /state.json — твой сегодняшний прогресс-файл. Спроси себя: если бы этот файл разделился на main.md (обзор) и log.md (сырая история), что из сегодняшнего state.json попало бы в какой файл? - Урок 3.4 — «От склада фактов к общему мозгу: retrieval и замыкание LEARNING»: прямо сейчас задай себе оба вопроса из виджета про свой настоящий memory-bank . Если на оба пришлось бы лезть в файлы руками — это твой конкретный пункт №1 в план первой недели (Модуль 11): включить оркестратор и замкнуть LEARNING.
Модуль 4 — Иммунная система: надёжность, guardrails, деньги, безопасность
- Урок 4.1 — «Guardrails — это не фильтр, а контроль доступа к действиям»: ssh root@VPS; cat apps/resource-governor/config.json | grep -i limit (или посмотри портал :4700) — проверь, есть ли уже дневной/часовой лимит трат по каналу. Если нет — это первая дыра, которую матрица риска просит закрыть.
- Урок 4.2 — «Критик-агент решает о публикации: evals»: посмотри в memory-bank или в UI, есть ли уже структура для хранения исходов прошлых видео (retention, страйки, жалобы). Если нет — это и есть первый шаг: собери 30-50 карточек прошлых видео с известным исходом, вручную размеченных по хуку/визуалу/звуку/фактам, прежде чем давать критику решать самому.
- Урок 4.3 — «Loop of Death и почему длинные цепочки рушатся»: grep -r "409|retry|max_attempts" apps/*/config.json 2>/dev/null — проверь, есть ли уже явный числовой лимит попыток на стадиях, или конвейер полагается на «агент как-нибудь разберётся». Это и есть разница между управляемым Loop-of-Death и неуправляемым.
- Урок 4.4 — «Sandbox и безопасность: изолируй ночного строителя от секретов завода»: ssh root@VPS; ss -tlnp | grep -v 127.0.0.1 — если в выводе есть что-то кроме Caddy на публичном интерфейсе, это дыра, которую нужно закрыть ДО того, как заводить ночного билдера приложений.
Модуль 5 — Токеномика: дешёвая система BY DESIGN
- Урок 5.1 — «Метаболизм системы: откуда берутся токены»: возьми любую свою длинную сессию в Claude Code и прогони /checkup (чистка неиспользуемых skills/MCP, дедупликация CLAUDE.md) — или просто посмотри в UI Cowork/CLI счётчик токенов сессии в момент, когда задача переваливает за шаг 6-7. Заметь, ускоряется ли рост.
- Урок 5.2 — «Пять рычагов экономии»: выбери одну свою длинную сессию с сабагентами и посмотри, что реально передаётся в промпт субагента — всю историю или выжимку? Если всю — это первый кандидат на рычаг №1.
- Урок 5.3 — «Стоп-краны и бюджеты на задачу»: зайди в панель resource-governor (порт 4700) и найди, есть ли там сейчас хоть один показатель $/задача или $/день. Если нет — это первый кандидат для Модуля 8 (панель) и прямая реализация стоп-крана из этого урока.
Модуль 6 — Автономная ночная разработка: строитель приложений
- Урок 6.1 — «Тот же паттерн, новый артефакт: код+UI вместо видео»: ssh root@VPS; cat apps/channel-hq/core/orchestrator.mjs | head -50 — код оркестратора уже написан и просто ждёт включения. Строитель приложений будет использовать тот же принцип, только для нового типа задач.
- Урок 6.2 — «Цикл: план → код → тест → критика → скриншот → доработка»: найди прогон thumbnail-studio, где Haiku vision-QC забраковал обложку по картинке, а не по коду генерации — это тот же принцип «SCREENSHOT», который строитель приложений унаследует для интерфейсов.
- Урок 6.3 — «Ночь без человека: cron, очередь, resume»: ssh root@VPS; systemctl list-timers | grep x-research — посмотри, как уже работает cron-запуск headless-агента без человека. Это прототип ночного запуска строителя приложений, только сегодня он ищет твиты, а не пишет код.
Модуль 7 — Выбор ядра: на чём строить нервную систему
- Урок 7.1 — «Мозг уже выбран, вопрос — оркестратор»: ssh root@VPS; cat apps/channel-hq/core/orchestrator.mjs | head -80 — это код твоей будущей нервной системы. Он уже написан. Модуль 7 отвечает на вопрос «включать как есть или на каком ядре его развивать».
- Урок 7.2 — «Матрица восьми систем»: ssh root@VPS; find apps/channel-hq -name "*.mjs" | xargs grep -l "claude -p" — увидишь, что твой конвейер уже сегодня построен как subprocess-обёртка над Claude CLI, то есть архитектурно ближе к Claude Agent SDK, чем к любой из семи других систем.
- Урок 7.3 — «Рекомендация: гибридное ядро, не единый фреймворк»: ssh root@VPS; ls apps/channel-hq/core/ — посмотри, из чего сегодня физически состоит потенциальное ядро: файлы уже лежат, просто ждут решения «включить как есть на Claude Agent SDK» вместо решения «мигрировать на чужой фреймворк».
Модуль 8 — Сервер и панель: где живёт система и как ей управлять с телефона
- Урок 8.1 — «VPS и домашний ПК — не или-или, а разные роли»: ssh root@VPS; cat 04-server.md | grep -i "reverse-ssh|tailscale|3090" — посмотри, как сейчас связаны VPS и домашний ПК, и прикинь, сколько реальных часов в сутки 3090 действительно нагружена.
- Урок 8.2 — «Очереди задач: главный разрыв между заводом и автономией»: docker inspect thumbnail-studio | grep -i restart — если политика не always , это первое, что стоит починить ещё до брокера: контейнер должен сам подниматься после падения.
- Урок 8.3 — «Единая веб-панель и Telegram поверх существующего»: открой resource-governor:4700 с телефона прямо сейчас — посмотри, какие плитки уже там есть, и прикинь, каких трёх экранов (очередь / burn-rate / диск) реально не хватает, чтобы это стало полноценной панелью.
Модуль 9 — Три завода из одного: применение к твоим целям
- Урок 9.1 — «Направление 1: контент-фабрика на десятки каналов»: cat channel-hq/core/orchestrator.mjs | grep -i approval — посмотри на месте, куда именно сегодня встаёт человеческий гейт APPROVAL_PENDING. Это ровно та точка, где вырастет изолированный критик, прежде чем оркестратор включится насовсем.
- Урок 9.2 — «Направление 2: универсальный строитель приложений»: открой 08-contracts.md и найди любой раздел, описывающий деплой или конфигурацию — это уже готовый скилл в прозе, ему не хватает только оформления в .claude/skills/
/SKILL.md . - Урок 9.3 — «Направление 3: консультант-фабрика MVP (ключевой бизнес)»: открой сайд-проект client-interviewer — это уже готовый intake-слой; посмотри, какие поля он сегодня собирает, и сверь со списком «явные правила + процедурные точки», которого требует structured intake.
- Урок 9.4 — «Клей: одна ОС вместо трёх заводов»: посмотри на структуру задач, которые ты сегодня ставишь в Telegram или руками в панели resource-governor :4700 — это уже зачаток Collaboration Plane. Следующий шаг не «строить с нуля», а научить диспетчера читать этот же поток и маршрутизировать его в три направления сам.
Модуль 10 — Чужие шрамы и настоящие деньги
- Урок 10.1 — «Как люди реально зарабатывают на агентных системах»: посмотри конфиг x-research-daily/config/topics.yaml — сейчас он настроен на темы контента. Прикинь, какие 2-3 темы туда добавить для сигналов боли бизнесов (вакансии, жалобы), чтобы этот же сервис стал зародышем opportunity-scout, а не только источником тем для видео.
- Урок 10.2 — «Дом vs VPS: как это держат в дикой природе»: ssh root@VPS; tailscale status (или проверь, настроен ли у тебя вообще mesh-VPN между VPS и ПК с 3090) — если домашний ПК ещё не подключён к заводу защищённой сетью, это первый шаг перед тем, как поручать ему GPU-задачи в общем конвейере.
- Урок 10.3 — «Восемь грабель, на которые ты уже наступил (и как индустрия их называет)»: пройди чек-лист выше вслух с открытым docker ps и memory-bank под рукой — по каждому пункту, где отметил «риск», запиши одну строку в свой задачник (Obsidian/очередь). Это и есть черновик приоритетов для финального roadmap в Модуле 11.
Модуль 11 — Roadmap твоей системы
- Урок 11.1 — «Ядро с аргументами: финальное решение»: ssh root@VPS; cat apps/channel-hq/core/orchestrator.mjs | grep -i "claude -p" — это и есть тот самый фундамент, который признан ядром финального стека. Ничего нового ставить не нужно — просто достроить дисциплину поверх.
- Урок 11.2 — «Железо: что ставить на ПК, что на VPS, что в облако»: ssh root@VPS; df -h — если диск под 90%+, это первый и самый дешёвый шаг из всей этой карты, сделай его до всего остального в модуле.
- Урок 11.3 — «Этапы: от полуручной фабрики к ночной автономии»: ssh root@VPS; df -h && grep -rn "0.0.0.0" apps/*/docker-compose.yml — это этап 1, начни с него сегодня, он не требует решений, только чистки.
- Урок 11.4 — «План первой недели»: Открыть на своём заводе прямо сейчас: ssh root@VPS; df -h — это первая команда плана, набери её сегодня, не после прочтения курса до конца.