# AutoResearch — Первый шаг к Самообучающимся Агентам

## Метаданные

- **Канал:** Владилен Минин
- **YouTube:** https://www.youtube.com/watch?v=_lZGVSFDQmM
- **Дата:** 04.05.2026
- **Длительность:** 33:41
- **Просмотры:** 12,366

## Описание

AutoResearch — открытый фреймворк от Андрея Карпати, который позволяет AI-агенту автономно проводить сотни экспериментов без участия человека.

Репозиторий Карпати: https://github.com/karpathy/autoresearch

🧠 Клуб Незаменимых в эпоху ИИ – место, где вы интегрируете ИИ в свою жизнь и начнете с ним работать на 100%. Только для участников – личный агент на ChatGPT 5.4:
Почитать – https://t.me/awr_intro_bot?start=hello
Вступить – https://t.me/ai_wont_replace_bot?start

📩 Топ модели из видео: https://t.me/vladm/1485

Программа для набора текста: https://wisprflow.ai/r?VLADILEN1

## Содержание

### [0:00](https://www.youtube.com/watch?v=_lZGVSFDQmM) Segment 1 (00:00 - 05:00)

Вот как выглядят результаты у Андрея Карпатова при применении инструмента под названием авторесarch. И вот как выглядят мои результаты при применении данного инструмента. То есть скорость загрузки сайта стала сильно лучше, промты стали точнее. И что самое интересное, искусственный интеллект провёл за меня огромное количество тестов, гипотез и экспериментов при Я вообще код, в общем, не писал. И в этом видео я вам как раз хочу рассказать про инструмент, который Андрей выкатил. называется Afterch. У него на гитхабе 78. 000 звёзд. И этот инструмент позволяет итеративно улучшать какой-либо эксперимент, метрику без вашего участия в автоматическом режиме. Ну и в этом видео я вам объясню всё от теории до прикладного примера, как вы можете применить этот инструмент у себя и что по-настоящему с ним можно делать. Давайте для начала разберёмся, кто есть Андрей Карпатый. Как пишут Google - это словаско-канадские учёные в области машинного обучения, который на самом деле занимал должность директора по искусственному интеллекту в компании Tтеesla и является соснователем и бывшим сотрудником Open AI. В общем, чувак очень сейчас активно работает в мире искусственного интеллекта, является инженером и выкатывает очень, во-первых, классные подкасты и материалы, а, во-вторых, инструменты. Это вот один из них, который в первую очередь был сделан для машинного обучения, но потом энтузиасты сообразили, что его, вообще-то, можно использовать для улучшения любых метрик при работе с искусственным интеллектом. Вкратце, как это работало? То есть он улучшал показатели бенчмарки модели, если я ничего не путаю, GPT2. И в какой-то момент он понял, что а почему бы не взять какую-то конкретную метрику и не травить искусственный интеллект, чтобы он поэтапно выкатывал гипотезу и улучшал эту метрику, пока, в общем, ты просто берёшь и спишь. И вот таким образом появился этот авторесch. Давайте разберёмся с теоретической составляющей, как это работает. Кстати, настолько популярность этого репозитория выросла, потому что действительно инструмент универсальный. Его используют уже разные SEO в своих компаниях, интегрировали, потому что действительно мощный инструмент. Значит, по факту даже здесь в Redmi написано, как это работает. Внутри всего лишь есть три основных файла, а нам нужно знать первое: train. program. m. Давайте лучше разберём на схемках, потому что я их порисовал. Начнём, пожалуй, с архитектуры, потому что по факту авторесarch - это не какой-то фреймворк или там библиотека, это всего лишь три конкретных файла, да, то есть Program MD, Trainp и Prepare Pi. А Programм MD по факту - это всего лишь инструкция для робота, что нужно делать. То есть сюда мы записываем цель эксперимента, направление, э, там, поиска, ограничений и так далее. То есть, ну, по факту системный промт, который объясняет задачу для аишки, в рамках которой он будет действовать. А train. p - это Python scriptриt, который предназначен для того, чтобы модель выполняла логику. То есть это может быть архитектура модели, а, цикл обучения, там, гиберпараметры и так далее. Её, этот файл срипt агент может менять для того, чтобы постраивать под конкретно вашу задачу. Например, да, мы можем сюда вставлять скрипт, который будет исчислять скорость загрузки сайта или, например, конверсию почтовых писем, в смысле email писем. Ну, то есть какая-либо метрика, которая подходит конкретно под вашу задачу, да, вот в train. p мы как раз их меняем. Вот prepare. В принципе, нам он не столь важен, потому что это скрипт, который позволяет понять исходную точку. То есть он нужен именно для валидации конкретных метрик, потому что с каждой итерации метрика будет меняться, и для того, чтобы мы имели проверку, вот он остаётся без изменений, да, и как раз-таки агент его не трогают, поэтому мы здесь делаем. А цикл очень простой, то есть в корне всего этого проекта работает AE агент, Cl, кодекс, там Kimi, JLM. Ну, понятно, что чем круче модель, тем лучше она будет выдавать результаты. Она читает условия эксперимента в системном промте. Дальше агент подстраивает под вашу задачу Python Script, который у Карпатова, например, был для машинного обучения изначально, но мы подстраиваем под свои задачи и всё. Проверяем это через prepare. p. Логика очень простая, остаётся только с этим работать. Собственно говоря, про работу, да, как выглядит вообще цикл этого этой программы. Значит, мы изначально даём какую-то метрику, потому что вот авторесarch, он не будет работать хорошо, если у нас нет какой-то конкретной измеримой метрики, которую мы можем улучшить. В общем-то, именно поэтому все настолько восторги от этого

