В прогоне курса сводку «Кодиума» собрали за 7 заданий агенту: 70 минут его работы, 191 ход, около 0,23 $ в CloseRouter. Новую работу делали только два задания: сборка и выкладка на сервер. Остальные пять чинили то, что агент «проверил» и назвал верным. Теперь твоя очередь: свой заказчик, свои источники и та же привычка не верить отчёту «ложных данных нет», пока не сверил сам.
Чему научишься в этом уроке:
• выбрать источники для своего заказчика и проверить, что их можно читать;
• довести сборщик до таблицы «значение → фрагмент», которую ты сверил руками;
• выложить сводку на сервер с таймером и журналом модели;
• сдать комплект без секретов в снимках.
Выбери заказчика и источники
Лучше тот заказчик, для которого ты писал КП в уроке 4.6. Если его нет, возьми «Кодиум» и замени школы на другие. Источников 3–5, по одной странице на каждый. Перед тем как дать список агенту, пройди по нему с правилами из урока 4.1:
- страница открыта без входа на сайт;
- адрес разрешён robots.txt, проверка библиотекой, которая понимает символ * в правилах (protego). Стандартный urllib.robotparser в прогоне сказал «можно» для адресов, которые на самом деле запрещены;
- в адресе нет «?», это не /pricing и не страница отзывов;
- на странице нет данных людей, а если есть (имена в отзывах), ты их не сохраняешь;
- один запрос на сайт раз в сутки, пауза 5–10 секунд между сайтами, свой User-Agent с контактом.
Для каждого источника заранее реши, что берёшь, как в уроке 4.2: название, цена, платёж в месяц, длительность, старт. И помни: «нет в HTML» лучше догадки.