### [5:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=300s) Segment 2 (05:00 - 10:00)

инструмента, и он действительно имеет большое количество там практического применения. То есть, скажем, если вот мы сегодня будем разбирать скорсть загрузки сайта, а мы говорим, что нужно уменьшать скорость загрузки сайта без потери его функционала, да? Да, вот задаём вот эту вот метрику. Вначале выставляется некоторый бей, то есть то, от чего мы стартуем, там, например, 1 секунда. И дальше агент начинает придумывать гипотезу по тому, как можно оптимизировать скорость этой загрузки. Он придумал идею, и дальше он изменяет код для того, чтобы провести этот эксперимент. Запускает тест и дальше начинает сравнивать. То есть, если этот тест, он стал лучше, чем то есть то изначально, с чем мы пришли, например, если здесь у нас перезагрузки снизилась там до полсекунды, то тогда он это всё пушит в гиIT и запускает следующую итерацию. Если нет, то он его откатывает и придумывает другую гипотезу. Всё, всё очень просто. Таким образом получается, что на каждой итерации мы вырабатываем гипотезу. Агент сам её проверяет с помощью train. p. В случае, если скорость сайта понизилась, то он закрепляет эту гипотезу и от неё отталкивается. И таким образом, то есть представьте, что если мы там сделаем какой-то повтор гипотез там 100 или 700 раз, ну, мы очень сильно оптимизируем всю эту вещь. И вот в чём, на самом деле, большая мощь этого инструмента, потому что этой метрикой может быть что угодно. Вот, например, вы работаете там как маркетолог или повышаете там эффективность вашего бизнеса. Вы, например, понимаете, что у вас есть цепочка писем с определённой конверсией там, и вы хотите, чтобы эта конверсия увеличивалась. Соответственно, ставите как объективную метрику конверсию и позволяете агенту генерировать идеи, которые позволят улучшить эту конверсию. Он продумывает её, да, там в итерациях повторяет, и в итоге мы получаем более оптимизированную там email компанию. Либо, например, вы создаёте какой-нибудь продукт, там стартап и так далее. У вас есть сайт презентация, которая его предоставляет. Он же тоже имеет определённую конверсию, то есть сколько там человек, например, подписалось на вашу модель, да? Вы выставляете агенту лендинг, выставляете ему конверсию переходов там в ваш продукт и всё, он гоняет этот лендинг. Так вот, увеличивает конверсию, вы получаете рабочую гипотезу. то есть применений. На самом деле, где угодно вы можете это сделать, в том случае тут важно понимать, что если есть объективная цифра, давайте разберём на диаграммах ещё конкретные примеры, да, вот, например, с сайтом. То есть вот то, что мы сегодня будем разбирать- это скорость загрузки сайта. Это может быть репозиторий, может быть исходный код. А дальше мы к этому подклю подключим клод код, потому что он абсолютно потрясающий на текущий момент. И дальше, значит, я покажу, как это можно сделать вот прямо физически, чтобы запустить авторесarch. Значит, правится Trainp, правится Program MD и запускается там где-нибудь на localх хосте проект. После чего, скажем, тот же самый попитир или либо другие инструменты, они замеряют скоресть загрузки сайта. И в случае, если а всё ок, да, то есть прогнав через prepare. p, мы получаем новую метрику. А если она быстрее, тогда мы комитим в GIT, и это всё отправляется обратно агенту на новую итерацию. То есть мы м количество итераций самостоятельно зададим. Если это скорость загрузки не быстрее, то тогда, собственно говоря, мы откатываем и выкидываем другую гипотезу. И в данном случае, то есть мы в итоге можем получить классный результат, что, например, на 50% времени сократится скорость загрузки. При этом, ну, то есть от нас ничего не требуется, кроме того, чтобы настроить весь этот сетап. У меня получается применять данный инструмент также и для различных skills внутри клода. То есть мы выставляем какую-то конкретную метрику для скила, что он должен достигать. Этот пример я делал с генерацией диаграмм и графиков через skills. То есть выставляю определённые критерии, например, текст, читаемый в графиках, используемый цвет в палитре, линейная структура и так далее. И за каждый из этих критериев выставляется определённый балл. То есть мы имеем некоторый бей, там, скажем, 37, мис 40. Вот. И дальше на это натравляется авториarch. А таким образом, что он проверяет, значит, генерацию графиков. Если этот скилл генерирует хорошо, да, то есть скор по этим параметрам лучше, то тогда он оставляет промпт. Если нет, то тогда он пробует его поправить для того, чтобы улучшить скоринг. И таким образом, то есть в автоматическом режиме мы подтягиваем конкретные а результаты за нужную нам метрику. Также авторесч я использую действительно

### [10:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=600s) Segment 3 (10:00 - 15:00)

и для маркетинговых инструментов, для того чтобы повышать конверсию и контент маркетинга, и SMма, и имей рассылок, и конверсия различных сайтов. И получается довольно-таки неплохо с учётом того, что если есть классные интеграции, например, когда мы можем загрузить результаты а рекламной кампании для того, чтобы потом понять, какие объявления работали лучше. То есть в этом и заключается универсальность инструмента. Поэтому дальше я предлагаю разобраться, как это работает на практике. Разбираться мы будем, а, на примере веб-сайта. Я покажу, как это всё сделать с нуля. И для начала зайду на Artificial Analysis AI. Это классный сайт, где можно смотреть актуальные модели, а, которые платные сейчас там по Intelligence, Speed или Price. Ну, также здесь есть и вкладка про Open Source. Выкладываю в Telegram-канале, привожу ссылочку. И здесь можно зайти и получить доступ до бесплатной опишки. Она нам потребуется для того, чтобы сделать сайт, который работает с модельками. Ну, для того, чтобы всё это упростить, я вначале создам, допустим, ключик, который называется YouTube. Сохраню этот ключик и занесу его куда-нибудь в DNF сюда, допустим, IP key. Будем работать с актуальными моделями. Дальше у нас здесь должна быть документация. И смотрите, мы можем получить, значит, данные по моделям через Я хочу получить сейчас статику, чтобы не спамить, потому что один раз я слал много запросов и меня забанили. Так что сделаем всё немножечко просто. Покажу механику именно с авторесём. И здесь я вставляю данный курум. Копирую ключик, вставлю его сюда и дальше занесу результат работы курла в файл, там, допустим, lms. jonjson. Дальше он должен всё это записать. И после этого LM я буду использовать как датасет для того, чтобы сформировать красивый сайт. Да, можем посмотреть. Всё, чудесно. У нас есть большой JON. Видимо, из-за этого а-а они делают большие лимиты по IP ключу, но, в принципе, нам этого достаточно. А дальше подключим сюда клод. Давайте я буду использовать именно extension. И в данном случае я напишу простой запрос. Я хочу создать простой веб-сайт, который будет состоять из HTML, CSS и JavaScript. А при этом он должен быть в достаточно минималистичном, но красивом дизайне. И я хочу, чтобы он показывал актуальность и сравнение классных LLM-моделей. В качестве датасета использую файл llms. jonjson. И в итоге я хочу получить сравнительные таблицы, которые нам доступны из данного файла, чтобы в итоге я понимал, какие модели есть. какие можно использовать. Используй Skill Frontend Design для того, чтобы сделать дизайн данного сайта получше. И тут важное уточнение. Я хочу, чтобы этот сайт был написан не самым оптимальным способом. напиши его, как это сделал бы, например, Jниор, то есть неоптимизированные загрузки шрифтов, картинок, может быть вёрстка для того, чтобы мм главное, в общем, чтобы всё это работало. А, как вы знаете, можно не сильно запариваться всегда. Я думаю, что этот запрос более чем достаточный будет. Здесь делаю допущение, чтобы это был как джуниор. Почему я так делаю? Потому что я хочу наглядно потом показать, как будет работать сам авторесarch, который будет оптимизировать на каждой итерации. И пока, значит, клод нам будет генерировать всю эту историю, вы должны понимать, что сейчас в качестве объекта, а, эксперимента и исследования, которые мы берём, это просто наш сайт. Но опять же, это просто является частью продукта. Продуктом в данном случае может быть что угодно. Например, вот при работе с клиентами я просто беру, выгружаю э рекламные кампании, которые были в имейлах, забирая оттуда конверсию просматриваемости, статистики, переходов, там, покупок и пытаюсь с помощью авторесarch взять и оптимизировать конверсия. и он выкатывает гипотезы, после чего эти гипотезы закидываются в а-тестирование в