Чек-лист П3
Отмечай пункт только после проверки своими глазами: страницу открыл в браузере, сводку увидел в Telegram, журнал прочитал.
- Список источников с отметкой robots по каждому адресу (protego, правила с *).
- Каждый адрес отвечает 200, в заголовке страницы есть то, что ты ищешь. Придуманных адресов нет.
- Таблица «значение → фрагмент» по всем источникам; фрагмент содержит само значение.
- Хотя бы одну страницу ты сверил вручную: открыл и нашёл каждое число в нужном блоке.
- Платёж в месяц и скидка хранятся отдельно от цены; рекламные фразы не стали длительностью; «последнее обновление» не стало стартом.
- Число тестов не уменьшилось ни после одного задания.
- Снимки по дням в SQLite; изменения считает код, модель только формулирует вывод с цитатой (как в уроке трека 3 о разборе отзывов).
- Модели в .env (MODEL_MAIN, MODEL_FALLBACK); в журнале после каждого ответа модель и usage. Подробности в уроке 4.4.
- httpx и httpcore на уровне WARNING, токенов в журнале нет.
- Служба и таймер на 8:00 по Москве (часы сервера в UTC), Persistent=true; list-timers показывает следующий запуск.
- Тест подменой: временно изменил значение в базе, сводка с изменением пришла, значение вернул назад.
- Сбой сбора или модели даёт пометку владельцу, а не тишину.
Ссылка на урок трека 3, где то же правило «считает код, модель формулирует»: «Разбор отзывов».
Как давать задания агенту
Первое задание бери из раздела «Задание шага 1 для своего заказчика» урока 4.3: подставь <заказчик>, <источники> и <что сравниваем>. Никогда не меняются: protego, паузы, User-Agent, без входа, «нет в HTML», таблица «значение → фрагмент», модели в .env, журнал модели и usage. Дальше работай короткими кругами: задание, тесты, настоящий сбор, твоя сверка. После каждого круга смотри на три вещи: число тестов, таблицу «значение → фрагмент», одну страницу глазами.
Когда агент пишет «все значения проверены», отвечай как в шаге 4 урока 4.3: не пиши «ложных данных нет», если сам не сверил каждое значение с фрагментом, покажи таблицу, чтобы я проверил.
Перед снимками закрой токен бота, ключ CloseRouter, адрес сервера и chat_id. Ключ в снимке журнала такой же секрет, как в .env.
Порядок работы
- Первый заход: заказчик, источники, проверка robots, что берём с каждой страницы.
- Второй: сборщик локально до честной таблицы «значение → фрагмент» и твоей сверки одной страницы.
- Третий: разбор моделью, повторы и запасная модель, журнал с usage.
- Четвёртый: выкладка на сервер, таймер, тест подменой, снимки для сдачи.
- Закладывай на всё 4–5 часов: только агент на «Кодиуме» работал 70 минут, а у тебя ещё свои источники и сверка.
Если не получилось
- Адрес отдаёт 404 → агент его придумал; попроси найти ссылку в HTML каталога и проверить код 200 и заголовок.
- Сайт отвечает 403, капчей или «вы робот?» → это защита сайта; не обходи её, смени источник или спроси заказчика.
- Дата старта похожа на «8 800 …» → это телефон; дата только в формате даты, рядом не должно быть «телефон», «8 800», «+7».
- Цена с ведущими нулями или подозрительно маленькая → скорее всего, платёж в месяц по акции; рядом «/мес»? Храни отдельным полем.
- Длительность «2 месяца» → проверь фрагмент: в прогоне это была реклама «уже через 2 месяца сможете зарабатывать».
- Старт совпадает с «Последнее обновление» → это дата правки страницы, а не старт курса.
- Тестов стало меньше, зато все зелёные → агент удалил проверки; потребуй вернуть все и показать их число.
- В журнале ответила не та модель → модели в .env и запись модели в журнал после каждого ответа (урок 4.4).
- Сводка не пришла после теста подменой → проверь, что сравнение идёт по тому же полю, которое ты менял (в прогоне это monthly_payment).
- У источника цена всегда «нет в HTML» → данные подгружает скрипт; так было у Хекслета и Практикума. Оставь честную пометку или замени источник.
Контрольный вопрос. Агент прислал таблицу и пишет: «Все значения проверены, ложных данных нет». Что делаешь дальше?
Подсказка: Вспомни, что нашла ручная сверка Skillbox в шаге 4 урока 4.3.
На курсе задания проверяются автоматически. Решить первое задание бесплатно → · Подобрать курс
Контрольный вопрос. После очередного задания тесты зелёные, но их стало 9, а было 18. Что это значит?
Подсказка: Вспомни, что случилось с тестами после шага 4 урока 4.3 и как их вернули в шаге 5.
На курсе задания проверяются автоматически. Решить первое задание бесплатно → · Подобрать курс
Контрольный вопрос. Какой снимок годится для сдачи?
Подсказка: Что из этого позволит постороннему пользоваться твоими ключами или узнать данные людей?
На курсе задания проверяются автоматически. Решить первое задание бесплатно → · Подобрать курс
Задание. МИССИЯ «Мониторинг для своего заказчика». 1. Запиши заказчика и 3–5 источников; по каждому адресу отметь результат проверки robots (protego). 2. Собери сборщик с Claude Code до таблицы «значение → фрагмент» по всем источникам; сверь одну страницу вручную. 3. Подключи разбор моделью через CloseRouter: модели в .env, повторы, запасная модель, запись модели и usage в журнал. 4. Выложи на сервер со службой и таймером на 8:00 по Москве. 5. Сломай и почини: временно измени значение в базе, получи сводку с изменением, верни значение. Принято, если: приложен список источников с отметками robots; таблица «значение → фрагмент» и снимок страницы, которую ты сверил сам, с найденными числами; число тестов в начале и в конце; снимок сводки в Telegram с цитатой; снимок журнала с моделью и usage без токенов и адреса сервера; вывод list-timers по своему таймеру.
Подсказка: Сначала добейся честной таблицы на одном источнике, потом добавляй остальные.
✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.
На курсе задания проверяются автоматически. Решить первое задание бесплатно → · Подобрать курс
Что дальше
П3 закрыт: у заказчика каждое утро сводка, которой можно верить, а у тебя подписка, за которую понятно, что ты делаешь. В П4 собираем мини-CRM: место, где заявки из бота и с сайта превращаются в сделки.
Итог:
• источники выбраны по robots.txt и без данных людей;
• каждое число в сводке подтверждено фрагментом, одна страница сверена руками;
• сводка приходит по таймеру, в журнале видно, какая модель ответила и сколько токенов ушло;
• комплект сдачи готов, секретов в снимках нет.