### [15:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=900s) Segment 4 (15:00 - 20:00)

сермку, и тем самым мы получаем более оптимизированные почты. Всё довольно-таки, а, с одной стороны просто, но с другой стороны это оптимизация времени вот через LLM. Так-с. И он закончил. Значит, давайте посмотрим на сам сайт. Выглядит он следующим образом. То есть тут у нас учтено 512 моделей. Они отсортированы топ-20 по интеллекту. Сейчас GPT 5,5. На X самый крутой Clot Opus 4,7 Gemini 3. 1 и Pro. Ну, в общем, похоже на правду. Можно фильтровать, можно делать там какой-нибудь по провайдеру, можно посмотреть на полную таблицу, где, кстати, учтено огромное просто количество аэ моделей. Кстати, они тут все вообще учтены, актуальны. Точно даже неплохо. В общем, мне, в принципе, нравится. Также есть по цене, кстати, да, есть небольшой UI баг, но на текущем этапе мы это пропустим. И, э, по скорости работы, причём, видите, Mercurри первый, Кен на 8 бил, в принципе, миллиардов, то параметров неплохо работает. О'кей. Что мы делаем дальше? То есть у нас есть сайт, тут довольно-таки много рендеринга, много довольно-таки моделей есть. Мы хотим теперь вернуться к нашей задаче и применить к нему авторесarch. Правильно? А для этого по факту, что у нас есть? LS Jon, мы можем выкинуть отсюда, ровно как и ENF, для того чтобы они не мешали просто по наличию файлов. То есть у нас остаётся, э, scriptрит и остаётся styles и индекса, то есть самый обычный сайт. Следующим этапом нам необходимо получить авторесarch на в данный репозиторий, да, в данный проект. Поэтому я ему говорю: "Создай или склонируй репозиторий в папку автореch, да, я кидаю ему а ссылочку. Он его закидывает. И здесь мы, в принципе, видим исходный код данного проекта. То есть programм MD. Если мы его почитаем, то это как раз-таки экспериментал эксперимент для того, чтобы лэмки делали свой собственный resarch. Э здесь он работает с именно машинным обучением, то есть то, что нам и нужно. Есть также train. payer P, которые, в принципе, мы даже менять не должны. То есть нам нас интересуют три этих файла, но на самом деле дальше начинается вот самая магия, потому что я очищаю контекст окна, и мы нам нужно сейчас поставить ему задачу. Давайте попробуем это сделать в режиме реального времени. Смотри, у нас в корне проекта лежит папка автосarch. Это оригинальный проект, который позволяет итеративно улучшать метрику. Там есть два необходимых файла. Первый файл - это. md и train. pi, которые я хочу, чтобы ты взял и применил их и адаптировал к нашему проекту и к нашей задаче. Теперь у нашей задаче и проекте. В корне данного проекта лежит три файла: HTML, JavaScript и CSS. Это веб-сайт, который мы хотим прогнать по модели репозитория Autresearch. И метрика, которую мы выставляем для того, чтобы мы оптимизировали - это скорость загрузки сайта. То есть я хочу, чтобы ты взял сейчас program. m и Train. pi, ну и вообще логику репозитория авторесarch и адаптировал под мою задачу, чтобы они работали с оптимизацией скорости моего сайта. И в следующей итерации, когда ты это сделаешь, мы всё это запустим. Все вот эти вещи положи, пожалуйста, в папку, например, resarch для того, чтобы не путать с оригинальными файлами в корне проекта. Закинем ему такой контекст, чтобы не потерять. А я скопировал. Так, можно немножечко поправить то, что я тут надиктовал, но в целом он должен понять, на самом деле. JavaScript, CSS, after resarch resarch. Я думаю, что всё о'кей. Вот мы убираем, пусть он работает. То есть, смотрите, я

### [20:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=1200s) Segment 5 (20:00 - 25:00)

обрисовал ему задачу верхнеуровневую, а чтобы он, по сути, то есть я даже руками особо ничего не делаю. Я ему говорю, что просто иди почитай вообще про данный репозиторий. Да, он пойдёт в Redmi обязательно прочитает, что здесь присутствует, как это работает. То есть это ему поможет вообще в принципе, а, понять, что здесь происходит. И дальше он должен в папочку resarch в корни нашего проекта положить уже адаптированные под наш проект файлы MD Trainp, чтобы потом мы могли запустить уже циклы итерации э для улучшения там скорости загрузки. Единственное, что у меня получилась, папочка resarch с большой буквы будет создана. Ну, ничего страшного, переживём этот момент. Смотрите, он закончил свою работу довольно-таки быстро и говорит, что он сделал programм MD, а, адаптированный. Ключевые отличия от оригинала, то есть метрика Lifehouse, Performance score, модифицируемые файлы, вместо Trainp ограничения, да, и он назвал файл optimize. p. Это полный аналог приpr. p, то есть запуск. Он поднимает локальный http, запускает Lighthouse. Ну, в общем, делает всё то, что нам и нужно. Если почитать им средственно program, то вот что мы здесь получили, да, это эксперимент для того, чтобы автоматически оптимизировала скорость загрузки сайтов. Пам-пам-пам. Здесь всё похоже, просто адаптировано под нас. А тактактак. Смотрите, что здесь важно. То есть определённое количество каких-то метрик. Нас интересует здесь следующий момент. Где-то я видел его. Ага. Вот. То, что результаты эксперимента мы складываем в results tsv. То есть это как раз-таки будет файл, в котором будет храниться результаты наших итераций, по которым мы потом сможем сделать уже определённую аналитику. Page size, PSC corn, видите, оно уже адаптировано под нашу задачу. Супер. То есть, по идее, да, что мы можем сделать дальше? Мы можем сказать мм о'кей. А теперь загляни в папочку research, прочитай file. m, КМД. И мне необходимо, чтобы ты запустил итерации мм данной программы для того, чтобы улучшить э скорость загрузки нашего сайта. Запускаю 15 итераций и начинаю прямо с этого момента. Здесь я немножечко адаптирую запрос. Значит, укажу ему, куда нужно идти. И здесь тоже укажу program. D. То есть это должен быть у нас resarch. Вот теперь сработало. Что ж, о'кей. Давайте посмотрим. Я больше ничего не делаю. То есть я сделал определённый сетап, сказал ЛМК для того, чтобы он оптимизировал, э, точнее, адаптировал, да, оригинальный авторесarch под мой проект. И дальше он начинает работу. Мы видим, что он понял, что ему нужен Lightйхаус, пошёл, поставил Lightйхау, а поставил Git, инициализировал на всякий случай почитал срипт. И что самое интересное, значит, мы должны теперь просто видеть определённые итерации того, как он будет выкладывать метрику в resultть, насколько сильно отличается скорость загрузки. Что интересно, смотрите, а он объявился тудушки. Значит, ему вначале нужно сделать setup, потом ему нужно замерить baseline. То есть это как раз-таки то, с чего мы стартуем в данном случае. И после этого он выкатил, значит, 10, получается, гипотез, которые он будет тестировать в рамках данного эксперимента. Это скрипты defersдейте синхронные шрифты, поработать с CS, шрифтами, что-то там минимизацию сделать, зилодинг и так далее. И дальше на итерации 11 тире15 он хочет уже сделать продвинутые оптимизации, основанные на тех результатах, которые мы сгенерируем. Он тут что-то пока ставит. А, Lighthouse. Всё. То есть мы понимаем план. Ну, тут вы должны тоже понимать основы, что чем больше итераций, тем лучше это будет работать, но тем больше

### [25:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=1500s) Segment 6 (25:00 - 30:00)

токенов мы скушаем в данном случае. Поэтому давайте просто подождём. На текущем этапе, смотрите, он создал файл res. v, где присутствуют как раз те метрики, которые мы будем замерять. Пока он пустой, потому что на текущем этапе он запускает baseline, да, делает первый замер. Смотрите, прошло немного времени. Давайте посмотрим. То есть у нас прошло уже первая, вторая итерация, на текущий момент идёт третья, которая оптимизирует CSS-анимации. То есть всё это происходит в автоматическом режиме. Причём, обратите внимание, он радуется, что скоринг тут 99%. А и вот что у нас записывается в Resу TSV. То есть номер комита, у нас есть performance уже определённый по загрузке сайта, да, выставляется скоринг и здесь он кратко описывает, а что вообще происходит, да? То есть пока ручками ничего не делают, то есть чисто технически я вообще могу отойти от компьютера и заняться чем угодно. Ну главный там нюанс, да, только поставить лимит по токенам, если вы переживаете за эти лимиты. Кстати, я прямо сейчас работаю на опусе 4,7, но, в принципе, для там тридцати итераций этого более чем достаточно. Больше, наверное, уже не стоит, потому что дневной лимит, конечно же, скушается. Но пока этого вполне себе приемлемо. Обратите внимание, что на шестой итерации я увидел, что он поменял в зависимости от результатов сами тест-кейсы. То есть сейчас он делает изменения на основе результатов. Он тут колдует с шрифтами, да, пытается их оптимизировать, где-то минифицирует непосредственно сам код. И дальше получается восьмая тирепятнадцатая оптимизация он поставил для того, чтобы подумать, как оптимизировать наш на самом деле самый большой scriptриt. JS, да, потому что в нём, честно говоря, самая большая проблема, он очень большой получился в данном случае. Если мы посмотрим, то в действительности у нас не такой большой индекс и не такой большой стайлс. То есть такая задачка интересная, конечно, у него под оптимизацию. Судя по шагам, я вижу, что, видите, тут скор упал. Это хорошо. А нет, он наоборот упал, поэтому мы его делаем discard. Discard, потому что не изменился никак скор. Продолжаем. То есть опять же всё это работает вот самостоятельно. Вот, собственно говоря, он и пишет, да, что скор 99 очень стабильно. Для соточки нужна радикальная мера. Теперь мы видим, что три запуска показали скоринг 100. Это очень хорошо. И теперь он попробует что-нибудь сделать с нашим JS файлом, да? То есть мы уже дошли, получается, до восьмого восьмой итерации, да? Он здесь сохранил, видите, получили соточку. Ну, посмотрим, что он сможет сделать с ней. Что интересно, смотрите, на двенадцатой итерации скор осталось 100, а page size уменьшился немножечко. Simplification win, он говорит, то есть он оставляет эту штучку опять же в результатах. Мы уже на двенадцатой итерации. Очень здорово, что, кстати, получилось сразу показать и отмену гипотезы, потому что она не проходит по выставляемому критерию. Также и какая-то оптимизация. Единственное, что получилось так, что сайт простой достаточно получилось с точки зрения HTML CSS. Тут не так много, что можно оптимизировать. Только скрипт получился большой, но тем не менее мы сейчас доведём итерации, покажу, что дальше можно делать. Расскажу пока маленькую историю. А что с одним сайтом я так игрался, он был написан на React. И в какой-то момент авторессер такой говорит: "Слушай, а зачем тут React, если можно написать на чистом JavaScript? " И в общем, убрал React из проекта, тем самым сократив, по-моему, в три раза скорость загрузки сайта, в принципе, э что было классно достаточно, и всё переписалось на ванилу. Сайт был не очень большой, но тем не менее такое тоже бывает. И смотрите, что получилось. У нас прошло 15 итераций, как я и говорил. В данном случае получился интересный результат, да, потому что мы оптимизировали скоринг с одной стороны, с 83 до 100 плюс 17 очков. И есть ключевые моменты, на основе которых была проведена оптимизация. Давайте для того, чтобы всё это дело нам визуализировать, а, кстати, мы же получили оптимизацию сразу уже в этом файле, то есть он изменён. Ровно как и ставил CSS. Но вот скрипт, да, с

### [30:00](https://www.youtube.com/watch?v=_lZGVSFDQmM&t=1800s) Segment 7 (30:00 - 33:00)

этим вот штучкой осталось никуда его не деть. А теперь, значит, 15 итераций прошло. А я ему хочу сказать: "А, супер. Теперь, пожалуйста, нарисуй мне красивый дашборд с градиентами и графиками на основе файла results. v для того, чтобы я посмотрел мм результаты нашего пятнадцатиитерационного эксперимента. Да, давайте здесь мы укажем, что это файлик. красивый. Пусть будет ещё HTML дашборд. То есть мне очень нравится работа с нейронками в том плане, что теперь для визуализации на основе вот таких вот э статистик нам, в принципе, ничего не нужно. Мы просто формируем какую-нибудь htмэльку, и она красиво нам всё показывает. Смотрите, он в итоге сделал нам дашборд. Давайте его запустим. И вот в итоге, что мы получили в результате нашей работы. Финальный скоринг 100 по лайтхаусу, да. В общем, мы видим, что первая итерация от бейзлайна сильно возросла. Потом мы как раз-таки уже оптимизировали то, что практически невозможно было оптимизировать, но тем не менее. И здесь мы видим, что page size тренд, он у нас уменьшался, хоть и незначительно, но он улучшался. Скоринг по всем, значит, итерациям конкретно, что происходило на каждой итерации, какая из них была принята, какая нет. Ну, в общем, получилось довольно наглядно. То есть, и что, на мой взгляд, самое интересное в данном случае - это то, что, мм, это всё происходило автоматически без какого-либо вмешательства. То есть берём более сложную задачу, а где просто итеративно нужно так вот делать циклами различные гипотезы, уходим и оно работает. Потому что автореч по факту это даже не про машинное обучение, это определённый паттерн, да, когда мы даём ей а какую-то цель, и она берёт и пытается оптимизировать вот данную циферку. Ну, эту страницу я также получил, в принципе, как вам только что показал. Просто здесь, наверное, более наглядно получилось, поскольку сайт был на React, он был более сложный. Вот видите, кстати, то, что вам рассказывал, тут был была итерация десятая, где написано replace React with Manila TS. И это типа огромный вин, потому что мы выиграли аж очень много. Видите, JZP такой был, а тут он в 10 раз снизился. То есть, ну, реак полностью выпилили. Это типа было супер круто. Вот эта итерация. А, да. Но стоит также предупредить, что данный инструмент он работает только в том случае, если вы можете чётко, понятно и правильно поставить метрику, которую он будет увеличивать. Потому что если она размытая, то тогда авторесч начнёт чудить и улучшать то, что не нужно было улучшать. Размер файла, количество строечек, что-нибудь в этом духе. То есть, а там, где у вас есть чёткая понятная метрика, которую вы можете достигать или вы вырабатываете определённый скоринг, то в таком случае он прекрасно работает. Ну и я уже показал, как. То есть для этого не нужно и знания, и программирования, хотя они помогут, разумеется, и при этом просто токены и ваше желание что-либо улучшать.

---
*Источник: https://ekstraktznaniy.ru/video/51666*