WEBVTT

00:00:00.199 00:00:05.080
Так. Ага.

00:00:02.919 00:00:07.839
Всем привет. Я так фантазирую, что у нас

00:00:05.080 00:00:11.480
сегодня будет такой стрим, что Вася

00:00:07.839 00:00:14.879
работает, а мы смотрим и, а, вникаем в

00:00:11.480 00:00:18.600
это. И Вася ещё поясняет, потому что,

00:00:14.879 00:00:20.199
во-первых, хочется сказать, а что Вася

00:00:18.600 00:00:22.359
сделал кучу предварительной работы, и

00:00:20.199 00:00:24.279
это показывает, что мы можем наработками

00:00:22.359 00:00:26.119
других разработчиков пользоваться.

00:00:24.279 00:00:28.439
Наверное, для этого весь GitHub и

00:00:26.119 00:00:29.960
существует. То есть, э, в современности

00:00:28.439 00:00:32.239
с нуля разрабатывать, мне кажется,

00:00:29.960 00:00:35.280
вообще не надо. То есть не то, что, ну,

00:00:32.239 00:00:37.280
ради только интереса, а начинать с нуля

00:00:35.280 00:00:40.600

  • это не самая лучшая идея. Лучше

00:00:37.280 00:00:42.280
потратить время на поиск того, кто может

00:00:40.600 00:00:44.320
сильно забустить старт проекта. Это,

00:00:42.280 00:00:46.120
во-первых. И вот Василий нам предложит

00:00:44.320 00:00:49.039
такой болерпateт

00:00:46.120 00:00:52.960
для старта. А второе, мы посмотрим

00:00:49.039 00:00:54.760
сегодня, как делают разработку

00:00:52.960 00:00:55.960
несколько агентов, соревнуясь в

00:00:54.760 00:00:59.399
некотором смысле друг с другом,

00:00:55.960 00:01:02.399
дополняя. И это у нас будет такое шоу.

00:00:59.399 00:01:04.799
Мы так будем смотреть, как Василий ими

00:01:02.399 00:01:06.960
дирижирует. И это покажет, ну, у нас

00:01:04.799 00:01:08.759
появятся такие данные отчасти

00:01:06.960 00:01:12.080
субъективные, кто лучше справится, кто

00:01:08.759 00:01:14.759
хуже, кто будет тупить, какой агент

00:01:12.080 00:01:16.799
зайдёт, а, не знаю, в тупик или сделает

00:01:14.759 00:01:20.720
быстрее, у кого кончатся токены, потому

00:01:16.799 00:01:23.680
что, кажется, вот эти CLI, а, тулы

00:01:20.720 00:01:26.320
разработческие, они будут и будут

00:01:23.680 00:01:28.799
появляться, будут улучшаться, и стоит их

00:01:26.320 00:01:30.400
иметь в виду. То есть мы будем сидеть в

00:01:28.799 00:01:32.560
терминале,

00:01:30.400 00:01:34.479
наверное, перестанем его бояться и и

00:01:32.560 00:01:36.159
будем смотреть.

00:01:34.479 00:01:37.759
А что они пишут? В код, наверное, не

00:01:36.159 00:01:40.119
будем смотреть, как Вася говорил, что он

00:01:37.759 00:01:42.560
не смотрит в код. А куда будем смотреть?

00:01:40.119 00:01:44.320
Ну вот Василий нам и расскажет. Вот

00:01:42.560 00:01:48.479
передаю слово.

00:01:44.320 00:01:51.640
Да, привет всем. Э сегодня буду

00:01:48.479 00:01:52.960
показывать, как я работаю сFу. Для тех,

00:01:51.640 00:01:54.920
кто уже был в прошлый раз, немножечко

00:01:52.960 00:01:57.240
закрепим каки-то материалы, но глубоко

00:01:54.920 00:01:59.880
не пойдём. А, расскажу, как я

00:01:57.240 00:02:02.320
подготавливаюсь к работе, покажу свои

00:01:59.880 00:02:05.680
наработки и будем тестировать разных

00:02:02.320 00:02:08.119
агентов. Цель сегодня за час сделать

00:02:05.680 00:02:09.520
рабочий САС продукт,

00:02:08.119 00:02:11.879
который действительно будет рабочий. Не

00:02:09.520 00:02:14.560
просто прототип в болте, а что-то такое

00:02:11.879 00:02:17.760
по-настоящему, что можно уже там как MVP

00:02:14.560 00:02:21.239
показывать инвесторам. Э, простая задача

00:02:17.760 00:02:23.560
будет довольно-таки м такой сервис

00:02:21.239 00:02:26.760
документации,

00:02:23.560 00:02:29.760
а, ассистент, который будет знать

00:02:26.760 00:02:33.160
какую-то базу компании, там, кодовую или

00:02:29.760 00:02:35.760
ещё какую-то, мы сами скажем. И этот

00:02:33.160 00:02:38.680
ассистент будет как бы таким помощником

00:02:35.760 00:02:42.040
для нов прибывших сотрудников, будет им

00:02:38.680 00:02:44.440
подсказывать по какой-то базе знаний.

00:02:42.040 00:02:46.440
А, будем использовать рак. Может быть,

00:02:44.440 00:02:49.680
все уже слышали, что это есть такое

00:02:46.440 00:02:51.720
слово Rag retrieval argument generation.

00:02:49.680 00:02:53.920
И вот, наверное, начну с того, что

00:02:51.720 00:02:56.560
вообще расскажу, постараюсь простыми

00:02:53.920 00:02:58.400
словами, если будут вопросы, давайте

00:02:56.560 00:03:01.120
объяснить, что такое Retri Agent

00:02:58.400 00:03:03.840
Generation, как на его базе строятся

00:03:01.120 00:03:06.480
вообще AI продукты, и стартапы, потому

00:03:03.840 00:03:08.040
что сейчас, по сути, все AI стартапы

00:03:06.480 00:03:12.280
используют эту технологию. Она довольно

00:03:08.040 00:03:14.280
простая, ничего там сложного нет. Она

00:03:12.280 00:03:17.879
случилась, эта технология в связи с

00:03:14.280 00:03:19.640
ограничением нейронных сетей. И сейчас

00:03:17.879 00:03:21.239
множество есть реализации. Ну давайте

00:03:19.640 00:03:24.840
посмотрим

00:03:21.239 00:03:29.959
базово, что это такое.

00:03:24.840 00:03:31.920
Картинку нашёл. Сейчас вскрываюсь. Это

00:03:29.959 00:03:35.080
такая картинка. Сначала может показаться

00:03:31.920 00:03:38.120
что-то непонятным. Давайте разберёмся.

00:03:35.080 00:03:39.840
У нас есть какой-то этап даты. Dat

00:03:38.120 00:03:42.159
preparation, это подготовка документов.

00:03:39.840 00:03:44.760
То есть какие-то документы, пдфки,

00:03:42.159 00:03:47.319
статьи, любой текст, неважно.

00:03:44.760 00:03:49.280
Загружается, из него информация

00:03:47.319 00:03:51.120
достаётся.

00:03:49.280 00:03:54.000
Всё понятно, да? Дальше она разбивается

00:03:51.120 00:03:56.040
на какие-то чанки по смыслам, не знаю,

00:03:54.000 00:03:58.680
по страницам, по абзацам, на маленькие

00:03:56.040 00:04:02.319
кусочки. В общем, разбиваются. Обычно

00:03:58.680 00:04:04.200
там по абзацам разбивают чанки

00:04:02.319 00:04:06.159
и складывается.

00:04:04.200 00:04:08.319
базу знаний, но предварительно

00:04:06.159 00:04:13.200
происходит бединг. Наверное, тоже

00:04:08.319 00:04:13.200
слышали про такое слово где-то, если

00:04:13.360 00:04:17.880
так или иначе работали. Вот бединг - это

00:04:15.720 00:04:19.680
такой процесс интересный. Давайте сейчас

00:04:17.880 00:04:21.400
простыми словами рассказать, что это

00:04:19.680 00:04:23.759
такое.

00:04:21.400 00:04:25.720
Картинку пока не смотрите. Вот пытался

00:04:23.759 00:04:27.280
чатом GPT побронештормить, как просто

00:04:25.720 00:04:29.680
объяснить.

00:04:27.280 00:04:32.400
Вкратце бединг - это цифровой отпечаток

00:04:29.680 00:04:33.720
смысла. Мы берём какую-то фразу или

00:04:32.400 00:04:36.720
абзац.

00:04:33.720 00:04:38.320
и превращаем её в какой-то список чисел,

00:04:36.720 00:04:42.520
вектор.

00:04:38.320 00:04:44.880
И похожие по смыслу абзацы вещи, они

00:04:42.520 00:04:47.080
получают похожие вектора. То есть они

00:04:44.880 00:04:50.120
смотрят в одном направлении эти вектора,

00:04:47.080 00:04:52.479
и они лежат рядом. Поэтому, то есть, э,

00:04:50.120 00:04:55.080
можно представить себе это на примере

00:04:52.479 00:04:58.120
библиотеки, что у каждой книги есть своя

00:04:55.080 00:05:00.880
карточка с полями, жанр, тема, стиль. И

00:04:58.120 00:05:03.840
имбединг - это такая же карточка,

00:05:00.880 00:05:08.120
и только полей у неё там сотни тысяч, и

00:05:03.840 00:05:10.360
они часовые. И две карточки с похожими

00:05:08.120 00:05:13.440
полями лежат рядышком, значит, книги

00:05:10.360 00:05:15.240
похожи. То есть вот на примере

00:05:13.440 00:05:18.600
этой картинки можно увидеть здесь два

00:05:15.240 00:05:20.840
вектора, которые лежат рядом. Это

00:05:18.600 00:05:23.360
простая математика. То есть вот есть

00:05:20.840 00:05:25.960
один вектор А, есть вектор B. между ними

00:05:23.360 00:05:29.319
маленький угол, то есть, ну, там

00:05:25.960 00:05:32.039
минимальный косинусное расстояние. Это

00:05:29.319 00:05:33.880
геометрия девятый класс. В целом ничего

00:05:32.039 00:05:35.479
такого сверхъестественного

00:05:33.880 00:05:38.120
там под капотом нет. Просто берётся

00:05:35.479 00:05:41.560
кость наное расстояние двух чисел, если

00:05:38.120 00:05:44.360
они двух векторов. Если оно минимальное,

00:05:41.560 00:05:46.759
значит, как бы по смыслу семантическому

00:05:44.360 00:05:49.720
эти два абзаца похожи. Они о чём-то

00:05:46.759 00:05:52.440
одном говорят. А вот этот вектор, он

00:05:49.720 00:05:55.759
далеко. Вот у него большой угол, значит,

00:05:52.440 00:05:57.479
он вообще про другое совершенно антоним

00:05:55.759 00:05:58.440
даже можно сказать, да? Там чем больше

00:05:57.479 00:06:00.400
этот угол, тем больше это

00:05:58.440 00:06:02.440
противоположное что-то. А похожие

00:06:00.400 00:06:05.800
синонимы, там слова могут лежать вот

00:06:02.440 00:06:08.319
практически рядом. Вот для чего это

00:06:05.800 00:06:10.120
нужно вообще?

00:06:08.319 00:06:12.240
Ну вот, допустим,

00:06:10.120 00:06:14.280
у нас есть обычный чат GPT. Мы там у

00:06:12.240 00:06:17.880
него можем хотим сделать вот

00:06:14.280 00:06:21.479
какую-нибудь систему, которая по FIQ

00:06:17.880 00:06:24.599
будет отвечать ээ

00:06:21.479 00:06:26.160
такой помощник ээ банковского

00:06:24.599 00:06:27.319
ассистента. Пользователь пишет в чат,

00:06:26.160 00:06:29.440
спрашивает: “У меня там что-то не

00:06:27.319 00:06:32.639
работает, но лмка не знает специфики

00:06:29.440 00:06:35.599
этого банка, не знает, что ему отвечать.

00:06:32.639 00:06:38.479
И скормить огромный документ в контекст

00:06:35.599 00:06:40.680
Лэмки, это очень сложно. Поэтому

00:06:38.479 00:06:42.280
используется как раз-таки ракбединг”.

00:06:40.680 00:06:46.639
Что происходит? Вот, как я и говорил, мы

00:06:42.280 00:06:49.120
разбиваем на абзацы и переводим текст в

00:06:46.639 00:06:52.599
вот эти вектора чисельные и складываем в

00:06:49.120 00:06:55.520
какую-то базу данных хранилище. Дальше

00:06:52.599 00:06:58.120
вопрос пользователя точно также

00:06:55.520 00:07:01.000
приводится к числовому вектору. Дальше

00:06:58.120 00:07:03.840
мы из этой базы знаний находим ближайшие

00:07:01.000 00:07:06.919
вектора. То есть есть вектор запроса, и

00:07:03.840 00:07:08.639
мы его как бы на графике ищем все

00:07:06.919 00:07:11.440
вектора, лежащие рядом, у которых

00:07:08.639 00:07:13.879
наименьший угол. Берём там

00:07:11.440 00:07:18.520
какое-то n число, допустим, 10 ближайших

00:07:13.879 00:07:20.639
векторов, наиболее подходящих по смыслу.

00:07:18.520 00:07:22.840
Это как бы операция, которая чисто

00:07:20.639 00:07:24.919
математическая, просто из базы данных

00:07:22.840 00:07:27.080
запросом достаём. То есть тут нету, не

00:07:24.919 00:07:30.199
тратятся токены. Токен тратятся только

00:07:27.080 00:07:30.919
на перевод текста в циферки.

00:07:30.199 00:07:32.520
Соответственно, это простая

00:07:30.919 00:07:34.680
математическая операция, как запрос из

00:07:32.520 00:07:37.120
базы данных. мы находим какое-то

00:07:34.680 00:07:40.120
количество этих абзацев близких по

00:07:37.120 00:07:42.800
смыслу, и уже эти абзацы, вот эти

00:07:40.120 00:07:45.479
релевантные, релевантная дата, мы уже

00:07:42.800 00:07:48.440
тогда отдаём в лмку. То есть мы говорим

00:07:45.479 00:07:50.639
про МТЕ, вот запрос пользователя, вот

00:07:48.440 00:07:52.840
релевантные куски из наших из нашей

00:07:50.639 00:07:55.560
документации, где-то в них может быть

00:07:52.840 00:07:57.840
ответ. Прочитай и дай ответ.

00:07:55.560 00:07:59.360
Соответственно,

00:07:57.840 00:08:01.599
МКА получает, скорее всего, только

00:07:59.360 00:08:04.440
релевантную информацию. Она там не

00:08:01.599 00:08:06.080
выдумывает, она берёт только отвечает на

00:08:04.440 00:08:09.280
ответ только из той информации, которая

00:08:06.080 00:08:12.319
у нас уже предварительно заготовлена.

00:08:09.280 00:08:14.159
Вот это что такое бединки вкратце вот

00:08:12.319 00:08:18.120
какую задачу мы сегодня будем решать.

00:08:14.159 00:08:20.159
Если есть вопрос сейчас по этой части,

00:08:18.120 00:08:23.879
скажите, дайте обратную связь. Понятно

00:08:20.159 00:08:27.520
ли я рассказал, старался? Можно проще.

00:08:23.879 00:08:29.800
Могу ещё попробовать проще.

00:08:27.520 00:08:32.440
Можно вот короткий вопрос по поводу

00:08:29.800 00:08:35.479
отображения информации в виде вектора. А

00:08:32.440 00:08:37.399
это упрощённая модель получается

00:08:35.479 00:08:41.120
информации. То есть вектор - это это

00:08:37.399 00:08:41.919
что? Это слово, это какой-то абзац.

00:08:41.120 00:08:44.320
Угу.

00:08:41.919 00:08:48.519
Что есть вектор? Что он обозначает?

00:08:44.320 00:08:54.560
вектор есть число, массив чисел, да,

00:08:48.519 00:08:57.880
набор разных чисел, где каждое число,

00:08:54.560 00:09:01.800
то есть представьте, что нам нужно взять

00:08:57.880 00:09:03.519
абзац текста. Изначально каждый кусочек

00:09:01.800 00:09:06.519

  • это, скорее всего, абзац текста, да,

00:09:03.519 00:09:08.519
там или страница документа. Вот мы её

00:09:06.519 00:09:12.200
переводим в численное значение.

00:09:08.519 00:09:14.240
Как это работает? Ээ, внутри под капотом

00:09:12.200 00:09:16.880
есть там тысячи разных критериев,

00:09:14.240 00:09:20.440
например, не знаю, там разные

00:09:16.880 00:09:23.800
семантические смыслы, их тысячи. И мы

00:09:20.440 00:09:27.200
берём каждое слово, там, каждую фразу

00:09:23.800 00:09:29.800
меряем по этому сематическому смыслу.

00:09:27.200 00:09:33.040
Вот у каждой модельки есть свой эмбедр,

00:09:29.800 00:09:37.279
э, модель маленькая, которая переводит

00:09:33.040 00:09:42.560
текст в этот вектор, и она разбивает на

00:09:37.279 00:09:44.920
смыслы. То есть задача получить какое-то

00:09:42.560 00:09:47.600
какой-то набор чисел

00:09:44.920 00:09:49.640
таким образом, чтобы два синонима были

00:09:47.600 00:09:52.120
наиболее похожи между собой, два

00:09:49.640 00:09:54.839
вектора. А внутри там множество

00:09:52.120 00:09:57.480
критерией, сколько они там придумают. В

00:09:54.839 00:10:02.399
каждый имбедер по-своему работает. Э они

00:09:57.480 00:10:04.959
там берут, не знаю, ну, к примеру, а

00:10:02.399 00:10:07.800
какие-то смысловые критерии, да, вот как

00:10:04.959 00:10:10.000
в примере с книгами. Вот это жанр, тема,

00:10:07.800 00:10:12.920
стиль. Вот мы берём одну книжку, это

00:10:10.000 00:10:15.120
значит и делаем для неё карточку. Это

00:10:12.920 00:10:17.959
книга там Гарри Поттер, она по жанру

00:10:15.120 00:10:19.839
фантастика, по стилю там такое-то. Вот

00:10:17.959 00:10:23.120
мы сделали карточку. Вот этих вот

00:10:19.839 00:10:25.880
параметров может быть там тысячи. И вот

00:10:23.120 00:10:27.880
эта вот карточка - это и есть как бы

00:10:25.880 00:10:31.440
вектор этой книги. То есть это не само

00:10:27.880 00:10:34.480
содержание книги, а такое представление

00:10:31.440 00:10:37.440
её семантического смысла. И дальше мы

00:10:34.480 00:10:39.079
расставляем картотеку этих карточек. Там

00:10:37.440 00:10:41.560
говорим: “Вот фантастика будет лежать

00:10:39.079 00:10:43.959
вот на этой полочке.

00:10:41.560 00:10:45.680
А если это фантастика и у них ещё

00:10:43.959 00:10:47.600
какой-то другой параметр совпадает, то

00:10:45.680 00:10:49.240
они вот ещё ближе друг к другу. И вот

00:10:47.600 00:10:51.720
так мы на большом шкафу расставляем эти

00:10:49.240 00:10:54.160
карточки для книг. И потом мы сможем

00:10:51.720 00:10:56.680
быстро ориентироваться. там с

00:10:54.160 00:10:58.800
пришла к нам другая карточка

00:10:56.680 00:11:01.000
и в ней сказано, что там эта книга тоже

00:10:58.800 00:11:03.240
там про фантастику, и мы сразу знаем,

00:11:01.000 00:11:05.480
что вот а карточки про фантастику у нас

00:11:03.240 00:11:07.639
лежат вот на этой полке. Можно её туда

00:11:05.480 00:11:09.399
положить либо посмотреть, что на этой

00:11:07.639 00:11:12.600
полке лежат другие книги, уже сослаться

00:11:09.399 00:11:13.240
на сами книги.

00:11:12.600 00:11:14.639
Я хотел,

00:11:13.240 00:11:16.839
Спасибо большое.

00:11:14.639 00:11:18.519
Хотел добавить, ну, так коротко, что нам

00:11:16.839 00:11:20.240
сложно это представить, если честно,

00:11:18.519 00:11:23.040
потому что я вот на второй неделе

00:11:20.240 00:11:25.200
говорил про тысячемерное пространство.

00:11:23.040 00:11:27.200
Если мы возьмём понятие код, например,

00:11:25.200 00:11:29.639
мы можем взять координаты там животное,

00:11:27.200 00:11:31.720
домашнее и поставить типа он скорее

00:11:29.639 00:11:34.279
домашний и животный, да, там,

00:11:31.720 00:11:36.959
ну, или такие две оси поставить точку

00:11:34.279 00:11:38.240
или там пушистые и мяукающие можем

00:11:36.959 00:11:40.160
поставить,

00:11:38.240 00:11:43.200
а, и можем это представить. А если у нас

00:11:40.160 00:11:45.720
таких осей там 1500, то там

00:11:43.200 00:11:48.120
какие параметры пойдут в ход, например?

00:11:45.720 00:11:51.360
А, возьмём ещё, не знаю, десяток других

00:11:48.120 00:11:56.040
языков. Он в пространстве и там кац

00:11:51.360 00:11:58.079
иметь точку. А, да. А, а ещё какие-то

00:11:56.040 00:12:00.279
я не знаю, какие модель выделяет

00:11:58.079 00:12:03.639
существенные параметры, но таким образом

00:12:00.279 00:12:07.560
упаковывается целый кусок смысла. И там,

00:12:03.639 00:12:10.560
а, можно вот в этом абзаце выделить

00:12:07.560 00:12:13.480
ключевые слова, да, токинизировать их и

00:12:10.560 00:12:17.639
присвоить целому, не знаю, смысловому

00:12:13.480 00:12:18.959
куску а вот ряд чисел. И каким образом

00:12:17.639 00:12:21.839
это происходит, я не знаю, но это

00:12:18.959 00:12:22.800
называет, ну, вот имбединг получается. А

00:12:21.839 00:12:25.279
как

00:12:22.800 00:12:27.639
как как модель решает, по каким осям

00:12:25.279 00:12:27.920
раскладывать? Не знаю, Вась, может, ты

00:12:27.639 00:12:30.639
знаешь.

00:12:27.920 00:12:33.079
Это чёрный ящик, да. Это, ну, у каждого

00:12:30.639 00:12:35.360
своё. Это код не открытый.

00:12:33.079 00:12:36.560
Это довольно уже сложная задача. Нам это

00:12:35.360 00:12:38.000
на самом деле не важно. Я просто пытался

00:12:36.560 00:12:40.639
объяснить так, чтобы было понятно, но

00:12:38.000 00:12:42.399
это может быть даже, то есть важно, что

00:12:40.639 00:12:45.240
есть какой-то абзац, и его можно

00:12:42.399 00:12:48.320
привести в какой-то вектор.

00:12:45.240 00:12:50.360
Вектора ээ близкие к друг другу,

00:12:48.320 00:12:52.959
соответственно, по смыслу похожие. Таким

00:12:50.360 00:12:55.639
образом, мы можем оперировать огромным

00:12:52.959 00:12:57.760
количеством информации. У нас в chatчат

00:12:55.639 00:13:00.199
GPT там влазиет там контекстное окно

00:12:57.760 00:13:02.360
несколько тысяч. Там у Gнаi миллионный

00:13:00.199 00:13:05.120
контекст, но это максимум. мы не сможем

00:13:02.360 00:13:08.000
там пять книжек войны и мир загрузить

00:13:05.120 00:13:11.639
сразу в контекстное окно. Поэтому, чтобы

00:13:08.000 00:13:14.399
искать что-то в огромной базе знаний,

00:13:11.639 00:13:17.560
нам нужен мembдинг,

00:13:14.399 00:13:20.880
чтобы привести, ну, чтобы находить как

00:13:17.560 00:13:22.800
бы по семантически похожие фразы

00:13:20.880 00:13:26.040
довольно легко и дёшево, просто обычным

00:13:22.800 00:13:27.279
запросом. Вот в числах можно брать

00:13:26.040 00:13:29.240
похожие два числа, значит,

00:13:27.279 00:13:31.560
по-симатически эти две фразы будут

00:13:29.240 00:13:34.120
похожи. Вот такую задачу это решает. Вот

00:13:31.560 00:13:36.399
это, наверное, самое важное. А ещё у

00:13:34.120 00:13:40.600
меня такой вопрос. Вот мы эмбедим, ну,

00:13:36.399 00:13:43.240
этих эмбедеров там десятки моделей, а

00:13:40.600 00:13:45.440
моделей, не знаю, там сотни. И каким

00:13:43.240 00:13:47.320
образом тот эмбединг, который мы абзац

00:13:45.440 00:13:50.160
текста получаем, он становится как бы

00:13:47.320 00:13:51.720
родным внутри лэмки, да? Можем ли мы

00:13:50.160 00:13:53.360
перевести в такой вектор, который просто

00:13:51.720 00:13:55.440
там не приживётся, как бы, да, будет

00:13:53.360 00:13:58.360
другим по размерности, по семантике или

00:13:55.440 00:13:59.920
ещё по чему-то? Как нужно сочетать,

00:13:58.360 00:14:02.759
[музыка]

00:13:59.920 00:14:05.720
ну, сочетать лмку ибедер, потому что

00:14:02.759 00:14:08.440
одни эмбедеры дешёвые, быстрые, другие

00:14:05.720 00:14:10.720
глупые, не знаю, некоторые дорогие. Тут

00:14:08.440 00:14:13.240
же тоже выходит подбор и модели, и

00:14:10.720 00:14:15.279
самого Эмбедера.

00:14:13.240 00:14:18.040
Да, смотри, как это работает. Eдер - это

00:14:15.279 00:14:21.560
отдельная операция. Мы взяли текст,

00:14:18.040 00:14:24.399
перевели его в эмбединг, в вот эти

00:14:21.560 00:14:26.839
циферки, вектора. И у каждой модели есть

00:14:24.399 00:14:28.639
разные эмбедеры. Главное, что здесь

00:14:26.839 00:14:32.320
иметь, если мы выбрали один имбедер, то

00:14:28.639 00:14:35.240
мы всё им и имбедим. Если мы возьмём,

00:14:32.320 00:14:37.199
за имбедим от Open один кусок, а другие

00:14:35.240 00:14:39.079
другой кусок замбедим от, не знаю,

00:14:37.199 00:14:41.639
антропика, то эти два мбединга, они

00:14:39.079 00:14:44.120
вообще не сойдутся. Они про разные. У

00:14:41.639 00:14:45.720
каждой компании как бы свой бедер. Если

00:14:44.120 00:14:48.399
мы какой-то выбрали бедер, мы должны его

00:14:45.720 00:14:52.560
всегда использовать. А, отвечая на твой

00:14:48.399 00:14:55.199
вопрос дальше. Мы, когда нашли похожие

00:14:52.560 00:14:58.000
кусочки, то мы уже достали сам текст. В

00:14:55.199 00:15:01.680
лмку уже дальше пойдёт сам текст

00:14:58.000 00:15:03.720
документа, то есть не циферки.

00:15:01.680 00:15:05.560
И мы по циферкам только находим

00:15:03.720 00:15:07.959
ближайшие похожие, чтобы достать из

00:15:05.560 00:15:10.680
запроса пользователя и огромной базы

00:15:07.959 00:15:13.040
документов релевантные кусочки

00:15:10.680 00:15:15.560
информации. И когда мы вот достали их в

00:15:13.040 00:15:18.000
виде имбедингов, мы уже

00:15:15.560 00:15:21.240
приводим это обратно в текст, потому что

00:15:18.000 00:15:23.360
мы храним и текст, и имбединг. И вот мы

00:15:21.240 00:15:26.279
достали по циферкам, но подставили вмку

00:15:23.360 00:15:28.360
уже сам текст. Поэтому

00:15:26.279 00:15:30.839
неважно, какой мбидинг использовать, как

00:15:28.360 00:15:33.839
с лмкой сочетать, потому что всё равно в

00:15:30.839 00:15:36.440
лэмку уже пойдёт обычный текст. Но важно

00:15:33.839 00:15:37.839
выбрать один мбединг и на нём сидеть.

00:15:36.440 00:15:40.920
Либо, если переходить на другой, то

00:15:37.839 00:15:42.680
переделывать всё на другой мбединг, в

00:15:40.920 00:15:44.600
том числе те документы, которые уже были

00:15:42.680 00:15:47.399
загружены. А какой имбединг выбрать? Это

00:15:44.600 00:15:49.079
задача хорошая. И для этого обычно есть

00:15:47.399 00:15:50.920
бенчмарки, потому что под разные

00:15:49.079 00:15:53.279
бизнес-процессы

00:15:50.920 00:15:55.360
может лучше перформить тот или инойбедер

00:15:53.279 00:15:57.839
под разные задачи свой. Мы сегодня

00:15:55.360 00:15:59.440
возьмём там самый простой топ лайтовый

00:15:57.839 00:16:03.680
бедер. Они там бывают двумерные,

00:15:59.440 00:16:06.959
тримерные, но это уже задачи, которые

00:16:03.680 00:16:09.839
требуют там анализа. и тестов по

00:16:06.959 00:16:13.240
бенчмаркам, как будет лучше себя вести.

00:16:09.839 00:16:14.959
Потому что, например, есть специфика

00:16:13.240 00:16:16.560
какого-нибудь медицинского сегмента,

00:16:14.959 00:16:19.279
там, допустим, в медицинской теме там,

00:16:16.560 00:16:21.600
наверное, openй будет лучше имбедить, а

00:16:19.279 00:16:23.199
там в теме программирования, может быть,

00:16:21.600 00:16:25.839
антропиковская модель будет лучше

00:16:23.199 00:16:28.040
бедить. То есть это тоже есть для этого

00:16:25.839 00:16:28.600
разные бичмарки. Вот тут уже

00:16:28.040 00:16:30.199
Угу.

00:16:28.600 00:16:32.360
надо исходить из задачи.

00:16:30.199 00:16:35.279
Спасибо.

00:16:32.360 00:16:37.639
Ну и пойдём тогда разрабатывать. Вот я

00:16:35.279 00:16:39.920
тут подготовилхабе

00:16:37.639 00:16:44.240
для вас проектик,

00:16:39.920 00:16:46.160
называется coding starter. В нём я

00:16:44.240 00:16:49.920
у меня есть документация на русском. За

00:16:46.160 00:16:53.440
что? Вот это шаблон, в котором уже

00:16:49.920 00:16:56.360
подключен там фреймворк для разработки,

00:16:53.440 00:17:01.839
там NextJS. Я выбрал как такой самый

00:16:56.360 00:17:04.600
простой. Firebase - это база данных, э,

00:17:01.839 00:17:06.760
и авторизация, и аналитика. Это такой

00:17:04.600 00:17:08.199
сервис, э,

00:17:06.760 00:17:10.360
в котором есть всё. Я сейчас чуть дальше

00:17:08.199 00:17:13.760
покажу. В общем, я соединил несколько

00:17:10.360 00:17:15.520
разных технологий уже за вас, чтобы ни

00:17:13.760 00:17:17.240
выни агент не выбирал, описал

00:17:15.520 00:17:21.480
документацию,

00:17:17.240 00:17:24.559
а создал разные файлики для агентов. Вот

00:17:21.480 00:17:27.000
MD, да, это файл, который описывает, что

00:17:24.559 00:17:29.720
это за проект, какие команды там нужны

00:17:27.000 00:17:31.600
для запуска, для установки зависимости,

00:17:29.720 00:17:33.760
какие технологии тут используются там

00:17:31.600 00:17:37.880
для юа библиотеки, какой технологический

00:17:33.760 00:17:41.480
стак, где что лежит, как что хранить, а

00:17:37.880 00:17:45.520
какие перемены нужны, да, этот файл он

00:17:41.480 00:17:46.840
не для человека, он для агента. А, и так

00:17:45.520 00:17:49.640
как у нас сегодня будет множество разных

00:17:46.840 00:17:52.120
агентов, вот этот вообще формат агент

00:17:49.640 00:17:54.520
MD, он такой как бы универсальный

00:17:52.120 00:17:56.000
для того, чтобы разные агенты могли

00:17:54.520 00:17:58.720
работать с одним и тем же файлом. То

00:17:56.000 00:18:01.080
есть здесь у меня репозиторий

00:17:58.720 00:18:04.080
подразумевает, что вы можете как бы хоть

00:18:01.080 00:18:08.200
с Курсором работать, хоть там с Киро,

00:18:04.080 00:18:11.120
хоть ээ с Клодом, с Кадексом, с Джемни.

00:18:08.200 00:18:13.200
А, но вся информация будет храниться как

00:18:11.120 00:18:17.280
бы в одном файле, чтобы не для каждого

00:18:13.200 00:18:20.559
агента не писать такой файл. Все вот MD,

00:18:17.280 00:18:23.360
он ссылается как бы на этот агент, да?

00:18:20.559 00:18:26.320
То есть это источник правды для агентов,

00:18:23.360 00:18:30.919
для всех. Просто универсальный формат.

00:18:26.320 00:18:33.679
А вот сам проект

00:18:30.919 00:18:35.600
лучше всего там спулить, да, если умеете

00:18:33.679 00:18:40.000
там пользоваться, можно либо скачать

00:18:35.600 00:18:42.520
зипом и открыть на компьютере.

00:18:40.000 00:18:46.000
Когда вы его скачаете, там надо будет

00:18:42.520 00:18:48.000
сделать ещё один момент. Это добавить

00:18:46.000 00:18:50.280
инваменты переменные.

00:18:48.000 00:18:53.640
Вот есть Firebase.

00:18:50.280 00:18:56.440
Я уже создал проект тестовый.

00:18:53.640 00:18:59.280
Вот как он выглядит. Э-э, здесь я создал

00:18:56.440 00:19:01.120
приложение,

00:18:59.280 00:19:04.159
и

00:19:01.120 00:19:07.520
тут можно вот скачать, э, вот эти вот

00:19:04.159 00:19:10.880
значения. Нам понадобятся для

00:19:07.520 00:19:13.799
того, чтобы положить их в

00:19:10.880 00:19:17.400
файлик environment перемен.

00:19:13.799 00:19:20.480
Вот тут есть key, и так далее. И ещё

00:19:17.400 00:19:25.120
Open ключик я закинул, так как мы будем

00:19:20.480 00:19:27.720
работать с лмками. у нас будет продукт.

00:19:25.120 00:19:30.600
Вот это нам единственная подготовка,

00:19:27.720 00:19:33.000
которая нужна будет. Там в документации

00:19:30.600 00:19:35.200
тоже об этом написано. И что мы здесь

00:19:33.000 00:19:37.200
получим? В итоге уже сразу

00:19:35.200 00:19:39.240
преднастроенную авторизацию. Будем

00:19:37.200 00:19:44.039
видеть пользователи, которые зашли, их

00:19:39.240 00:19:46.240
ID. Можем видеть базу данных и по ней

00:19:44.039 00:19:49.679
ходить по полям базы данных в удобном

00:19:46.240 00:19:51.600
виде. Можно настроить аналитику сразу. У

00:19:49.679 00:19:53.280
нас получается такая будет админка

00:19:51.600 00:19:56.400
нашего продукта, в которой будет всё

00:19:53.280 00:19:57.400
сразу содержаться. Если мы подключим

00:19:56.400 00:20:00.360
аналитику, здесь будет какая-то

00:19:57.400 00:20:05.559
статистика, ивенты.

00:20:00.360 00:20:10.200
Вот это зачем нужен Firebase кратко. Ну

00:20:05.559 00:20:13.840
и давайте приступим к задаче.

00:20:10.200 00:20:16.039
Чтобы я много времени не тратил,

00:20:13.840 00:20:19.039
уже заранее написал какой-то небольшой

00:20:16.039 00:20:19.039
промт.

00:20:19.200 00:20:25.600
А я на самом деле не написал.

00:20:22.720 00:20:29.520
Скажем ему:

00:20:25.600 00:20:29.520
”Действуй как-менеджер

00:20:29.919 00:20:35.320
и напиши,

00:20:31.799 00:20:37.840
а project requirement документ для

00:20:35.320 00:20:40.840
разработчика для разработки вот такого

00:20:37.840 00:20:40.840
продукта”.

00:20:41.200 00:20:46.679
Важно в пронте это указывать

00:20:44.080 00:20:48.919
роль. И вот он.

00:20:46.679 00:20:50.480
Я писал документ SAS Smart Doc

00:20:48.919 00:20:53.280
Assistant, да, простое название какое-то

00:20:50.480 00:20:56.480
САС для стартапов, который загружает их

00:20:53.280 00:20:58.720
техническую документацию. И есть

00:20:56.480 00:21:02.520
страница, которая отвечает на вопросы

00:20:58.720 00:21:07.120
новых разработчиков вмокодовой базе.

00:21:02.520 00:21:07.120
Вот. И небольшие

00:21:07.840 00:21:12.600
описания. На самом деле можно и меньше,

00:21:10.000 00:21:14.880
просто

00:21:12.600 00:21:17.720
какое-то небольшое дать ему описание.

00:21:14.880 00:21:20.400
Вот так даже можно. Просто я чуть здесь

00:21:17.720 00:21:25.400
уточнил, чтобы мы точно успели за нашу

00:21:20.400 00:21:25.400
сессию. Я ему порезал скоп.

00:21:28.039 00:21:32.360
То есть, что я сейчас делаю? Я сейчас

00:21:29.320 00:21:33.960
создаю как бы техническое задание для

00:21:32.360 00:21:36.320
разработчика. Разрабатывать у нас будет

00:21:33.960 00:21:39.440
агент,

00:21:36.320 00:21:42.120
ну или разработчик с агента, да. Ну вот

00:21:39.440 00:21:44.360
нужно какое-то

00:21:42.120 00:21:46.520
чуть более подробное

00:21:44.360 00:21:50.919
описание.

00:21:46.520 00:21:53.080
Там ответ попишет какой-то.

00:21:50.919 00:21:55.559
Сейчас я вам скажу брать пример кода. Ну

00:21:53.080 00:21:58.559
или ладно, оставлю,

00:21:55.559 00:21:58.559
неважно.

00:22:09.360 00:22:12.919
Ну, в общем, получился какой-то

00:22:11.080 00:22:15.320
документ. Пока он долго пишет, я, на

00:22:12.919 00:22:16.840
самом деле, уже

00:22:15.320 00:22:22.799
здесь вот загружал такой похожий

00:22:16.840 00:22:26.039
документ. И вот покажу, как это было.

00:22:22.799 00:22:27.919
То есть сейчас я открыл курсор вам, но

00:22:26.039 00:22:29.799
только потому, что здесь просто удобнее

00:22:27.919 00:22:32.720
показать,

00:22:29.799 00:22:35.640
как это работает. Вот тот проект,

00:22:32.720 00:22:37.320
который мы с Гитхаба скопируем.

00:22:35.640 00:22:40.640
Если мы его откроем кодовом редакторе,

00:22:37.320 00:22:44.440
он будет выглядеть вот так.

00:22:40.640 00:22:46.960
В нём есть из важного это папочка план и

00:22:44.440 00:22:49.960
три файлика.

00:22:46.960 00:22:53.919
Что я делаю? Первым делом

00:22:49.960 00:22:57.640
я добавляю в контекст

00:22:53.919 00:23:00.760
а чата этот файлик generate перерыди и

00:22:57.640 00:23:02.440
скидываем ему какое-то описание задачи.

00:23:00.760 00:23:04.880
Это описание задачи, оно обычно у меня

00:23:02.440 00:23:06.120
сильно короче. Я просто там с ноги

00:23:04.880 00:23:09.080
залетаю, говорю: “Сделай мне то-то,

00:23:06.120 00:23:11.720
то-то”. В двух словах.

00:23:09.080 00:23:14.520
Здесь я просто чуть больше подготовился,

00:23:11.720 00:23:15.960
более подробно ему писал. Чем подробнее

00:23:14.520 00:23:18.559
вы описываете задачу, тем лучше

00:23:15.960 00:23:20.919
результат будет.

00:23:18.559 00:23:22.760
В результате чего в ответ на вот этот

00:23:20.919 00:23:27.559
мой промт,

00:23:22.760 00:23:27.559
он мне задал уточняющие вопросы.

00:23:28.200 00:23:32.720
Я на них должен был ответить, но я

00:23:30.960 00:23:35.320
сейчас ленивый. Я просто их сейчас

00:23:32.720 00:23:37.400
скопирую. Пусть нас решит наш проject

00:23:35.320 00:23:39.400
менеджер. Мы ему сказали, пусть он и сам

00:23:37.400 00:23:41.320
отвечает. Вот.

00:23:39.400 00:23:43.720
То есть нам project менеджер дал задачу,

00:23:41.320 00:23:45.440
мы ему задаём уточняющий вопрос.

00:23:43.720 00:23:49.120
Общается прокт-менеджер с программистом.

00:23:45.440 00:23:50.919
Программист не понял, что нужно сделать.

00:23:49.120 00:23:52.720
И вот

00:23:50.919 00:23:54.760
ответы на уточняющие вопросы. Вот он

00:23:52.720 00:23:56.919
генерирует. Пока он перирует, я вот

00:23:54.760 00:23:59.279
покажу, что

00:23:56.919 00:24:01.679
он точно так же мне ответил. То есть в

00:23:59.279 00:24:03.799
прошлый раз отличные вопросы для

00:24:01.679 00:24:06.720
уточнения. Здесь то же самое. Отличные

00:24:03.799 00:24:09.960
уточняющие вопросы.

00:24:06.720 00:24:14.240
Вот я дал ему ответы на эти вопросы. То

00:24:09.960 00:24:15.760
есть А1, B3. Тут специально таким

00:24:14.240 00:24:18.520
образом промт устроен, чтобы не

00:24:15.760 00:24:20.679
приходилось описывать всё ручками, а

00:24:18.520 00:24:24.679
просто морским боем выбираем там ответ

00:24:20.679 00:24:26.320
на вопрос а два там и так далее. Вопросы

00:24:24.679 00:24:27.960
типа уточняющие. Что делать, если

00:24:26.320 00:24:32.399
пользователь загружает документ с тем же

00:24:27.960 00:24:35.120
именем повторно? Ну какие-то корнеркейсы

00:24:32.399 00:24:36.600
какие-то нужно нам решить моменты. Здесь

00:24:35.120 00:24:41.080
я вообще ничего не решал. Вот у меня

00:24:36.600 00:24:43.720
была только задача. И она изначально

00:24:41.080 00:24:45.720
было описание её только бизнесовое,

00:24:43.720 00:24:47.279
никакого кода, никаких там примеров

00:24:45.720 00:24:49.080
кода.

00:24:47.279 00:24:50.799
Единственное, что я сказал, что формат

00:24:49.080 00:24:52.840
markдаdown.

00:24:50.799 00:24:55.080
И из такого важного я вам сказал, что

00:24:52.840 00:24:58.080
вот у меня MVP, и мне нужно за 30 минут

00:24:55.080 00:25:01.760
успеть всё это сделать, потому что я вот

00:24:58.080 00:25:03.039
сейчас во время живой демонстрации

00:25:01.760 00:25:04.760
я ему уточнил, чтобы он там не

00:25:03.039 00:25:07.880
разгулялся и мы успели с вами быстро

00:25:04.760 00:25:10.760
пройти, соответственно.

00:25:07.880 00:25:16.960
получили промт, дали уточняющие вопросы

00:25:10.760 00:25:20.240
в результате и а он не здесь. Он

00:25:16.960 00:25:22.799
в результате создался документ.

00:25:20.240 00:25:25.039
Этот документ техническое задание

00:25:22.799 00:25:27.600
product requirement document, который

00:25:25.039 00:25:30.679
описывает, что мы делаем, проблема, как

00:25:27.600 00:25:34.080
он её решает, цели, как разработчик, то

00:25:30.679 00:25:37.520
есть это истории,

00:25:34.080 00:25:39.799
а разные, ну, в общем, такой огромный

00:25:37.520 00:25:42.039
документ. Раньше была даже такая роль в

00:25:39.799 00:25:45.960
IT-стартапах, ну, вообще в IT-командах.

00:25:42.039 00:25:47.440
какой-то аналитик или, э, wter,

00:25:45.960 00:25:48.840
техрайтер. В общем, это задача,

00:25:47.440 00:25:50.120
наверное, техрайтера описать вот такой

00:25:48.840 00:25:52.240
документ, чтобы разработчик начал

00:25:50.120 00:25:54.679
работать. Здесь у нас за 1ну минуту мы

00:25:52.240 00:25:57.640
получили уже этот документ. На основе

00:25:54.679 00:25:59.799
этого документа

00:25:57.640 00:26:03.159
это всё само.

00:25:59.799 00:26:06.039
Я вызываю наш следующий

00:26:03.159 00:26:08.000
файлик из вот этой папки план generate

00:26:06.039 00:26:11.919
task.

00:26:08.000 00:26:14.600
прошу его generate task за, то есть

00:26:11.919 00:26:15.880
затащил этот файлик сюда и указал, что

00:26:14.600 00:26:17.679
для вот этого вновь созданного

00:26:15.880 00:26:20.320
документа,

00:26:17.679 00:26:24.159
типа, сгенерирую мне таски для вот этого

00:26:20.320 00:26:26.399
PRD. Соответственно, он на выходе я

00:26:24.159 00:26:31.960
получил вот такой файл, в котором

00:26:26.399 00:26:35.360
указаны задачи на и подзадачи

00:26:31.960 00:26:37.679
вот в таком формате.

00:26:35.360 00:26:40.679
И с этим уже можно приступать к

00:26:37.679 00:26:40.679
разработке.

00:26:41.640 00:26:45.360
Что у нас есть? У нас есть

00:26:43.679 00:26:47.960
файлик описывающий, что нам сделать и

00:26:45.360 00:26:50.520
уже конкретно по плану разбитый на

00:26:47.960 00:26:52.240
подзадач, чтобы простейший там джуниор

00:26:50.520 00:26:53.720
разработчик смог

00:26:52.240 00:26:56.000
разработать

00:26:53.720 00:26:58.960
по пунктикам один за одним. Зачем нам

00:26:56.000 00:27:01.440
это нужно? Потому что у агентов контекст

00:26:58.960 00:27:03.200
маленький. Мы можем прерваться, чтобы

00:27:01.440 00:27:05.360
всегда была какая-то память у агента,

00:27:03.200 00:27:07.440
чтобы мы к ней всегда могли возвращаться

00:27:05.360 00:27:09.919
и чтобы мы видели прогресс. То есть мы

00:27:07.440 00:27:12.120
здесь вручную управляем прогрессом,

00:27:09.919 00:27:14.600
видим, насколько мы продвинулись. И в

00:27:12.120 00:27:16.799
каждый момент времени, э, агент решает

00:27:14.600 00:27:18.720
маленькую понятную задачу, имея контекст

00:27:16.799 00:27:22.520
общий, что приводит к лучшему

00:27:18.720 00:27:22.520
результату, по еему мнению.

00:27:22.760 00:27:28.440
Вот. Ну и теперь, а, открывая терминал,

00:27:26.840 00:27:32.080
покажу вам, что это не так страшно. У

00:27:28.440 00:27:36.640
нас сегодня с вами соревнуется

00:27:32.080 00:27:38.760
шесть разных э кодинговых агентов.

00:27:36.640 00:27:41.720
Какой-то АМП. Первый раз сегодня про

00:27:38.760 00:27:43.880
него узнал, поставил.

00:27:41.720 00:27:46.000
Посмотрим, что он из себя представляет.

00:27:43.880 00:27:48.000
Вот код.

00:27:46.000 00:27:50.640
Мой любимый, наверное, фаворит. К

00:27:48.000 00:27:52.200
примере, я с ним больше всего работаю.

00:27:50.640 00:27:57.039
кодекс.

00:27:52.200 00:28:00.919
А терминал кодинговый агент от Openя,

00:27:57.039 00:28:04.120
доступный по подписки J GPT.

00:28:00.919 00:28:07.919
Gemini - это, соответственно, моделька

00:28:04.120 00:28:10.159
GM от, но в виде кодингового агента.

00:28:07.919 00:28:12.480
Open Code.

00:28:10.159 00:28:14.880
Это openourсная моделька, Openourсная

00:28:12.480 00:28:18.480
силайка, в которой можно много моделей

00:28:14.880 00:28:20.320
выбирать. Э, там даже можно вроде как

00:28:18.480 00:28:22.799
почти бесплатно не пользоваться.

00:28:20.320 00:28:24.600
при определённых сценариев.

00:28:22.799 00:28:27.960
Вот для не даже никая подписка не нужна.

00:28:24.600 00:28:29.679
Ну или там свои токены добавлять и

00:28:27.960 00:28:31.360
только по токенам билится. Можно

00:28:29.679 00:28:34.799
какие-нибудь дешёвые модели, можно

00:28:31.360 00:28:37.799
модели какие угодно здесь выбирать.

00:28:34.799 00:28:37.799
Ан

00:28:37.919 00:28:43.399
это вроде от китайцев.

00:28:39.799 00:28:47.519
Даже интересная модель.

00:28:43.399 00:28:51.039
Вот всё, что я сделал. А я по сути

00:28:47.519 00:28:51.039
открыл в терминале.

00:28:51.399 00:28:59.799
Я выйду. То есть у меня есть папка, где

00:28:54.880 00:29:04.279
я храню вот этот код. Я в него зашёл

00:28:59.799 00:29:04.279
через терминал. Вот

00:29:05.519 00:29:13.039
папкой set. Я такой change directory to

00:29:08.840 00:29:15.200
clot. Я назвал clot sw.

00:29:13.039 00:29:16.880
Для каждого агента у меня своя папка

00:29:15.200 00:29:21.279
сейчас.

00:29:16.880 00:29:23.519
И внутри, по сути, везде одинаковый вот

00:29:21.279 00:29:25.679
этот проект

00:29:23.519 00:29:27.799
болеп для старта, в котором я уже

00:29:25.679 00:29:29.799
поместил все вот эти предварительно,

00:29:27.799 00:29:32.480
чтобы сейчас время не тратить, все вот

00:29:29.799 00:29:34.519
эти задания, поместил enвайромент

00:29:32.480 00:29:37.320
переменные

00:29:34.519 00:29:39.880
и всё. Это всё, что нужно для старта. То

00:29:37.320 00:29:42.080
есть каждый агент имеет одинаковую папку

00:29:39.880 00:29:45.480
с одинаковым заданием.

00:29:42.080 00:29:48.000
Вот запускаю агента. Как их установить?

00:29:45.480 00:29:49.200
Можно посмотреть там на сайте у них одну

00:29:48.000 00:29:52.000
команду вызов в терминале, он

00:29:49.200 00:29:55.960
становится. И вот мы добро пожаловать в

00:29:52.000 00:29:58.399
clкод, добро пожаловать тамкс. Давайте

00:29:55.960 00:30:00.760
в каждом начнём работу.

00:29:58.399 00:30:02.720
Эх такое правило: через собачку

00:30:00.760 00:30:05.399
mentionть файлы. То есть я нажимаю

00:30:02.720 00:30:07.360
собачка, я знаю, что у меня в папке план

00:30:05.399 00:30:10.919
лежат три файла. И вот он мне

00:30:07.360 00:30:14.480
подсвечивает. Я выбираю план

00:30:10.919 00:30:16.840
process. Это третий файл в этой папке,

00:30:14.480 00:30:19.760
который объясняет агенту, каким образом

00:30:16.840 00:30:24.760
ему нужно идти выполнять задачу.

00:30:19.760 00:30:24.760
Я добавляю этот файл в контекст агента.

00:30:25.399 00:30:31.120
Я

00:30:27.360 00:30:33.200
добавляю сюда из папки task тот файл,

00:30:31.120 00:30:36.840
который только что мы сгенерили, который

00:30:33.200 00:30:40.440
содержит в себе описание задачи.

00:30:36.840 00:30:43.640
Вот он. Добавляю и говорю ему:

00:30:40.440 00:30:43.640
”Let’s go”.

00:30:44.480 00:30:50.120
И он внутри себя уже знает, как ему идти

00:30:46.720 00:30:52.440
по пунктам, что ему нужно делать.

00:30:50.120 00:30:54.480
Всё, мы его запустили. Он пошёл кушать

00:30:52.440 00:30:57.000
токены, что-то там делать. Пока пойдём

00:30:54.480 00:31:01.240
следующее запустим. То же самое. Можно

00:30:57.000 00:31:01.240
даже копирнуть это чтопечатать.

00:31:06.039 00:31:11.360
Сейчас я здесь разрешу, он будет

00:31:07.799 00:31:14.360
спрашивать, могу ли я начать.

00:31:11.360 00:31:14.360
А

00:31:18.000 00:31:25.279
так,

00:31:20.960 00:31:29.279
а, сорри. Мм, я там немножечко, когда

00:31:25.279 00:31:29.279
копировал, не учил. Один момент,

00:31:32.639 00:31:37.720
у меня таски проставлено все как уже

00:31:34.840 00:31:39.760
сделаны,

00:31:37.720 00:31:41.399
и поэтому он думает, что всё уже

00:31:39.760 00:31:45.840
сделано. и не хочет ничего делать.

00:31:41.399 00:31:45.840
Сейчас просто их копировал.

00:31:51.360 00:31:55.639
Мы уберём крестик.

00:32:48.399 00:32:54.399
Так, теперь я скопирую это для всех

00:33:00.600 00:33:06.279
для кодекса, для джемени. У всех

00:33:03.200 00:33:09.559
одинаковые проекты

00:33:06.279 00:33:09.559
для Openда,

00:33:11.039 00:33:14.639
для Квина.

00:33:17.519 00:33:26.320
А и вот для АП ещё. Угу.

00:33:22.840 00:33:30.399
Всё. Э,

00:33:26.320 00:33:30.399
ещё раз. Теперь

00:33:30.880 00:33:33.720
дано.

00:33:39.159 00:33:45.279
Процесим task list из папки task.

00:33:48.600 00:33:56.039
Вот такой запрос.

00:33:51.559 00:33:56.039
По сути, кодинговый агент - это чат,

00:33:56.399 00:34:02.799
который с которым мы общаемся просто

00:33:59.320 00:34:02.799
текстом, голосом.

00:34:03.600 00:34:07.399
И в нём ничего страшного нет. Это не

00:34:05.360 00:34:09.520
такой терминал, как вы привыкли, где

00:34:07.399 00:34:10.679
команды нужно знать.

00:34:09.520 00:34:14.079
Это такой же чат, просто у него

00:34:10.679 00:34:16.760
интерфейс чуть менее приятный, может

00:34:14.079 00:34:20.599
быть. Роман,

00:34:16.760 00:34:23.079
а вопрос дилетантов. А почему именно

00:34:20.599 00:34:25.679
кодинговый агент, а не среда разработки?

00:34:23.079 00:34:28.359
Или это в принципе одно и то же?

00:34:25.679 00:34:31.320
Угу. Ну, а в прошлый раз мы уже

00:34:28.359 00:34:32.599
показывали на примере

00:34:31.320 00:34:35.320
среды разработки. Сейчас просто

00:34:32.599 00:34:37.280
интересно на этом мастер-классе показать

00:34:35.320 00:34:39.200
кодинговых агентов. Я лично использую

00:34:37.280 00:34:42.119
кодинговых агентов, потому что конкретно

00:34:39.200 00:34:45.760
cloudкод сильно лучше по своему тулингу,

00:34:42.119 00:34:47.800
чем курсор. По сути, все они используют

00:34:45.760 00:34:50.919
какие-то модели,

00:34:47.800 00:34:54.480
э, внутри себя, но важно, как они их

00:34:50.919 00:34:59.000
оркестрируют и используют инструменты

00:34:54.480 00:35:00.880
тулинга. И у каждого агента это своё. То

00:34:59.000 00:35:04.040
есть у курсора тоже есть представление в

00:35:00.880 00:35:05.960
виде C. Просто код даёт мощный

00:35:04.040 00:35:08.680
результат, но у него нету красивого

00:35:05.960 00:35:09.920
интерфейса, как у

00:35:08.680 00:35:11.640
курсора, например.

00:35:09.920 00:35:13.359
У Клоуда же был какой-то интерфейс, я

00:35:11.640 00:35:15.640
помню, похоже на этот сейчас как на

00:35:13.359 00:35:16.480
курсора, мне кажется, он был или нет?

00:35:15.640 00:35:18.599
Или мне показалось?

00:35:16.480 00:35:21.800
Нет, нет, нет. Это как бы есть компании,

00:35:18.599 00:35:25.040
которые делают редакторы кода, и у них

00:35:21.800 00:35:28.640
есть свой агент и его отображение вот

00:35:25.040 00:35:30.200
здесь сбоку, где видно и чат, и файловую

00:35:28.640 00:35:32.760
систему. Здесь же у нас не видно

00:35:30.200 00:35:34.440
файловую систему, здесь просто видно вот

00:35:32.760 00:35:35.680
эта часть чата.

00:35:34.440 00:35:38.000
То есть это что-то типа просто

00:35:35.680 00:35:41.560
терминала. А слово агент здесь, ну, как

00:35:38.000 00:35:43.800
бы, наверное, немного не отражается.

00:35:41.560 00:35:46.160
Не, это отражает именно то, что он

00:35:43.800 00:35:48.440
автономный и ему можно поручить какую-то

00:35:46.160 00:35:50.839
задачу. То есть ему вот мы скармливаем

00:35:48.440 00:35:52.960
огромный документ со списком задач и

00:35:50.839 00:35:56.079
говорим: “Сделай”. И он, да, там

00:35:52.960 00:35:57.800
работает ээ посинения, пока не сделает.

00:35:56.079 00:35:58.960
Ну, так же, как и здесь, так же, как и в

00:35:57.800 00:36:00.920
этой среде,

00:35:58.960 00:36:02.319
да. Вот здесь тоже агент. Здесь тоже

00:36:00.920 00:36:05.280
агент, просто ещё с визуальным

00:36:02.319 00:36:08.160
отображением как бы среды разработки. Но

00:36:05.280 00:36:10.680
этот агент, по моему мнению, хуже, чем

00:36:08.160 00:36:12.640
клодкодовский агент. У них он один из

00:36:10.680 00:36:14.000
самых лучших. У Кодекса тоже неплохой

00:36:12.640 00:36:16.000
для каких-то задач. Ну вот мы сейчас с

00:36:14.000 00:36:18.599
вами и проверим, кто будет лучше. Мы

00:36:16.000 00:36:20.760
можем, конечно, и здесь запустить, как

00:36:18.599 00:36:24.079
бы добавить его в

00:36:20.760 00:36:26.599
Да, сейчас я бы не запускал там, вот как

00:36:24.079 00:36:28.480
Григорий в чате пишет, чтобы было не так

00:36:26.599 00:36:30.160
страшно и, может быть, более понятно,

00:36:28.480 00:36:32.480
можно внутри курсора открыть терминал,

00:36:30.160 00:36:34.200
он просто будет маленьким окошком, и там

00:36:32.480 00:36:36.440
менее удобно, наверное, чем развернуть

00:36:34.200 00:36:38.520
вот так на полный экран. Но в целом эти

00:36:36.440 00:36:40.800
вот кодинговые агенты смотрятся те же

00:36:38.520 00:36:43.400
самые файлы, и мы можем в курсоре

00:36:40.800 00:36:46.640
видеть, как они меняются. Так что

00:36:43.400 00:36:48.760
давайте сделаем так, да.

00:36:46.640 00:36:51.000
Так что их можно там внутри запустить. А

00:36:48.760 00:36:54.319
ещё интересно, да, можно и так.

00:36:51.000 00:36:55.880
Ещё интересная штука, почему Клод,

00:36:54.319 00:36:57.640
вернее, почему Антропик не сделали

00:36:55.880 00:37:00.800
нормальный интерфейс вот к этому всему?

00:36:57.640 00:37:02.400
Они же могли бы. Такой вопрос

00:37:00.800 00:37:03.920
философскопродуктовый.

00:37:02.400 00:37:06.079
Стремятся продуктовы. Они стремятся

00:37:03.920 00:37:10.079
сделать хороший тулинг хорошего агента,

00:37:06.079 00:37:14.000
как и все сейчас компании, а потом

00:37:10.079 00:37:18.079
разработать какой-то интерpтол

00:37:14.000 00:37:22.119
разработали его в редакторе

00:37:18.079 00:37:25.160
Z, вроде. В общем, сейчас уже можно

00:37:22.119 00:37:27.480
встраивать этих агентов в айдешку, чтобы

00:37:25.160 00:37:31.119
они как вот курсор выглядели в конечном

00:37:27.480 00:37:33.720
итоге. То есть там штука штука такая,

00:37:31.119 00:37:35.720
что если мы пользуемся в курсоре вот

00:37:33.720 00:37:37.720
этими агентами, то курсор задаёт ещё

00:37:35.720 00:37:39.520
один уровень, ну, прослойку такую, да,

00:37:37.720 00:37:43.119
уровень фильтрации или там уровень

00:37:39.520 00:37:45.079
какого-то промтинга. А Клод сказали, что

00:37:43.119 00:37:46.480
мы не знаем, каким будет интерфейс через

00:37:45.079 00:37:48.440
полгода, год, и мы просто не будем

00:37:46.480 00:37:50.040
вкладываться в его разработку, что всё

00:37:48.440 00:37:51.760
равно всё поменяется.

00:37:50.040 00:37:54.599
И поэтому терминал как будто бы по

00:37:51.760 00:37:58.240
умолчанию супер интерфейс, он быстрый,

00:37:54.599 00:38:01.319
он не содержит как бы мы напрямую ходим.

00:37:58.240 00:38:04.839
ходим в клодкод именно таким, каким его

00:38:01.319 00:38:06.440
антропик задумывал, без каких-то вещей,

00:38:04.839 00:38:08.160
которые, может быть, полезны, а может

00:38:06.440 00:38:09.599
быть, наоборот, задерживают, а может

00:38:08.160 00:38:12.400
быть что-то там фильтруют, а может быть

00:38:09.599 00:38:14.160
по дороге что-то теряют и так далее. Вот

00:38:12.400 00:38:16.000
поэтому, наверное, оно существует в виде

00:38:14.160 00:38:17.880
терминала.

00:38:16.000 00:38:19.240
Да, я вижу, будущее таким, что будут

00:38:17.880 00:38:22.079
компании, которые будут разрабатывать

00:38:19.240 00:38:25.000
красивые вот эти среды разработки, и все

00:38:22.079 00:38:26.520
эти агенты подружатся с ними по

00:38:25.000 00:38:27.920
какому-то протоколу, начнут в них как-то

00:38:26.520 00:38:31.240
более нативно интегрироваться. В

00:38:27.920 00:38:34.839
принципе, к этому уже есть все шаги, но

00:38:31.240 00:38:36.720
можно для удобства вот вместо этого чата

00:38:34.839 00:38:38.520
его закрыть и открыть вот этот чат,

00:38:36.720 00:38:41.760
потому что по сути такой же строка

00:38:38.520 00:38:43.800
входа, инпутат.

00:38:41.760 00:38:46.200
И мы здесь можем видеть, что меняется.

00:38:43.800 00:38:49.839
Это как-то такой

00:38:46.200 00:38:52.040
совет, как не бояться его. Вот. Ну и

00:38:49.839 00:38:55.079
сделать чуть побольше,

00:38:52.040 00:38:58.160
а чтобы было лучше видно. Сейчас я

00:38:55.079 00:39:01.720
запустил эту команду во всех агентах. А,

00:38:58.160 00:39:03.240
и они первый раз всегда такие очень

00:39:01.720 00:39:04.480
осторожные, спрашивают: “А можно мне эту

00:39:03.240 00:39:05.720
команду выполнить? А можно мне эту

00:39:04.480 00:39:07.400
команду выполнить?” Ну, чтобы

00:39:05.720 00:39:10.119
пользователь постепенно давал разрешение

00:39:07.400 00:39:14.560
и там, чтобы не было таких случаев,

00:39:10.119 00:39:17.240
чтобы агент удалил всю файловую систему.

00:39:14.560 00:39:19.359
нечаянно. Поэтому вы сами даёте ему

00:39:17.240 00:39:22.599
доступ свободы, он с вами общается. Я

00:39:19.359 00:39:24.960
вот им всем разрешаю.

00:39:22.599 00:39:26.720
Вот.

00:39:24.960 00:39:28.200
А

00:39:26.720 00:39:32.160
не будем сейчас за ними, за всеми

00:39:28.200 00:39:35.839
наблюдать, да? Вот.

00:39:32.160 00:39:39.319
Вот он. А, он что говорит нам?

00:39:35.839 00:39:42.319
Нифига. Ага. Амп выбивает из игры, и он

00:39:39.319 00:39:45.160
бесплатно мне ничего не дал

00:39:42.319 00:39:47.560
и просит кредитов, поэтому додание. Ну,

00:39:45.160 00:39:49.680
в общем, на него не было надежд больших,

00:39:47.560 00:39:51.319
поэтому кд остаётся в игре. Клод снова

00:39:49.680 00:39:53.680
спрашивает, могу ли я там выносить

00:39:51.319 00:39:55.440
изменения файл. И ему выбираю второй

00:39:53.680 00:39:58.400
пункт

00:39:55.440 00:40:00.119
all thisation. То есть всегда всё можно

00:39:58.400 00:40:02.240
тебе, я тебе доверяю, пожалуйста,

00:40:00.119 00:40:06.880
выполняй.

00:40:02.240 00:40:10.119
А, выполнил первую подзадачу.

00:40:06.880 00:40:13.520
У нас кодекс говорит, что вот я, у меня

00:40:10.119 00:40:17.920
был план сделать зависимость,

00:40:13.520 00:40:19.960
я сделал и говорит, что могу ли я

00:40:17.920 00:40:22.960
приступить к следующей. Я ему сразу

00:40:19.960 00:40:26.680
скажу: “Let’s go

00:40:22.960 00:40:26.680
until end.”

00:40:31.000 00:40:37.240
А печатался. Ну неважно, он поймёт.

00:40:34.319 00:40:39.280
говорю ему, что давай иди вперёд по

00:40:37.240 00:40:41.520
этому списку задач, меня не спрашивай,

00:40:39.280 00:40:44.040
потому что вообще, когда я разрабатываю

00:40:41.520 00:40:47.040
как разработчик один,

00:40:44.040 00:40:47.040
а

00:40:47.960 00:40:53.079
то я каждый подпункт проверяю, он это

00:40:51.400 00:40:54.720
сделал, я такой посмотрел, о’кей,

00:40:53.079 00:40:57.520
закоммитил, дальше идём закоммитил,

00:40:54.720 00:40:59.400
дальше идём закомитил это я использую

00:40:57.520 00:41:01.240
гитом и свой код я отправляю в это

00:40:59.400 00:41:03.560
хранилище, чтобы у меня всегда было

00:41:01.240 00:41:05.400
чистое состояние по каждому шагу. Но

00:41:03.560 00:41:07.280
здесь в рамках эксперимента мы ему

00:41:05.400 00:41:09.680
разрешаем

00:41:07.280 00:41:13.200
идти до конца. Нас не спрашивает, чтобы

00:41:09.680 00:41:15.240
мы не отвлекались. Вот это мы куда? К

00:41:13.200 00:41:17.079
Джемине пришли. Он точно также нас

00:41:15.240 00:41:21.960
спрашивает.

00:41:17.079 00:41:21.960
А allow, allow

00:41:22.079 00:41:29.880
мы разрешаем тоже все делать изменения.

00:41:26.880 00:41:29.880
Сейчас.

00:41:34.760 00:41:40.560
А, иди до конца и меня не спрашивай.

00:41:37.160 00:41:45.400
Можешь выполнять до последнего пункта

00:41:40.560 00:41:45.400
без разрешения моего.

00:41:45.640 00:41:50.440
Вот я ему говорю, чтобы он тоже меня не

00:41:47.640 00:41:55.000
спрашивал и шёл до конца.

00:41:50.440 00:41:55.000
Open code. Вкоде мы так и не запустили.

00:41:55.750 00:41:58.860
[музыка]

00:41:58.960 00:42:05.119
process task list. Выбираем, какой какую

00:42:02.079 00:42:09.200
задачу мы ему даём. Task

00:42:05.119 00:42:11.400
и говорим Let’s go. А ещё говорю сразу,

00:42:09.200 00:42:15.079
а, иди до конца, до последнего пункта и

00:42:11.400 00:42:15.079
не спрашивай меня.

00:42:15.359 00:42:20.880
О’кей, не спрашивай меня.

00:42:18.079 00:42:23.079
попробуем сделать так, чтобы он

00:42:20.880 00:42:25.839
чуть-чуть забирають инструкцию, потому

00:42:23.079 00:42:28.200
что в изначальной инструкции вот этой

00:42:25.839 00:42:32.400
процесс tasрист сказано: “Выполняй

00:42:28.200 00:42:36.520
только по маленькой подзадаче

00:42:32.400 00:42:38.559
и ставь крестик, когда выполняешь,

00:42:36.520 00:42:41.240
иди к следующей”.

00:42:38.559 00:42:43.240
Вот это специально сделано,

00:42:41.240 00:42:46.000
но в нашем случае мы сейчас хотим вот

00:42:43.240 00:42:48.800
идти до конца. И вот он взял все наши

00:42:46.000 00:42:51.800
задачки. вынес и планирует их все

00:42:48.800 00:42:54.440
бахнуть по одной.

00:42:51.800 00:42:56.520
Ну вот он, кстати,

00:42:54.440 00:42:58.520
это кто у нас Open CД. Прикольно, что

00:42:56.520 00:43:01.119
мне нравится, как он это отображает. Мне

00:42:58.520 00:43:04.720
нравится, что он

00:43:01.119 00:43:09.359
нас ни о чём не спрашивает.

00:43:04.720 00:43:14.079
Идёт дальше. Молодец. Пусть работает.

00:43:09.359 00:43:14.079
А дальше, запустим, здесь

00:43:25.640 00:43:29.960
иди до конца и меня не спрашивай.

00:43:33.520 00:43:37.680
О’кей, давайте всех запустились,

00:43:34.800 00:43:39.680
вернёмся, посмотрим, что тут у нас. Угу.

00:43:37.680 00:43:42.960
Вот у меня тоже спрашивает: “Иди до

00:43:39.680 00:43:45.359
последнего пункта без

00:43:42.960 00:43:47.960
дозапрашиваний. Я тебе доверяю. Делай

00:43:45.359 00:43:51.720
всё от начала до конца, и придёшь,

00:43:47.960 00:43:51.720
отчитаешься, когда сделаешь”.

00:43:54.040 00:44:00.400
Вот даю им инструкции, чтобы они

00:43:57.520 00:44:02.559
каждый раз отвлекались. Так, Кодекс

00:44:00.400 00:44:05.079
спрашивает, могу ли я установить

00:44:02.559 00:44:07.400
команду. Я выбираю здесь always, чтобы

00:44:05.079 00:44:10.760
он тоже больше не спрашивал. сделал всё,

00:44:07.400 00:44:10.760
что ему нужно.

00:44:11.960 00:44:19.079
Угу. Точно также спрашивают

00:44:16.200 00:44:20.520
на каждую команду они спрашивают, то

00:44:19.079 00:44:22.079
есть установить зависимость от этой

00:44:20.520 00:44:24.480
команды, могу ли её использовать? Я им

00:44:22.079 00:44:26.599
говорю: “Могу там изменить файл”. Эта

00:44:24.480 00:44:28.079
команда тоже разрешает. То есть они,

00:44:26.599 00:44:30.319
скорее всего, будут ещё неоднократно

00:44:28.079 00:44:33.119
что-то спрашивать. Будем за ними

00:44:30.319 00:44:35.960
посматривать и разрешать всё.

00:44:33.119 00:44:41.119
А тем временем

00:44:35.960 00:44:41.119
к Open CД агент

00:44:42.599 00:44:46.640
что-то он

00:44:45.160 00:44:49.640
А он работает. Всё нормально, ничего не

00:44:46.640 00:44:49.640
спрашивает.

00:44:49.839 00:44:56.920
Он прям сам самостоятельный довольно.

00:44:53.200 00:45:00.800
Угу. Так, Квин что-то у нас в

00:44:56.920 00:45:03.960
зависимости пошёл обновлять чем. Ладно,

00:45:00.800 00:45:06.040
мы им доверяем. Пусть делают, что хотят.

00:45:03.960 00:45:09.040
Я согласовал.

00:45:06.040 00:45:09.040
Разрешили.

00:45:10.520 00:45:17.240
Так, вернулись снова клоду.

00:45:14.559 00:45:19.520
Он

00:45:17.240 00:45:23.000
что-то делает, показывает, что что-то

00:45:19.520 00:45:23.000
там меняет.

00:45:23.119 00:45:27.119
Смотрим на кодекс. Тоже пишет код

00:45:25.200 00:45:30.839
активно. Причём Хакатон идёт полным

00:45:27.119 00:45:34.319
кодом. Так, G у нас опять задаёт вопрос:

00:45:30.839 00:45:34.319
могу ли я использовать?

00:45:36.079 00:45:40.720
Давайте им скажем, что

00:45:41.760 00:45:44.760
не надо, потому что я не хочу сейчас

00:45:43.319 00:45:49.160
ничего коммитить. Хочу, чтобы они всё

00:45:44.760 00:45:53.119
сделали до конца уже потом посмотреть.

00:45:49.160 00:45:55.880
говорим другую команду. Не используй Git

00:45:53.119 00:45:58.760
и не комить изменения, а выполни всё до

00:45:55.880 00:46:02.000
конца, и уже потом я решу коммитить это

00:45:58.760 00:46:02.000
или нет.

00:46:06.559 00:46:12.960
Просто по умолчанию в моём файлике так

00:46:09.520 00:46:14.800
настроено, чтобы после выполненной

00:46:12.960 00:46:16.800
задачи

00:46:14.800 00:46:21.480
агент пытался эти изменения сразу

00:46:16.800 00:46:21.480
автоматически отправить в гит.

00:46:22.079 00:46:26.640
А примерно на каком пункте списка они

00:46:24.400 00:46:29.359
находятся? Типа они они сейчас все

00:46:26.640 00:46:32.359
первый большой пункт из пяти делают, да?

00:46:29.359 00:46:35.079
Давай посмотрим. А если

00:46:32.359 00:46:39.520
если смотреть на это как на соревнования

00:46:35.079 00:46:39.520
cl. Давай откроем tasks.

00:46:40.520 00:46:46.920
Task

00:46:43.440 00:46:49.920
11 сделал. А

00:46:46.920 00:46:49.920
коeкс

00:46:51.200 00:46:57.040
Ну я запустил их ещё неодновременно.

00:46:52.800 00:47:00.280
Кодекс что-то это буксует или

00:46:57.040 00:47:03.400
что с ним?

00:47:00.280 00:47:06.079
Или он игнорирует мою инструкцию, чтобы

00:47:03.400 00:47:07.319
ставить здесь крестики.

00:47:06.079 00:47:08.960
Ну, в общем, крестики он не ставит.

00:47:07.319 00:47:13.319
Возможно, что-то делает, судя по тому,

00:47:08.960 00:47:16.319
что он выдаёт. Ну, крестики не ставит.

00:47:13.319 00:47:16.319
Gemнай,

00:47:18.280 00:47:27.760
Gemini. Вот идёт неплохо. Уже 2.2

00:47:24.119 00:47:27.760
делать этого списка.

00:47:28.559 00:47:33.880
Open code.

00:47:30.800 00:47:35.400
Что ты там делал? Грок код. Ну под

00:47:33.880 00:47:40.480
копотом, кстати, Open CД сейчас у меня

00:47:35.400 00:47:42.079
использовать модельку Евана Маскак код.

00:47:40.480 00:47:44.720
Тут можно выбирать, кстати, множество

00:47:42.079 00:47:48.079
модели.

00:47:44.720 00:47:50.119
Вот что-то он тут

00:47:48.079 00:47:53.599
делает.

00:47:50.119 00:47:56.319
Посмотрим, на каком он пункте. Open CД

00:47:53.599 00:47:58.720
Tasks.

00:47:56.319 00:48:01.720
Он что-то тоже не ставит чекбокс

00:47:58.720 00:48:06.280
игнорирует.

00:48:01.720 00:48:08.800
Вот тоже показатель по сложности агента.

00:48:06.280 00:48:11.760
Квин

00:48:08.800 00:48:13.480
тоже не ставит. Проверим.

00:48:11.760 00:48:15.880
А Квин

00:48:13.480 00:48:19.119
немножечко задумался, потому что я ему

00:48:15.880 00:48:19.119
сделал разрешение.

00:48:20.800 00:48:24.000
Дали разрешение?

00:48:24.880 00:48:29.839
Спрашивает у нас

00:48:28.119 00:48:32.599
кто?

00:48:29.839 00:48:36.640
Клод. О, Клод уже вообще всё сделал.

00:48:32.599 00:48:40.800
Все, все просит собрать проект.

00:48:36.640 00:48:42.640
Ну пусть дит. Он сейчас закончил работу,

00:48:40.800 00:48:44.880
я так понимаю,

00:48:42.640 00:48:46.760
будет пытаться его собрать. Скорее

00:48:44.880 00:48:49.280
всего, там будут ошибки. Дальше он будет

00:48:46.760 00:48:51.880
уже смотреть на ошибки. и дебажить,

00:48:49.280 00:48:54.720
исправлять. Посмотрим.

00:48:51.880 00:48:59.799
Да, действительно, код уже

00:48:54.720 00:48:59.799
наш продукт реализовал довольно быстро.

00:49:02.599 00:49:06.520
Вась, а у тебя были документы на входе,

00:49:04.760 00:49:09.680
чтобы он их на чанке бил и всё такое?

00:49:06.520 00:49:10.440
Они в сорсах, да, лежат или нет, чтобы

00:49:09.680 00:49:12.760
затестить?

00:49:10.440 00:49:15.599
А

00:49:12.760 00:49:18.000
документы? Ещё раз я не понял вопрос. Ну

00:49:15.599 00:49:19.960
там, э, они должны были раксистему

00:49:18.000 00:49:21.520
сделать, и они же должны на чём-то

00:49:19.960 00:49:23.760
потренироваться,

00:49:21.520 00:49:25.760
проверить, что документы бьются начанки,

00:49:23.760 00:49:27.720
векторизируются и так далее.

00:49:25.760 00:49:29.359
Угу. Ну да, наверное, было. Давай

00:49:27.720 00:49:30.839
посмотрим, что там.

00:49:29.359 00:49:32.240
У тебя там папка Docs есть. Может, это

00:49:30.839 00:49:37.079
они?

00:49:32.240 00:49:39.319
Не, папка docs - это документация к моей

00:49:37.079 00:49:41.480
этой репозиторию на русском, на

00:49:39.319 00:49:43.359
английском, в которой описывается

00:49:41.480 00:49:46.000
подход, вот который я сейчас объяснял,

00:49:43.359 00:49:49.000
как я использую create,

00:49:46.000 00:49:53.480
как я генерирую задачи, то есть

00:49:49.000 00:49:55.920
какие вообще здесь фичи, как настроить

00:49:53.480 00:49:58.440
Firebase, где откуда взять ключи. То

00:49:55.920 00:50:00.240
есть тут я просто даю инструкции. А всё,

00:49:58.440 00:50:05.079
что касается задачи, лежит в папке

00:50:00.240 00:50:05.079
Tasks. И вот PRD - это

00:50:05.160 00:50:08.920
то, что нужно сделать. То есть здесь

00:50:07.000 00:50:11.079
довольно бизнесово описано работающий

00:50:08.920 00:50:13.760
MVP, создать полный рак пайплайн,

00:50:11.079 00:50:18.599
загрузка, обработка.

00:50:13.760 00:50:18.599
Ээ вот по поводу чанков

00:50:20.240 00:50:22.520
автоматически обрабатыват загруженны

00:50:21.280 00:50:25.119
документы. Документ должен разбиваться

00:50:22.520 00:50:26.680
на чанке по 500 токенов. Вот видишь у

00:50:25.119 00:50:28.920
них.

00:50:26.680 00:50:30.720
Так как это всё сгенерировано, то есть я

00:50:28.920 00:50:35.680
даже тут не принимал решения, а решил,

00:50:30.720 00:50:35.680
что надо генерировать по 500 токенов.

00:50:36.040 00:50:40.680
Вот с перекрытием в 50 токенов. Это

00:50:38.280 00:50:43.680
делается для того, чтобы, если мы бьём

00:50:40.680 00:50:45.760
абзац, то мы ещё конец абзаца добавляем

00:50:43.680 00:50:49.200
следующий.

00:50:45.760 00:50:50.640
То есть вот абзац содержит сам себя и

00:50:49.200 00:50:53.760
ещё чуть-чуть от предыдущего и чуть-чуть

00:50:50.640 00:50:55.599
от следующего. Это тоже важно в чанках,

00:50:53.760 00:50:59.040
чтобы

00:50:55.599 00:50:59.040
если по смыслу

00:50:59.119 00:51:05.559
кусочек предыдущего

00:51:01.119 00:51:07.240
часто так устроено текстно, что там

00:51:05.559 00:51:08.640
конец одного абзаца начала следующего

00:51:07.240 00:51:11.920
могут быть сематически связаны, поэтому

00:51:08.640 00:51:14.559
важно это перекрытие делать.

00:51:11.920 00:51:17.119
Вот пишет, что для каждого чанка должно

00:51:14.559 00:51:19.520
состоваться векторное представление. Вот

00:51:17.119 00:51:22.559
он выбрал opening copy, потому что я

00:51:19.520 00:51:24.200
токен open доставил.

00:51:22.559 00:51:25.880
чанки и их вектора должны храниться в

00:51:24.200 00:51:28.960
Firлекции

00:51:25.880 00:51:30.920
Doc chunks. То есть,

00:51:28.960 00:51:33.960
а

00:51:30.920 00:51:35.960
вот у нас

00:51:33.960 00:51:38.960
баз данных будет и вот здесь будет

00:51:35.960 00:51:41.280
храниться всё. Посмотрим уже, когда всё

00:51:38.960 00:51:43.839
это будет работать.

00:51:41.280 00:51:46.200
Так, здесь он снова просит уже

00:51:43.839 00:51:47.640
закоммитить. Он типа закончил. Ну, раз

00:51:46.200 00:51:53.319
закончил, давайте пока не будем

00:51:47.640 00:51:53.319
коммитить, проверим остальных. Слушайте,

00:51:53.799 00:51:58.040
кодекс-то уже закончил. Всё, что-то

00:51:55.400 00:52:01.559
довольно быстро всё закончили. Keep loop

00:51:58.040 00:52:01.559
det en

00:52:02.359 00:52:07.440
loop detected. Это кто у нас? J говорит,

00:52:05.480 00:52:09.640
что я

00:52:07.440 00:52:12.960
создал

00:52:09.640 00:52:15.280
файл. Ну о’кей, пусть продолжает.

00:52:12.960 00:52:18.119
Какое-то потенциальное

00:52:15.280 00:52:21.000
зацикливание нашёл.

00:52:18.119 00:52:25.000
Пусть пусть подумает ещё. Не хочу сейчас

00:52:21.000 00:52:28.559
с этим разбираться. Посмотрим на

00:52:25.000 00:52:28.559
Open C.

00:52:30.079 00:52:34.200
Что? Вроде тоже закончил. Непонятно.

00:52:32.559 00:52:36.440
Что-то появилось. Будем с

00:52:34.200 00:52:39.880
Может он завис этот Open CД там. Он

00:52:36.440 00:52:41.480
показывает 49 минут. Это было

00:52:39.880 00:52:44.040
5 минут назад.

00:52:41.480 00:52:45.200
Угу. Может быть. А нет, что-то

00:52:44.040 00:52:47.319
выкинурейте.

00:52:45.200 00:52:48.960
Что-то визуально отображается, что ещё

00:52:47.319 00:52:53.440
живой.

00:52:48.960 00:52:55.960
А Кадир это у нас последний кандидат

00:52:53.440 00:53:00.000
Квин. Он что-то хочет создать. Опять ему

00:52:55.960 00:53:01.799
разрешу, пусть создаёт. Пока они там ещё

00:53:00.000 00:53:05.400
дорабатывают, давайте смотреть, что

00:53:01.799 00:53:08.680
получилось. А, идём в первого агента

00:53:05.400 00:53:10.559
Клода и ему говорю: “Запусти проект в

00:53:08.680 00:53:13.559
режиме разработчика, чтобы я увидел, что

00:53:10.559 00:53:13.559
получилось”.

00:53:13.839 00:53:20.480
Это по сути команда NPM Randf, но так

00:53:17.200 00:53:21.920
как мы веб-кодим и не трогаем код, я с

00:53:20.480 00:53:25.040
ним вот общаюсь голосом, чтобы он сам

00:53:21.920 00:53:26.640
эту команду вызвал. Вот, собственно, of

00:53:25.040 00:53:29.640
вызвал, спрашивает: “Разрешить?”

00:53:26.640 00:53:29.640
Разрешаю.

00:53:29.799 00:53:34.160
Собственно, это мы запускаем наш проект

00:53:32.079 00:53:35.440
локально на машине, чтобы посмотреть,

00:53:34.160 00:53:40.200
что у нас получилось. Ну и давайте

00:53:35.440 00:53:42.400
пойдём и посмотрим. Local host 3.000.

00:53:40.200 00:53:44.559
Это

00:53:42.400 00:53:47.000
то, куда он нас послал.

00:53:44.559 00:53:50.280
Околохо 3.000 будет наш сайт работать.

00:53:47.000 00:53:51.839
Ой, он уже документы пошёл. Давайте

00:53:50.280 00:53:54.000
посмотрим, как это выглядит. Изначально

00:53:51.839 00:53:55.559
мой лепйт выглядит вот так. Здесь есть

00:53:54.000 00:53:58.280
кнопка логин, регистр. Здесь может быть

00:53:55.559 00:54:01.240
ваш лендинг и кнопка входа илибо

00:53:58.280 00:54:03.599
регистрация, да? То есть, так как это

00:54:01.240 00:54:07.520
полноценное приложение, оно не пустит

00:54:03.599 00:54:07.520
сюда незарегистрированных пользователей.

00:54:07.680 00:54:11.960
Поэтому, чтобы получить доступ к

00:54:09.720 00:54:13.720
странице,

00:54:11.960 00:54:15.400
он зарегистрироваться, но я уже

00:54:13.720 00:54:18.280
зарегистрировался. Залогинемся. Сейчас

00:54:15.400 00:54:20.960
вот у меня сохранённый есть пароль.

00:54:18.280 00:54:22.839
Вот пошли.

00:54:20.960 00:54:24.799
Это специальная страница заглушка, что

00:54:22.839 00:54:27.680
вот написано только залогированные

00:54:24.799 00:54:29.040
пользователи видят эту страницу.

00:54:27.680 00:54:31.559
Вот, соответственно, теперь, когда мы

00:54:29.040 00:54:34.520
залогинились, можем пойти, и он нам

00:54:31.559 00:54:37.200
говорит, где что лежит. Вот есть после

00:54:34.520 00:54:38.640
входа страница с документами будет

00:54:37.200 00:54:41.640
лежать по этому адресу. Давайте

00:54:38.640 00:54:41.640
скопируем

00:54:42.880 00:54:48.400
и видим результат. Пабам. Вот он

00:54:45.559 00:54:52.680
интерфейс. Говорит, что мои документы.

00:54:48.400 00:54:56.599
Загрузите документ всем формат. Татата.

00:54:52.680 00:54:56.599
Что с файл? Выбираем

00:54:58.000 00:55:04.240
в десктопе есть какой-то

00:55:01.839 00:55:07.520
документ, который я как разработчик

00:55:04.240 00:55:09.680
писал. Это описание для полреквеста

00:55:07.520 00:55:12.160
моего. Ну, подойдёт какой-то текст,

00:55:09.680 00:55:16.720
допустим. Загрузили. Можно даже два

00:55:12.160 00:55:18.799
загружать. А, я нажал загрузить.

00:55:16.720 00:55:23.400
Опа,

00:55:18.799 00:55:27.880
список документов загрузился. Обработка.

00:55:23.400 00:55:29.799
Круто. Смотрим, что происходит.

00:55:27.880 00:55:31.960
Что у нас происходит?

00:55:29.799 00:55:33.599
Тка.

00:55:31.960 00:55:36.799
Интересно.

00:55:33.599 00:55:40.839
Посмотрим в базе данных. Собновим.

00:55:36.799 00:55:40.839
Что-то произошло.

00:55:42.799 00:55:47.520
О, документ появилась. Таблица с

00:55:44.880 00:55:49.760
документами. Вот он,

00:55:47.520 00:55:53.559
запись. Документ.

00:55:49.760 00:55:56.119
Чан аккаунт. Четыре чанка. Название, ID

00:55:53.559 00:55:59.119
размер в килобайтах, либайтах статус

00:55:56.119 00:56:00.880
ready загружен сегодня. User ID - это

00:55:59.119 00:56:02.480
мой юзер. Видимо, он связал, что я его

00:56:00.880 00:56:06.880
загрузил.

00:56:02.480 00:56:11.559
Вот chanс, соответственно, это вот чанки

00:56:06.880 00:56:11.559
для этого документа. Вот документ ID

00:56:12.079 00:56:15.079
текст

00:56:15.799 00:56:19.280
этого чанка. Собственно, самый

00:56:17.960 00:56:22.839
бедненький - это вот вектор, про который

00:56:19.280 00:56:24.680
я говорил. Вот это массив чисел. Супер.

00:56:22.839 00:56:27.200
Кажется с первого взгляда, что даже

00:56:24.680 00:56:29.480
работает. Единственное, что мне не

00:56:27.200 00:56:31.720
понравилось,

00:56:29.480 00:56:34.079
что обработка зависла здесь статус.

00:56:31.720 00:56:37.039
Наверное, если я обновлю, он скажет, что

00:56:34.079 00:56:38.960
готово. Но вот сам он это не сделал.

00:56:37.039 00:56:43.880
Поэтому,

00:56:38.960 00:56:46.520
когда я загрузил документ, он появился в

00:56:43.880 00:56:49.200
нижней форме, и там было написано

00:56:46.520 00:56:51.760
обработка. Я проверил в базе данных.

00:56:49.200 00:56:54.480
Статус стал уже

00:56:51.760 00:56:56.720
ready, но в интерфейсе не отобразилось

00:56:54.480 00:56:58.640
до тех пор, пока я не обновил страницу.

00:56:56.720 00:57:03.240
Исправь это.

00:56:58.640 00:57:03.240
Ну, дадим ему сразу небольшое замечание.

00:57:05.039 00:57:09.440
Что-то меня Виспер плохо понял. Ну,

00:57:07.440 00:57:12.280
посмотрим, что получится. Вот здесь есть

00:57:09.440 00:57:14.480
кнопка помощник. Посмотрим. Задайте ваш

00:57:12.280 00:57:16.640
вопрос.

00:57:14.480 00:57:19.839
Пам-пам. Ну, я там загрузил файл

00:57:16.640 00:57:23.720
специфический про там

00:57:19.839 00:57:26.799
канвас фичу я разрабатывал НВАС. Что это

00:57:23.720 00:57:30.920
такое? Посмотрим, поймёт ли он, сможет

00:57:26.799 00:57:30.920
ли он достать информацию из файла.

00:57:32.319 00:57:36.640
Информация не найдена в загруженных

00:57:33.839 00:57:40.520
документах.

00:57:36.640 00:57:40.520
Плохо. Что-то не работает.

00:57:41.599 00:57:47.039
Ошибку он говорит по правил.

00:57:44.920 00:57:51.200
А

00:57:47.039 00:57:51.200
теперь будем разбираться с этой ошибкой.

00:57:52.440 00:57:56.960
Когда я задал вопрос, то получил вот

00:57:54.440 00:57:59.000
такой ответ. Хотя я уверен, что мой

00:57:56.960 00:58:01.559
вопрос содержится в документах

00:57:59.000 00:58:03.240
загруженных. Почему так происходит?

00:58:01.559 00:58:06.240
Давай проанализируем и попытаемся

00:58:03.240 00:58:06.240
исправить.

00:58:06.920 00:58:11.480
Вася, а у тебя в документах было что-то

00:58:08.839 00:58:13.000
промт? Мол, отвечай только на основе

00:58:11.480 00:58:15.520
полученных данных. ничего не

00:58:13.000 00:58:18.920
дофантазируй и так далее. Вот эта же

00:58:15.520 00:58:22.119
фраза, а вот эта дословная информация не

00:58:18.920 00:58:23.559
найдена. Она желмка почему-то её решила

00:58:22.119 00:58:27.240
сгенерить.

00:58:23.559 00:58:28.640
Давайте посмотрим. Клод. Я, допустим, я

00:58:27.240 00:58:31.119
я же ничего не делал, он же сам всё

00:58:28.640 00:58:32.920
делал. Поэтому давайте посмотрим, что

00:58:31.119 00:58:36.640
это.

00:58:32.920 00:58:40.680
Поиски. Вот.

00:58:36.640 00:58:42.680
Вот видишь, в коде есть этот эта строка

00:58:40.680 00:58:45.119
прямо она захардкожена.

00:58:42.680 00:58:46.720
То есть, если у нас, ну, это уже код

00:58:45.119 00:58:48.119
пошёл, мы как бы не хотим код смотреть,

00:58:46.720 00:58:50.119
но вот, в общем, по какой-то логике,

00:58:48.119 00:58:51.440
если мы там ничего не нашли,

00:58:50.119 00:58:52.799
соответственно, выдает информацию.

00:58:51.440 00:58:55.680
Почему мы ничего не нашли? Вот это

00:58:52.799 00:58:58.760
вопрос для дебаггинга, да? То есть вот

00:58:55.680 00:59:00.640
этот find top matches, он искал наиболее

00:58:58.760 00:59:03.280
релевантные кусочки,

00:59:00.640 00:59:05.200
но почему-то в итоге получился ноль, и

00:59:03.280 00:59:07.400
он нам так сказал, вот ответил, что

00:59:05.200 00:59:10.960
информации не найдена. А сам пром-то

00:59:07.400 00:59:15.240
написал для себя, чтобы

00:59:10.960 00:59:16.839
возьми там документы, которые нашлись.

00:59:15.240 00:59:18.880
Вопрос не предоставлен. Ну то есть

00:59:16.839 00:59:20.559
обработка ошибок, конечно, шикарная. А

00:59:18.880 00:59:22.240
вот

00:59:20.559 00:59:23.720
Угу.

00:59:22.240 00:59:25.880
Ну смотри, давай посмотрим. Если бы у

00:59:23.720 00:59:27.359
него были эти какие-то фрагменты, они бы

00:59:25.880 00:59:30.480
пошли дальше

00:59:27.359 00:59:32.720
и а

00:59:30.480 00:59:35.359
и они бы добавились в контекст. Вот топ

00:59:32.720 00:59:38.359
match маchс. Он бы взял тексты каждого

00:59:35.359 00:59:41.200
кусочка и добавил бы контекст.

00:59:38.359 00:59:44.319
Он взял бы вопрос, он взял бы контекст и

00:59:41.200 00:59:46.599
ещё историю чата и сгенерировал бы

00:59:44.319 00:59:47.920
ответ. Давай посмотрим, что вре. Вот ты

00:59:46.599 00:59:49.960
помощник, который отвечает на вопросы на

00:59:47.920 00:59:52.079
основе ставного контекста. Если

00:59:49.960 00:59:53.720
информации недостаточно,

00:59:52.079 00:59:55.280
так и скажи: “Отвечая на русском”. Чётко

00:59:53.720 00:59:59.000
и по существу. Ну, довольно простой

00:59:55.280 01:00:02.079
промт, его можно и поменять, но он в

00:59:59.000 01:00:05.039
себя ещё добавляет контекст.

01:00:02.079 01:00:07.960
Собственно, контекст документов. О, по

01:00:05.039 01:00:10.640
коду видно, что он в этом документе

01:00:07.960 01:00:12.200
пытается найти кусочки, абзацы и их

01:00:10.640 01:00:15.640
добавляет в контекст. Собственно, как

01:00:12.200 01:00:18.039
это и работает в

01:00:15.640 01:00:22.400
раге, да, мы

01:00:18.039 01:00:24.559
вот эти кусочки находим из базы данных

01:00:22.400 01:00:26.520
по запросу пользователя и вот эти

01:00:24.559 01:00:28.960
релевантные кусочки в виде текста уже

01:00:26.520 01:00:32.680
отдаём лэмке в виде контекста и просим

01:00:28.960 01:00:34.799
лэмку из вот из именно вот этих

01:00:32.680 01:00:36.920
документов, из этих кусочков дать нам

01:00:34.799 01:00:40.680
ответ. Это здесь видно по коду, что

01:00:36.920 01:00:43.640
правильно работает. Вот он снизил тшхолд

01:00:40.680 01:00:46.960
какой-то, говорит, что слишком строго.

01:00:43.640 01:00:46.960
То есть, видимо,

01:00:47.559 01:00:51.039
закрутил гайки, что типа только

01:00:49.400 01:00:53.920
суперрелевантные

01:00:51.039 01:00:56.240
фрагменты должны были подходить. Сейчас

01:00:53.920 01:00:58.200
он его снизил, говорит, что покажи мне

01:00:56.240 01:01:00.119
логи с терминала.

01:00:58.200 01:01:02.599
Я ему скажу: “Так, ты же сам запускал

01:01:00.119 01:01:06.520
терминал, у тебя есть логи у самого. Ты,

01:01:02.599 01:01:06.520
наверное, и сам сможешь их прочитать”.

01:01:12.000 01:01:19.520
Меня топливает.

01:01:15.640 01:01:19.520
Не, не нашёл, куда вставить.

01:01:26.359 01:01:32.359
Вот

01:01:28.559 01:01:34.319
пусть сам читает, а мы пока ему поможем.

01:01:32.359 01:01:37.079
Зададим ещё раз этот же вопрос, чтобы

01:01:34.319 01:01:40.680
логи какие-то. Он там добавил себеди

01:01:37.079 01:01:43.119
бага логов. И вот я снова занял

01:01:40.680 01:01:44.720
информацию силярити. Возможно

01:01:43.119 01:01:46.200
попробовать вопрос или добавить больше

01:01:44.720 01:01:49.599
контекста. Вот он нам какую-то уже новую

01:01:46.200 01:01:51.400
информацию сказал, что типа этот порог,

01:01:49.599 01:01:55.200
я думаю, надо снизить ещё сильнее.

01:01:51.400 01:01:55.200
Сейчас я ему это передам.

01:01:55.799 01:02:02.839
Попробую снизить ещё сильнее вот этот

01:01:58.480 01:02:02.839
порог, чтобы точно что-то находилось.

01:02:21.839 01:02:26.760
Так, посмотрим, что здесь. Документы.

01:02:27.680 01:02:31.440
Загрузить документы. Давайте

01:02:29.240 01:02:34.200
какой-нибудь ещё один документ добавим.

01:02:31.440 01:02:36.599
Ещё какой-то есть ди для моей рабочей

01:02:34.200 01:02:41.359
задачи какой-то.

01:02:36.599 01:02:43.680
Вот большой файлик тоже ему да скормим в

01:02:41.359 01:02:46.520
контекст, загрузим, посмотрим, починил

01:02:43.680 01:02:50.119
ли он реально вот этот статус.

01:02:46.520 01:02:50.119
Обработка. Обработка.

01:02:50.279 01:02:55.559
Готово. Он действительно починил.

01:02:53.720 01:02:58.200
Теперь вот у него пополнилась база. Уже

01:02:55.559 01:02:59.440
два документа.

01:02:58.200 01:03:01.240
Соответственно, здесь может быть там

01:02:59.440 01:03:04.359
какая-то ваша база знаний, это может

01:03:01.240 01:03:06.559
быть ваши заметки из обсидиана и такая,

01:03:04.359 01:03:09.000
если их там огромное количество, что в

01:03:06.559 01:03:13.039
контекст не влазит, то вот эта система

01:03:09.000 01:03:17.079
может тоже быть полезной.

01:03:13.039 01:03:17.079
Так, попробуем ещё раз.

01:03:20.760 01:03:23.760
Угу.

01:03:29.000 01:03:33.039
Вот он снизил порог до 0,2 и говорит,

01:03:31.400 01:03:34.559
что низкие семинарити ответы могут быть

01:03:33.039 01:03:36.279
неточными. Ну ничего, нас это

01:03:34.559 01:03:39.279
устраивает.

01:03:36.279 01:03:39.279
Обработка.

01:03:40.240 01:03:44.240
О, смотрите, канвас - это новая функция,

01:03:42.599 01:03:46.839
представлена в полреквесте. Она включает

01:03:44.240 01:03:49.160
в себя обширный редактор, который подат.

01:03:46.839 01:03:53.400
Короче, круто. Это прямо то, что было в

01:03:49.160 01:03:53.400
моём документе, который я загружал.

01:03:53.760 01:03:58.760
То есть он реально нашёл из документа

01:03:59.119 01:04:04.039
информацию, перевёл её и представил мне

01:04:01.440 01:04:05.920
в нужном виде.

01:04:04.039 01:04:09.799
А теперь вот я там добавил ещё один

01:04:05.920 01:04:12.799
документ, задам ему ещё вопрос: а как

01:04:09.799 01:04:12.799
работает?

01:04:16.240 01:04:18.799
Я просто знаю, что спрашиваю, потому что

01:04:17.599 01:04:21.799
я знаю, что там в том документе

01:04:18.799 01:04:21.799
написано.

01:04:22.279 01:04:30.400
В общем, там техническое описание фич,

01:04:27.440 01:04:33.400
и я ему эти вопросы по тому документам

01:04:30.400 01:04:33.400
задаю.

01:04:34.440 01:04:38.359
Доработка.

01:04:35.920 01:04:40.599
Слушай, а почему так, ну, с некоторой

01:04:38.359 01:04:42.920
задержкой генерится, да? То есть там на

01:04:40.599 01:04:45.400
чём теряется время? Эта модель думает

01:04:42.920 01:04:47.039
слишком долго или поиск долгий идёт. То

01:04:45.400 01:04:47.720
есть результат есть.

01:04:47.039 01:04:50.559
Угу.

01:04:47.720 01:04:53.920
Но там он прямо думает секунд 10.

01:04:50.559 01:04:56.200
Угу. Да. Ну это

01:04:53.920 01:04:59.000
хороший вопрос. На чём надо дебажить?

01:04:56.200 01:05:01.520
Давай у него и спросим. Сейчас генерация

01:04:59.000 01:05:04.319
ответов занимает как-то много времени,

01:05:01.520 01:05:06.960
секунд 8-10. Почему это так долго

01:05:04.319 01:05:09.559
происходит? Где теряется время? Можно ли

01:05:06.960 01:05:12.640
как-то ускорить отдачу ответа?

01:05:09.559 01:05:15.000
Пока он будет работать над этим, могу

01:05:12.640 01:05:17.920
сказать, что поиск чанков, вот эта

01:05:15.000 01:05:21.359
задача, а,

01:05:17.920 01:05:23.880
эмбединг запроса и нахождение в

01:05:21.359 01:05:26.799
векторной базе данных

01:05:23.880 01:05:28.559
наиблизких

01:05:26.799 01:05:30.760
наиболее похожих акторов, она довольно

01:05:28.559 01:05:33.359
быстрая, если мы используем специальную

01:05:30.760 01:05:36.559
тип базы данных, который хорошо работает

01:05:33.359 01:05:38.240
с SQL-запросами, которые

01:05:36.559 01:05:40.599
есть специальные плагины для базданных,

01:05:38.240 01:05:44.039
чтобы специальные вектора хранить. Это

01:05:40.599 01:05:47.839
как бы отдельная специфика.

01:05:44.039 01:05:49.160
И вообще это быстрая операция,

01:05:47.839 01:05:51.279
если использовать специальную баз

01:05:49.160 01:05:53.680
данных. Но мы здесь использовали

01:05:51.279 01:05:57.400
простейшую версию файбейза, поэтому,

01:05:53.680 01:06:01.559
возможно, там нахождение

01:05:57.400 01:06:03.680
вот этих векторов, оно чуть-чуть дольше

01:06:01.559 01:06:06.039
работать, потому что здесь не

01:06:03.680 01:06:07.720
предназначена для этого баз данных. Если

01:06:06.039 01:06:09.279
её чуть-чуть дотёнить, там плагин

01:06:07.720 01:06:11.400
поставить, она будет работать. Но,

01:06:09.279 01:06:12.599
видимо, в рамках MVP он этого не сделал,

01:06:11.400 01:06:14.079
поэтому, скорее всего, там время

01:06:12.599 01:06:16.720
теряется.

01:06:14.079 01:06:18.760
Ну, мне кажется, мне вот это моя самая

01:06:16.720 01:06:21.680
любимая фич, когда получился хороший

01:06:18.760 01:06:23.720
результат, дальше можно реверс

01:06:21.680 01:06:26.000
инженирить и спрашивать: “Как мы вообще

01:06:23.720 01:06:27.720
это сделали?” Да? То есть это работает.

01:06:26.000 01:06:30.160
Спросить: “А что, если мы поменяем

01:06:27.720 01:06:32.920
модели? А что, если мы будем имбедить

01:06:30.160 01:06:34.760
по-другому? А что, а где задержки? Как

01:06:32.920 01:06:37.400
можно ускорить? А как лучше подготовить

01:06:34.760 01:06:39.880
данные? Ну и на самом деле это learning

01:06:37.400 01:06:42.000
by doing самый настоящий, когда ты

01:06:39.880 01:06:43.960
сделал вот сейчас вот вот видно твой

01:06:42.000 01:06:46.240
проект и сейчас уже можно сильно

01:06:43.960 01:06:49.319
расслабиться и дальше уже заниматься

01:06:46.240 01:06:52.960
приятным тюнингом и изучением теории,

01:06:49.319 01:06:56.440
грубо говоря, почему это работает.

01:06:52.960 01:06:59.119
Да, это правда, это очень классная тема.

01:06:56.440 01:07:01.039
Мы реально видим, что клодко код

01:06:59.119 01:07:05.079
справился хорошо. Вот, буквально один

01:07:01.039 01:07:08.440
промт плюс пару, я ему сказал, ткнул

01:07:05.079 01:07:10.240
носом его недочёты. И вот буквально с

01:07:08.440 01:07:11.799
ваншота мы получили работающий рак

01:07:10.240 01:07:13.960
продукт, где мы загружаем документы.

01:07:11.799 01:07:15.920
Документы в базе данных. Это не просто

01:07:13.960 01:07:18.039
прототип в болте, это реальная база

01:07:15.920 01:07:21.079
данных, реальная авторизация.

01:07:18.039 01:07:22.359
Две страницы. Вот

01:07:21.079 01:07:24.039
сейчас ещё отдадим.

01:07:22.359 01:07:26.039
Давай ещё давай ещё после этого

01:07:24.039 01:07:28.960
посмотрим других. Интересно, какой у

01:07:26.039 01:07:30.559
них, например, вкус к интерфейсам,

01:07:28.960 01:07:33.119
как они,

01:07:30.559 01:07:36.039
э, решили расположить блоки, какая у них

01:07:33.119 01:07:37.200
там коммуникация в интерфейсах, как это

01:07:36.039 01:07:38.599
вообще работает.

01:07:37.200 01:07:40.400
Давай, мне тоже очень интересно. И,

01:07:38.599 01:07:42.880
кстати, Серёж, видишь, сейчас это было

01:07:40.400 01:07:45.720
довольно быстро. То есть вот я ему

01:07:42.880 01:07:47.440
сказал, то есть он подкрутил там что-то,

01:07:45.720 01:07:49.359
он использовал модель поглупее.

01:07:47.440 01:07:54.799
Смотри-ка, побыстрее модель использовал.

01:07:49.359 01:07:58.160
Да, прямо смотри, довольно быстро даёт.

01:07:54.799 01:07:58.799
Может быть, мне ещё вот он

01:07:58.160 01:08:00.880
довольно быстро

01:07:58.799 01:08:02.839
быстрее стало быстрее. Да, он модель

01:08:00.880 01:08:08.200
поменял.

01:08:02.839 01:08:11.359
Возможно, да. Вот так. Что круто. How is

01:08:08.200 01:08:12.559
doing this session? Просит нас оценить,

01:08:11.359 01:08:16.640
как будто бы знает, что мы его

01:08:12.559 01:08:18.279
оцениваем. Ну давайте скажем, что

01:08:16.640 01:08:20.239
не, ну я бы даже good поставил, на самом

01:08:18.279 01:08:23.199
деле.

01:08:20.239 01:08:25.960
Молодец, хорошо спрялся. Я прямо доволен

01:08:23.199 01:08:28.560
буквально с одного раза. Всё, закрываем

01:08:25.960 01:08:31.279
этот

01:08:28.560 01:08:33.000
вот последний этап. Как ты думаешь, надо

01:08:31.279 01:08:35.319
ли обновить

01:08:33.000 01:08:38.440
у тебя это называется agents MD или Clod

01:08:35.319 01:08:40.880
MD или, ну, вот вот ты перед закрытием

01:08:38.440 01:08:43.279
терминала и перед закрытием сессии

01:08:40.880 01:08:44.600
что-то хочется это сохранить как-то, да?

01:08:43.279 01:08:47.520
Что я не знаю.

01:08:44.600 01:08:49.880
А, да, отлично. Угу. пометь, что мы

01:08:47.520 01:08:51.359
выполнили все задачи,

01:08:49.880 01:08:53.920
что-то

01:08:51.359 01:08:56.799
сохранить в контекст то, что мы делали.

01:08:53.920 01:09:00.120
Это хороший поинт, что в целом это

01:08:56.799 01:09:01.480
важная часть разработки сейчас создавать

01:09:00.120 01:09:04.480
документацию после того, как что-то

01:09:01.480 01:09:06.239
сделал. Поэтому, потому что сейчас я

01:09:04.480 01:09:08.520
сделал фичу, придёт завтра другой

01:09:06.239 01:09:09.920
разработчик и он начнёт разбираться.

01:09:08.520 01:09:11.880
Вернее, другой разработчик, он тоже

01:09:09.920 01:09:13.799
будет использовать агента, и ему нужно

01:09:11.880 01:09:16.319
будет какой-то контекст. Он бы взял

01:09:13.799 01:09:19.359
какой-нибудь файлик. контекст этой

01:09:16.319 01:09:20.960
фичирмил бы проект агенту и агент бы уже

01:09:19.359 01:09:22.960
лучше понимал, что там было за фича, что

01:09:20.960 01:09:25.319
было сделано. И вот такой файлик нам

01:09:22.960 01:09:29.679
нужно где-то сохранить. Поэтому я всё

01:09:25.319 01:09:33.480
сейчас вам скажу: создай папку контекст

01:09:29.679 01:09:38.719
и положи туда файл MD, в котором ты

01:09:33.480 01:09:40.600
опишешь всё, что ты сейчас сделал.

01:09:38.719 01:09:43.600
расскажешь про функциональность этой

01:09:40.600 01:09:47.440
фечи, которую ты разработал,

01:09:43.600 01:09:47.440
такую техническую документацию.

01:09:49.799 01:09:53.719
Вот попросил его задокументировать то,

01:09:52.120 01:09:57.920
что он натворил, пока он это помнит,

01:09:53.719 01:09:59.560
пока у него в контексте осталось.

01:09:57.920 01:10:02.360
И, кстати, у меня здесь выводится,

01:09:59.560 01:10:05.040
сколько мы контекста проели, вот 64%

01:10:02.360 01:10:07.120
контекста окна. То есть в целом мини САС

01:10:05.040 01:10:10.040
продукт умещается

01:10:07.120 01:10:13.320
в контекстное окно в разработку, что

01:10:10.040 01:10:13.320
очень круто.

01:10:14.239 01:10:18.360
Вот попросили его создать.

01:10:22.400 01:10:25.960
Мне очень нравится, как у клод-кода вот

01:10:24.440 01:10:31.080
эти фразочки.

01:10:25.960 01:10:31.080
Да, это фантастика просто. Это офигенно.

01:10:31.280 01:10:38.360
Они понто что-то смешнявое придумывают.

01:10:34.520 01:10:41.080
Давай посмотрим кодекс и кно, например.

01:10:38.360 01:10:47.679
Давай, да. Ну точно так же буду говорить

01:10:41.080 01:10:47.679
ему: “Запусти проект в деф режиме”.

01:10:48.280 01:10:55.360
Тут, кстати, 90% контекст left, то есть

01:10:52.480 01:10:57.719
он сожрал всего 10% контекста. Ну

01:10:55.360 01:11:00.920
да, кстати, где-то ещё меньше съел. Вот

01:10:57.719 01:11:03.480
тоже хороший показатель. Интересно,

01:11:00.920 01:11:04.760
что за модель там? Сейчас же у Кодекса

01:11:03.480 01:11:09.159
вышла новая модель специальная

01:11:04.760 01:11:12.480
кодинговая GPT 5 по в общем какая-то

01:11:09.159 01:11:13.840
специальная более.

01:11:12.480 01:11:16.040
В общем, это всегда очень интересно

01:11:13.840 01:11:17.719
тестировать, менять модели. У меня 2 дня

01:11:16.040 01:11:21.400
назад был хакатон, в котором я сам

01:11:17.719 01:11:24.320
участвовал, и во время хакатона ээ лёг

01:11:21.400 01:11:26.280
сервер Антропика идкод вообще не

01:11:24.320 01:11:27.679
работал. Я запаниковал, пошёл в Кодекс,

01:11:26.280 01:11:31.920
но Кодекс тоже неплохо справился, на

01:11:27.679 01:11:34.880
самом деле. такой запасной вариант

01:11:31.920 01:11:36.560
не подвёл.

01:11:34.880 01:11:38.880
Также можно использовать разных агентов,

01:11:36.560 01:11:41.880
если там лимиты у каких-то у одного

01:11:38.880 01:11:41.880
закончились,

01:11:42.199 01:11:45.040
другой можно использовать. Так, я

01:11:43.679 01:11:46.560
вернулся в Квин, потому что он там всё

01:11:45.040 01:11:48.800
ещё у меня спрашивает разрешение.

01:11:46.560 01:11:51.400
Слушайте,

01:11:48.800 01:11:53.800
ну, мне кажется, что этот выбывает онкод

01:11:51.400 01:11:56.440
у нас сегодня. Можно, конечно, ему дать

01:11:53.800 01:11:58.400
второй шанс как-нибудь, но на сегодня он

01:11:56.440 01:12:01.840
так вот с первого раза не дал нам

01:11:58.400 01:12:04.679
результат. Квин всё ещё

01:12:01.840 01:12:07.679
в гонке. Что-то он там опять какие-то

01:12:04.679 01:12:11.199
зависимости трогает. Зачем? Удалил

01:12:07.679 01:12:13.280
сервер ТСФА за В общем, что-то он

01:12:11.199 01:12:16.440
куда-то погнал, мне кажется. Вот же уже.

01:12:13.280 01:12:19.239
Но не будем делать поспешных выводов.

01:12:16.440 01:12:22.239
А он нас спрашивает, разрешит ли запуск

01:12:19.239 01:12:22.239
команды?

01:12:23.520 01:12:30.000
Я ему разрешу.

01:12:26.800 01:12:32.880
То всё же запущен адрес.

01:12:30.000 01:12:37.960
Интересно даже мне какой-то адрес с моим

01:12:32.880 01:12:37.960
айпишником дал. Посмотрим.

01:12:43.520 01:12:47.880
Так, видим, что тот же самый

01:12:46.239 01:12:50.880
проектниться

01:12:47.880 01:12:50.880
можно

01:12:51.280 01:12:54.280
адликались,

01:13:01.910 01:13:07.000
[музыка]

01:13:03.159 01:13:12.199
да,нились. Вот точно также он расположил

01:13:07.000 01:13:12.199
по адресу documents наш проект.

01:13:14.600 01:13:20.320
Смотрим. Пабам.

01:13:18.239 01:13:25.639
Ну, в целом, так как у меня проект уже

01:13:20.320 01:13:28.719
содержит библиотеку юая от SHCEN и

01:13:25.639 01:13:30.880
стилевое описание, поэтому они выглядят

01:13:28.719 01:13:33.199
очень похожим образом,

01:13:30.880 01:13:35.840
да, вообще не похожи. Нет,

01:13:33.199 01:13:38.280
сильно хуже вообще какая-то.

01:13:35.840 01:13:40.080
А, ну как будто болванковая, да, штука,

01:13:38.280 01:13:42.440
потому что там у тебя в контексте было,

01:13:40.080 01:13:44.639
чтовин можно использовать, но и пару

01:13:42.440 01:13:46.400
классов можно было бы поставить, чтобы

01:13:44.639 01:13:48.199
было более приятно. Ну, типа кнопку

01:13:46.400 01:13:50.360
сделать кнопкой.

01:13:48.199 01:13:55.560
Угу. Ну ладно, да. Ну, давай посмотрим

01:13:50.360 01:13:55.560
на функциональность. Загружаем документ.

01:13:58.880 01:14:01.880
грузовица.

01:14:02.840 01:14:09.719
грузилось. Готово. Прикольно. Сразу

01:14:06.120 01:14:11.920
остался статус перейти к ассистенту.

01:14:09.719 01:14:16.320
Видите, ваш вопрос,

01:14:11.920 01:14:18.920
что такое опять же

01:14:16.320 01:14:21.360
О, прикольно, здесь отработал по

01:14:18.920 01:14:23.639
entтеру. Там такого не было. Мне очень

01:14:21.360 01:14:25.960
приятно, когда я нажал Enter, он сразу

01:14:23.639 01:14:30.480
раз информации не найдена. Скорее всего,

01:14:25.960 01:14:32.199
такая же проблема. Так, мы уже знаем,

01:14:30.480 01:14:33.639
когда я задал вопрос, то получил ответ.

01:14:32.199 01:14:36.760
Информация не найдена. Скорее всего,

01:14:33.639 01:14:39.159
там, а, порог

01:14:36.760 01:14:41.040
слишком высоко задрангты.

01:14:39.159 01:14:43.360
Снись его, чтобы точно находились

01:14:41.040 01:14:44.560
какие-нибудь фрагменты. Вот это та же

01:14:43.360 01:14:48.000
самая проблема, которая видимо была в

01:14:44.560 01:14:48.000
предыдущей версии.

01:14:48.719 01:14:53.040
Вот попробуем

01:14:53.639 01:14:57.960
его об этом попросить.

01:14:56.120 01:14:59.840
Так, ну, видно, что работа с базой

01:14:57.960 01:15:02.159
выполнена хорошо. То есть файлик

01:14:59.840 01:15:05.639
сохранился в базу,

01:15:02.159 01:15:08.320
есть его список. А

01:15:05.639 01:15:12.280
получается, база у нас одна и та же.

01:15:08.320 01:15:12.280
Интересно, куда он её положил?

01:15:16.080 01:15:22.440
Users, появилась ещё таблица users.

01:15:19.800 01:15:25.320
Ага, он сделал интересно. Он, то есть,

01:15:22.440 01:15:27.440
э,

01:15:25.320 01:15:30.679
по-разному они оформили структуру баз

01:15:27.440 01:15:34.920
данданных. Аэ,

01:15:30.679 01:15:38.960
через clotд создал документы, таблицу

01:15:34.920 01:15:40.679
прямо в корне, адек

01:15:38.960 01:15:42.280
решил, что документы должны принадлежать

01:15:40.679 01:15:45.719
пользователю. То есть он создал таблицу

01:15:42.280 01:15:47.280
users, и уже у юзера есть документы. То

01:15:45.719 01:15:51.159
есть, если мы два разных пользователя

01:15:47.280 01:15:53.320
зайдём, то у каждого будет своё решение,

01:15:51.159 01:15:56.400
да? То есть у каждого будут свои

01:15:53.320 01:15:58.000
документы и свои чанки, что в целом

01:15:56.400 01:16:00.320
имеет место быть. Но это такой вопрос

01:15:58.000 01:16:02.880
спорный, потому что если мы хотим

01:16:00.320 01:16:04.880
сделать общую базу и расшарить её, то,

01:16:02.880 01:16:06.400
возможно, надо было делать по-другому.

01:16:04.880 01:16:09.880
Но это вот интересный момент, как

01:16:06.400 01:16:13.159
проектировать базу данных на старте. все

01:16:09.880 01:16:14.920
эти связи, что

01:16:13.159 01:16:17.560
кто что может видеть, права доступа. Вот

01:16:14.920 01:16:20.000
эти моменты лучше описывать на старте,

01:16:17.560 01:16:21.920
как когда мы начинаем, чтобы получить

01:16:20.000 01:16:24.080
желаемый результат. Здесь мы видим

01:16:21.920 01:16:27.000
абсолютно два разных подхода, хоть и

01:16:24.080 01:16:29.719
рабочие, но

01:16:27.000 01:16:32.040
а а давай попробуем ещё один запустить,

01:16:29.719 01:16:34.440
чтобы визуально посмотреть, как у какого

01:16:32.040 01:16:35.639
агента какой вкус, и просто хочется

01:16:34.440 01:16:38.120
оставить немножко времени на

01:16:35.639 01:16:39.960
вопросы-ответы. Или напишите в чате, что

01:16:38.120 01:16:43.159
вы хотите спросить. Может быть, вопросы

01:16:39.960 01:16:44.840
будут повторяться, и мы пачкой на них

01:16:43.159 01:16:47.840
ответим.

01:16:44.840 01:16:47.840
Угу.

01:16:48.679 01:16:54.120
Масны. Ну, скорее всего, если я ещё пару

01:16:51.000 01:16:58.199
трассы сделаю, он снова заработает.

01:16:54.120 01:17:01.560
А, но в целом тоже почти с первого раза.

01:16:58.199 01:17:03.400
Вот всегда есть приятный приятный бонус,

01:17:01.560 01:17:05.960
когда работаешь терминалом, попросить

01:17:03.400 01:17:08.360
его, например, выводи всё в логи, он

01:17:05.960 01:17:10.600
запускает серверы, там что-то не

01:17:08.360 01:17:12.480
работает, и он сам же эти логи читает,

01:17:10.600 01:17:14.520
сам же правит. И

01:17:12.480 01:17:17.440
в этом смысле он может сам себя

01:17:14.520 01:17:19.719
улучшать. И, ну, как минимум, можно эти

01:17:17.440 01:17:21.560
логи или скриншоты

01:17:19.719 01:17:24.920
или ответы

01:17:21.560 01:17:27.560
отправлять ему с вопросами. А вот

01:17:24.920 01:17:29.159
главное эти логи получать.

01:17:27.560 01:17:32.239
Да, если просишь его внутри себя

01:17:29.159 01:17:34.639
запускать, то он имеет

01:17:32.239 01:17:37.040
право внутри себя запускать эти команды,

01:17:34.639 01:17:40.120
да, и видит вот эти логи прямо внутри

01:17:37.040 01:17:42.840
себя и в целом и читает. Ему не надо их

01:17:40.120 01:17:45.520
копировать, вставлять.

01:17:42.840 01:17:48.280
Вот попросили его запустить. Это сейчас

01:17:45.520 01:17:50.199
будет Gemй. Кажется, что

01:17:48.280 01:17:51.880
Угу.

01:17:50.199 01:17:54.639
Open CД вышел из игры, потому что

01:17:51.880 01:17:56.000
последний раз мы его видели в 6:49

01:17:54.639 01:17:57.840
полчаса назад. тех пор.

01:17:56.000 01:18:02.120
А, а попробуй ему написать, например,

01:17:57.840 01:18:02.120
там: “Продожай, он вообще живой”.

01:18:09.040 01:18:11.679
Может быть, там токен, не знаю. Ну, в

01:18:10.400 01:18:13.040
общем, мне не нравится, что это миниму

01:18:11.679 01:18:14.280
он так это

01:18:13.040 01:18:16.960
он под сомнением живой.

01:18:14.280 01:18:19.520
Ты жив и и на ответ он мне это какой-то

01:18:16.960 01:18:22.520
код продолжил выплёвывать и глянь, и

01:18:19.520 01:18:25.400
пошёл дальше. Его надо было разбудить

01:18:22.520 01:18:29.360
буквально.

01:18:25.400 01:18:32.040
Слушай, ну не, ну он это какой-то

01:18:29.360 01:18:35.360
странный разработчик, который которому

01:18:32.040 01:18:37.719
нужен менеджер с палкой его пинать

01:18:35.360 01:18:40.600
спрашивать Джифр. Ну да, часто в жизни

01:18:37.719 01:18:42.360
такое бывает.

01:18:40.600 01:18:46.560
Скорее всего мы не увидим его

01:18:42.360 01:18:50.840
результата. Он просрочил дедлайны.

01:18:46.560 01:18:53.199
А тем временем Квин честно работает и

01:18:50.840 01:18:56.199
даже уже

01:18:53.199 01:19:01.000
люди к концу. Посмотрим на ДМА. Тем

01:18:56.199 01:19:01.000
временем, что он запустился? Нет,

01:19:01.719 01:19:05.520
я же тебя просил запустить.

01:19:05.600 01:19:12.120
Подожди, только он только

01:19:09.480 01:19:14.360
3 пть. Он он ещё вообще не запустился

01:19:12.120 01:19:15.880
или он ещё даже не закончил разработку,

01:19:14.360 01:19:17.800
насколько я вижу.

01:19:15.880 01:19:20.480
Вот последнее, что он мне выдал, это

01:19:17.800 01:19:26.120
какой-то код он продолжает писать. И что

01:19:20.480 01:19:28.320
он на пункте 35 было в последний раз

01:19:26.120 01:19:31.560
тоже, значит, он не дошёл до конца, как

01:19:28.320 01:19:31.560
я просил.

01:19:34.719 01:19:41.480
То есть тут напрашивается такой вывод,

01:19:36.520 01:19:43.360
что с не топовыми инструментами либо

01:19:41.480 01:19:46.120
можно вообще не дойти до конца, вот как

01:19:43.360 01:19:49.080
к Вен, либо, может быть, сильно

01:19:46.120 01:19:51.840
зависнуть.

01:19:49.080 01:19:53.600
Ну вот условно какой-нибудь из этих CLI

01:19:51.840 01:19:56.280
инструментов был бы бесплатный. То есть

01:19:53.600 01:19:59.120
мы бы просто разменяли время нашего

01:19:56.280 01:20:02.199
мучения на получение результата, вместо

01:19:59.120 01:20:04.800
того, чтобы использовать э там какие-то

01:20:02.199 01:20:07.800
токены, дешёвые или дорогие.

01:20:04.800 01:20:07.800
Угу.

01:20:07.920 01:20:12.560
Да, тем временем я попросил создать

01:20:10.000 01:20:15.440
документ в папке контекст. Вот он,

01:20:12.560 01:20:18.520
MDфайл. Сейчас можно посмотреть. Вот

01:20:15.440 01:20:20.199
создал папку контекст и этот документ с

01:20:18.520 01:20:22.600
документацией. Вот, собственно, гляньте,

01:20:20.199 01:20:24.960
как красиво. Архитектура. нарисовал даже

01:20:22.600 01:20:27.480
какой-то график, что как работает. То

01:20:24.960 01:20:29.600
есть мы вот здесь вот зашли на страницу,

01:20:27.480 01:20:32.520
разделили начанкинг, заимбедили,

01:20:29.600 01:20:35.920
положили stor на странице ассистента

01:20:32.520 01:20:37.880
спросили, замбедили вопрос, нашли пять

01:20:35.920 01:20:41.080
наиболее похожих чанков, отправили в

01:20:37.880 01:20:42.679
GPT4 mini и получили ответ. Рассказал,

01:20:41.080 01:20:45.280
какая файловая структура, рассказал

01:20:42.679 01:20:48.520
какая структура базы данных. И прямо

01:20:45.280 01:20:50.040
такой подробный вот документации,

01:20:48.520 01:20:54.239
который, собственно, можно и

01:20:50.040 01:20:57.000
использовать для теста нашей же системы.

01:20:54.239 01:20:58.600
Перейдём к документам, то как раз таки,

01:20:57.000 01:21:02.639
а, ну, он, кстати, не сделал Drнроop,

01:20:58.600 01:21:02.639
поэтому придётся руками выбирать.

01:21:10.320 01:21:17.159
вот и можем по нашей же фиче и работать.

01:21:17.719 01:21:25.840
Загрузил, но он тут не будет работать,

01:21:19.960 01:21:25.840
да? Мы помним, что он так и не завёлся.

01:21:25.920 01:21:29.600
Порог снижен, но он так и не завёлся.

01:21:27.639 01:21:31.480
Скорее всего, надо дебажить, но сейчас

01:21:29.600 01:21:35.040
всё же это неважно.

01:21:31.480 01:21:40.840
Так, а что-то там про квоту, про квоту

01:21:35.040 01:21:43.440
limit for 2.5 Pro. Мы уперлись с квото

01:21:40.840 01:21:48.880
вот так вот. Но G9 у меня был бесплатный

01:21:43.440 01:21:52.000
и благо, что он сделал почти до конца.

01:21:48.880 01:21:55.120
Кстати, про бесплатность у тебя кодекс в

01:21:52.000 01:21:58.400
подписке или клауды в подписке? То есть

01:21:55.120 01:22:01.000
Клауда по-другому спрошу, что обычная

01:21:58.400 01:22:02.400
история, когда включен CL инструмент в

01:22:01.000 01:22:04.679
твою обычную там двадцати

01:22:02.400 01:22:06.280
двадцатипятибаксовую подписку. И там вот

01:22:04.679 01:22:09.159
можно, как сейчас в примере GNI,

01:22:06.280 01:22:12.800
упереться в конец сессии, да, типа, мол,

01:22:09.159 01:22:15.520
продолжите там через 5, 6, 10 часов. А,

01:22:12.800 01:22:18.000
а вот а клод у тебя бесконечный был,

01:22:15.520 01:22:21.120
правильно? Он у тебя про версии?

01:22:18.000 01:22:23.719
Да, у меня Cloud даже макс версии, то

01:22:21.120 01:22:25.199
есть за 200 баксов, который вообще

01:22:23.719 01:22:29.560
безлимитный, потому что я его активно

01:22:25.199 01:22:31.719
использую и мне это выгоднее.

01:22:29.560 01:22:33.880
То есть мы тут не знаем, на самом деле,

01:22:31.719 01:22:36.239
упёрлись ли бы мы в обычной там типа

01:22:33.880 01:22:37.920
плюс версии число токенов.

01:22:36.239 01:22:40.639
Нет, не упёрлись бы, потому что мы видим

01:22:37.920 01:22:40.960
здесь контекст 69 там. А,

01:22:40.639 01:22:42.800
да,

01:22:40.960 01:22:45.440
сколько там? Ну, под сколько, да, в

01:22:42.800 01:22:48.639
общем, мы видели, что мы влезли в окно.

01:22:45.440 01:22:48.639
Это немного.

01:22:48.719 01:22:53.600
Такую задачу мы бы успели сделать на

01:22:50.760 01:22:55.600
обычной версии за 15 баксов.

01:22:53.600 01:22:57.960
У Кодекса, который тоже в целом

01:22:55.600 01:23:01.080
справился, у меня подписка тоже обычная

01:22:57.960 01:23:02.760
за там 20 баксов.

01:23:01.080 01:23:05.320
В рамках неё тоже получилось полностью

01:23:02.760 01:23:07.960
сделать, не упереться влеты и всего 10%

01:23:05.320 01:23:10.480
8% съесть от

01:23:07.960 01:23:12.960
контекстного окна. То есть в целом

01:23:10.480 01:23:14.560
довольно дешёвая получилась операция. Он

01:23:12.960 01:23:16.679
знал, что делать. У него была хорошая

01:23:14.560 01:23:18.520
инструкция, и он делал только только то,

01:23:16.679 01:23:20.199
что нужно.

01:23:18.520 01:23:22.679
По маленькой задачке выполнял. Это тоже

01:23:20.199 01:23:25.199
помогает экономить контекст.

01:23:22.679 01:23:26.320
Вот, к сожалению, GMI придётся списать

01:23:25.199 01:23:28.520
со счетов

01:23:26.320 01:23:32.199
из-за дисквалификации, из-за нехватки

01:23:28.520 01:23:36.000
кредитов. А, извиняюсь, но не раскошелся

01:23:32.199 01:23:38.800
на подписку от Гугла.

01:23:36.000 01:23:43.560
Получилось, что получилось. Open CД

01:23:38.800 01:23:43.560
говорит, что я всё закончил. Неужели?

01:23:43.760 01:23:50.960
А ну давай тогда запусти тогда npm rdef

01:23:47.159 01:23:50.960
на порту 3.0003.

01:23:52.320 01:23:55.800
Я просто хочу все сразу запустить, чтобы

01:23:54.080 01:24:00.480
они не конфликтовали. Вот у каждого

01:23:55.800 01:24:02.719
версии есть порт. Могли сразу

01:24:00.480 01:24:06.719
попробовать. Вот запустил. Давайте

01:24:02.719 01:24:10.560
посмотрим, вдруг всё-таки код Ой, вдруг

01:24:06.719 01:24:15.239
Open Cд справился хорошо с версией

01:24:10.560 01:24:16.880
модели Грока, мало ли.

01:24:15.239 01:24:18.920
Знает

01:24:16.880 01:24:20.560
Кин

01:24:18.920 01:24:23.840
спрашивает,

01:24:20.560 01:24:27.360
да, может быть даже к не дойдет. О’кей.

01:24:23.840 01:24:27.360
А залогинимся.

01:24:31.600 01:24:37.080
О. Круто. MS docums.

01:24:34.920 01:24:38.719
О, смотрите.

01:24:37.080 01:24:42.159
А тем временем Open sourourсная

01:24:38.719 01:24:46.719
бесплатная модель доехала до конца. Не

01:24:42.159 01:24:48.840
потратил я ни копейки денег. А-а,

01:24:46.719 01:24:50.560
правда, один раз её пришлось разбудить,

01:24:48.840 01:24:51.560
но вот смотрите, даже есть навигация.

01:24:50.560 01:24:53.080
Ситично, вообще симпатичная

01:24:51.560 01:24:56.440
навигация.

01:24:53.080 01:24:56.440
Вот есть асистент.

01:24:56.719 01:25:03.719
Если если вы с нами следили, может быть,

01:25:00.960 01:25:05.360
напишите, какая ваша решение самое

01:25:03.719 01:25:08.040
больше всего понравилось, хотя бы

01:25:05.360 01:25:10.639
визуально у нас был первый Gemнай,

01:25:08.040 01:25:12.080
второй у нас был Кто у нас был второй?

01:25:10.639 01:25:14.600
Кодекс,

01:25:12.080 01:25:17.560
да? Первый у нас был Крокод.

01:25:14.600 01:25:19.199
Второй у нас был кодекс. Вот это сейчас

01:25:17.560 01:25:22.760
кодекс завёлся.

01:25:19.199 01:25:25.920
А кодекс был вот этот вариант такой не

01:25:22.760 01:25:28.320
очень красивый. А это Open CД,

01:25:25.920 01:25:30.400
бесплатный openсорсный

01:25:28.320 01:25:32.639
агент, в котором можно платные модели

01:25:30.400 01:25:34.760
использовать через токены, но базово вот

01:25:32.639 01:25:36.800
на гроке бесплатно. Я на бесплатной

01:25:34.760 01:25:38.480
подписке, не подписке, просто на

01:25:36.800 01:25:40.119
бесплатной версии сделал, не потратив ни

01:25:38.480 01:25:43.239
копейки.

01:25:40.119 01:25:45.440
Вас нас ещё просят показать квен. А я бы

01:25:43.239 01:25:48.760
тут, ну, я смотрю на время, на самом

01:25:45.440 01:25:51.719
деле, чтобы мы оставили не сильно

01:25:48.760 01:25:53.000
задерживались, смотрели, а, и успели на

01:25:51.719 01:25:54.960
какие-то вопросы ответить. просто

01:25:53.000 01:25:57.679
визуально. То есть, мне кажется, мы все

01:25:54.960 01:26:00.239
поверили уже, что, а, коннекшн с

01:25:57.679 01:26:02.280
Файрбейсом реализован, эмбединги

01:26:00.239 01:26:05.600
реализованы, что эта задача у тебя была

01:26:02.280 01:26:07.199
хорошо описана и поэтому не вызвала

01:26:05.600 01:26:08.760
проблем и у Фаербейса хватает

01:26:07.199 01:26:11.400
документации.

01:26:08.760 01:26:13.480
С этим вопросов нет. Интересно чисто

01:26:11.400 01:26:16.880
визуально look andфield посмотреть, как

01:26:13.480 01:26:19.960
это работает. Э потому что у агентов

01:26:16.880 01:26:22.280
есть свои какие-то предпочтения, видимо,

01:26:19.960 01:26:25.119
по интерфейсам.

01:26:22.280 01:26:28.960
Ну и сравним, сравним и проголосуем. Я

01:26:25.119 01:26:30.600
думаю, что А второй вариант можно, не

01:26:28.960 01:26:34.119
знаю, хотя нет, может быть, он кому-то

01:26:30.600 01:26:37.320
понравится. То есть тут cloudкод, а вот

01:26:34.119 01:26:41.199
это третья и четвёртая модели, вернее,

01:26:37.320 01:26:41.199
агентов сравнить бы.

01:26:42.400 01:26:43.960
Это он.

01:26:43.560 01:26:46.000
Это он,

01:26:43.960 01:26:47.600
это OpenC. Это Open CД, да.

01:26:46.000 01:26:49.840
Open CД,

01:26:47.600 01:26:51.560
да. Посмотрим вот upлоadдинг. Но мне

01:26:49.840 01:26:52.920
нравится в целом стиль, процессинг,

01:26:51.560 01:26:55.119
симпатично вообще.

01:26:52.920 01:26:57.239
Не не уверен, будет ли он работать, но с

01:26:55.119 01:26:58.920
точки Вот он не работает, по крайней

01:26:57.239 01:27:01.400
мере, с первого раза. То есть документ

01:26:58.920 01:27:06.480
он не сохранил куда-то сюда. Вот

01:27:01.400 01:27:06.480
ассистент, давайте спросим. А

01:27:09.719 01:27:15.679
question.

01:27:12.239 01:27:18.239
Ну то есть понятно, да, какие-то ошибки

01:27:15.679 01:27:19.920
непонятно какие. Надо его ещё дебажить.

01:27:18.239 01:27:22.920
Но интерфейс был неплохой с первого

01:27:19.920 01:27:26.480
раза. То есть функционально, между

01:27:22.920 01:27:27.920
прочим, кажется, что

01:27:26.480 01:27:29.520
этот был лучше, потому что он хотя бы в

01:27:27.920 01:27:31.520
базу данных всё сохранил, начанки

01:27:29.520 01:27:33.800
разбил.

01:27:31.520 01:27:35.440
Ну, клод тоже всё сделал.

01:27:33.800 01:27:36.880
А клод вообще красавчик, да?

01:27:35.440 01:27:39.360
То есть теперь можно сказать: “Возьми

01:27:36.880 01:27:42.440
интерфейс вот отсюда и накати его.

01:27:39.360 01:27:44.760
Оставь функциональность только используй

01:27:42.440 01:27:48.400
HTML вот из этого,

01:27:44.760 01:27:49.719
да? То есть вообще не не зря напрягали

01:27:48.400 01:27:52.000
вот этого

01:27:49.719 01:27:54.159
агента, потому что у него получилось

01:27:52.000 01:27:56.280
его, не знаю, такой промежуточный вывод

01:27:54.159 01:27:59.639
от Балды, что его можно напрягать делать

01:27:56.280 01:28:02.159
интерфейсы, да, если у него такой вкус.

01:27:59.639 01:28:04.960
Угу. Ну, я в целом думаю, что можно и

01:28:02.159 01:28:08.480
его помучить ещё чуть-чуть. Там просто

01:28:04.960 01:28:11.960
модель у Онкода можно выбрать модель. И

01:28:08.480 01:28:12.280
сейчас там стоила бесплатная от Грока.

01:28:11.960 01:28:14.480
Угу.

01:28:12.280 01:28:16.600
М, она не самая лучшая. Там есть, на

01:28:14.480 01:28:19.560
самом деле, хорошие модели сейчас

01:28:16.600 01:28:23.159
мощные. Они не сравнятся всё равно в нею

01:28:19.560 01:28:24.440
с клоуд кодом, на мой взгляд, но как

01:28:23.159 01:28:28.040
минимум чуть лучше результат можно

01:28:24.440 01:28:29.000
выжимать за меньшие деньги из Open CД

01:28:28.040 01:28:31.040
Словойного.

01:28:29.000 01:28:33.520
Это это та же идея, которая в прошлый

01:28:31.040 01:28:36.480
раз была, когда ты писал PD с более

01:28:33.520 01:28:38.719
мощной моделью, а программировала более,

01:28:36.480 01:28:41.760
ну, менее когнитивная модель. Да, тоже

01:28:38.719 01:28:44.600
классный подход. вые какие-то моменты,

01:28:41.760 01:28:46.719
например, дебаг, исправление ошибок,

01:28:44.600 01:28:48.480
чтение логов, вообще разобраться, что

01:28:46.719 01:28:51.840
именно не работает, можно подключать

01:28:48.480 01:28:55.920
более такую суровую модель, и их

01:28:51.840 01:28:55.920
сочетание сработает хорошо.

01:28:56.800 01:29:01.400
Да, всё так.

01:28:59.480 01:29:04.280
Кстати, было заявлено у нас ещё плой на

01:29:01.400 01:29:06.880
Versell, но тут даже в целом можно не

01:29:04.280 01:29:09.880
особо останавливаться.

01:29:06.880 01:29:11.639
Ну или давайте это быстро сделаем.

01:29:09.880 01:29:15.000
У нас есть

01:29:11.639 01:29:18.920
тот же самый агент. Я, так как я

01:29:15.000 01:29:20.560
склонировал репозиторий себе, я хочу его

01:29:18.920 01:29:24.320
создать как новый. Давайте сейчас быстро

01:29:20.560 01:29:27.880
создам. То есть это же я не хочу портить

01:29:24.320 01:29:31.239
berпate в него комитить. Я хочу создать

01:29:27.880 01:29:37.639
новый репозиторий себе, э, во-первых,

01:29:31.239 01:29:37.639
свой аккаунт и там рак, ээ,

01:29:39.880 01:29:44.719
просто рак. О’кей.

01:29:42.199 01:29:47.360
public create repository

01:29:44.719 01:29:51.199
содим

01:29:47.360 01:29:53.000
скопируем сюда описание

01:29:51.199 01:29:56.840
и

01:29:53.000 01:29:58.920
отвяжись от текущего гита и закомить

01:29:56.840 01:30:02.800
запуш все изменения вот в новой

01:29:58.920 01:30:02.800
репозитории, который я создал.

01:30:03.480 01:30:09.560
Вот. Ну, даю задачу всё залить мне в

01:30:06.639 01:30:13.880
новые чистенький репозиторий.

01:30:09.560 01:30:13.880
типа мой победитель, который работает.

01:30:13.960 01:30:17.600
Тем временем откроюell.

01:30:18.480 01:30:23.880
Так, я делал это на

01:30:21.960 01:30:25.560
nextjs. Это, собственно, то, что

01:30:23.880 01:30:30.280
разработали Verscell. И всё это сделано

01:30:25.560 01:30:33.360
для того, чтобы они, ой, не тот VCEL,

01:30:30.280 01:30:33.360
чтобы пользовались их

01:30:35.480 01:30:42.280
хостингом для деплоя.

01:30:39.199 01:30:44.400
Вот. Ну что тут у нас?

01:30:42.280 01:30:47.119
Creations deployment. Вот так выглядит

01:30:44.400 01:30:53.080
их сайт.

01:30:47.119 01:30:53.080
Он его здесь не был. Так вотмен.

01:30:53.679 01:30:57.520
Угу. Угу.

01:31:00.639 01:31:03.639
Agent.

01:31:06.520 01:31:11.800
А вот это

01:31:09.760 01:31:14.440
нашёл.

01:31:11.800 01:31:16.639
У меня авторизован мой GitHub аккаунт в

01:31:14.440 01:31:20.080
их интерфейсе.

01:31:16.639 01:31:23.440
Вот поэтому он может подтянуть.

01:31:20.080 01:31:24.639
Всё обновим. Запушился ли он?

01:31:23.440 01:31:27.560
А он меня спрашивает, можно ли ему

01:31:24.639 01:31:30.040
запушить. Да, я ему разрешаю всё это

01:31:27.560 01:31:33.639
делать.

01:31:30.040 01:31:37.280
Я разрешаю ему добавлять

01:31:33.639 01:31:41.920
и разрешаю комметить.

01:31:37.280 01:31:44.920
И решаю всё делать.

01:31:41.920 01:31:44.920
Решаю

01:31:46.199 01:31:49.199
решаю.

01:31:54.880 01:32:00.840
Контек

01:31:56.880 01:32:04.440
где-то он там Ghub заблокировал файли

01:32:00.840 01:32:04.440
секреты. Опа,

01:32:04.480 01:32:09.280
видите, поймал. То есть не дал нам

01:32:07.639 01:32:11.360
закомментировать мой публичный ключ.

01:32:09.280 01:32:15.840
Странно почему-то.

01:32:11.360 01:32:17.880
А EN потому что Gitignor, наверное,

01:32:15.840 01:32:21.440
содержит файл

01:32:17.880 01:32:24.159
с точкой. Ну неважно. А в итоге всё

01:32:21.440 01:32:28.600
о’кей. GitHub нас спас.

01:32:24.159 01:32:28.600
Мы удалили севамен.

01:32:28.719 01:32:33.560
Ну да, всё равно не пускает. Ну пусть

01:32:30.719 01:32:35.040
ещё подумает.

01:32:33.560 01:32:36.600
В общем, как бы это выглядело, можем

01:32:35.040 01:32:39.000
задеплоить другой проект. Пока неважно.

01:32:36.600 01:32:43.480
Вот он старте.

01:32:39.000 01:32:47.000
А просто выбираю свой проект Zхаubба

01:32:43.480 01:32:50.080
Next JS как framework

01:32:47.000 01:32:53.840
и просто жму. Всё. Вот две кнопки для

01:32:50.080 01:32:53.840
того, чтобы сайт появился.

01:32:59.199 01:33:02.960
Сейчас он за пару минут его задеплот. И

01:33:00.880 01:33:07.760
единственное, что останется,

01:33:02.960 01:33:12.880
вот эти envirймен ключи, которые у нас

01:33:07.760 01:33:15.760
переменные из Файбейза, из PНА и ключ,

01:33:12.880 01:33:16.960
их надо будет отсюда скопировать. Здесь

01:33:15.760 01:33:19.679
мы их использовали для локальной

01:33:16.960 01:33:22.639
разработки, но чтобы проект заработал,

01:33:19.679 01:33:24.920
мы должны положить их, э, вот сюда в

01:33:22.639 01:33:28.880
инваймене. Вот, собственно, таким

01:33:24.920 01:33:31.280
образом. Берём отсюда значение ключ. Так

01:33:28.880 01:33:33.960
как он de point не даёт мне, но суть в

01:33:31.280 01:33:37.719
том, чтобы наполнить все наши GitHub,

01:33:33.960 01:33:41.239
ой, все наши секретные ключи

01:33:37.719 01:33:41.239
вот в этом окошке.

01:33:42.639 01:33:48.320
Вот он ключ не нашёл, поэтому и

01:33:44.239 01:33:51.600
ругается. В общем-то, берём,

01:33:48.320 01:33:53.760
добавляем value

01:33:51.600 01:33:56.560
value.

01:33:53.760 01:33:58.560
Ну там так далее, не буду время тратить

01:33:56.560 01:34:00.679
и так далее. Добавляю все переменные и

01:33:58.560 01:34:05.560
нажму плой. И всё будет хорошо. Он нам

01:34:00.679 01:34:08.360
даст ссылку на проект. А там, скорее

01:34:05.560 01:34:10.560
всего, будет какая-то какой-то сайт типа

01:34:08.360 01:34:12.679
там блаблабла.

01:34:10.560 01:34:16.520
Но мы можем потом подключить к нему наш

01:34:12.679 01:34:20.159
домен, купить какое-нибудь красивое имя,

01:34:16.520 01:34:23.239
поменять DNS записи и появится на нашем

01:34:20.159 01:34:27.520
домене наш продукт

01:34:23.239 01:34:30.880
в режиме продакш. Если коротко, то так.

01:34:27.520 01:34:33.119
Да, спасибо, Вась. Да, э, я предлагаю

01:34:30.880 01:34:36.560
закругляться, если у вас есть вопросы,

01:34:33.119 01:34:39.119
есть последние шансы их задать. А у нас

01:34:36.560 01:34:40.840
ещё была заявлена глава про развитие.

01:34:39.119 01:34:43.320
Можно взять это, подумать и в чате

01:34:40.840 01:34:46.119
решить, но мне кажется очевидным этот

01:34:43.320 01:34:47.639
движок использовать как ээнд для

01:34:46.119 01:34:49.920
какого-нибудь чатбота. То есть не

01:34:47.639 01:34:53.800
использовать его как сайт, а дописать

01:34:49.920 01:34:56.560
туда опишку и прикрутить к телеграму,

01:34:53.800 01:35:00.199
например, или прикрутить к слаку или к

01:34:56.560 01:35:03.800
чему угодно, потому что а когда система

01:35:00.199 01:35:07.360
вот это ядро работает, да, а его можно

01:35:03.800 01:35:09.159
дальше переиспользовать, было бы здорово

01:35:07.360 01:35:11.760
этим пользоваться. То есть, условно,

01:35:09.159 01:35:14.480
администратор туда вносит доки, следит

01:35:11.760 01:35:17.960
за их актуальностью,

01:35:14.480 01:35:22.000
эмбидирует, заводит юзеров, а все ходят

01:35:17.960 01:35:24.560
и пользуются этим аа из каких-то других

01:35:22.000 01:35:26.760
интерфейсов.

01:35:24.560 01:35:28.080
Ещё как идея, можно взять обсидиан базы

01:35:26.760 01:35:29.600
данных. Я же так правильно понимаю, что

01:35:28.080 01:35:31.600
там в обсидиане файле хранятся где-то

01:35:29.600 01:35:33.480
файлой системе, может быть, даже на

01:35:31.600 01:35:36.080
дропбоксе условно, да, сделать

01:35:33.480 01:35:38.560
интеграцию с дропбоксом и все файлы из

01:35:36.080 01:35:40.080
обсидиана эмбедить. чтобы у вас в

01:35:38.560 01:35:42.000
Телеграме был доступ к вашей базе

01:35:40.080 01:35:43.520
обсидиана напрямую. Возможно, такие

01:35:42.000 01:35:44.119
плагины уже есть, но можно сделать

01:35:43.520 01:35:46.920
своего.

01:35:44.119 01:35:48.560
Да-дада. Можно дёргать по таймеру или,

01:35:46.920 01:35:52.119
например,

01:35:48.560 01:35:54.400
можно это в приложении сказать, да,

01:35:52.119 01:35:57.280
чтобы она ходила в drбокс, чтобы сервер

01:35:54.400 01:35:59.719
дёргалбокс там напрямую. Потому что у

01:35:57.280 01:36:01.920
нас, если мы задеплоили приложение в

01:35:59.719 01:36:04.480
облако, по сути, верцеловское, теперь

01:36:01.920 01:36:06.560
облако с облаком могут общаться, минуяшу

01:36:04.480 01:36:09.280
разработку. Только надо им сказать, как

01:36:06.560 01:36:09.280
это делать.

01:36:09.679 01:36:17.600
Вот. И заново вопрос. Дада. Сорри. Угу.

01:36:14.480 01:36:19.800
А я просто начал отвечать на вопрос. Ещё

01:36:17.600 01:36:22.600
вижу вопрос в чате, например, вот чем

01:36:19.800 01:36:24.960
отличается бединг от такинизации?

01:36:22.600 01:36:27.840
А могу быстренько ответить, если ещё

01:36:24.960 01:36:31.440
актуально. Был давно.

01:36:27.840 01:36:33.679
Абединг - это перевод текста в численные

01:36:31.440 01:36:36.320
значения, вот в массив цифр. А

01:36:33.679 01:36:40.199
токинизация находит из текста какие-то

01:36:36.320 01:36:44.560
основные главные слова, корни слов, и

01:36:40.199 01:36:47.000
делает уменьшенное уменьшенную строку

01:36:44.560 01:36:50.080
содержащих содержащий смысла. То есть

01:36:47.000 01:36:51.360
убирает всякие, наверное, там глаголы,

01:36:50.080 01:36:54.800
убирает

01:36:51.360 01:36:57.239
ненужные части текста, оставляет только

01:36:54.800 01:36:59.280
корни смысловых значений. Получается

01:36:57.239 01:37:02.840
уменьшенная строка, которая приводит

01:36:59.280 01:37:02.840
ближе нас к смыслу.

01:37:06.840 01:37:09.880
Так, друзья,

01:37:08.880 01:37:10.600
а

01:37:09.880 01:37:12.239
да, давай.

01:37:10.600 01:37:14.520
Как, как, как ставятся агенты? Вот

01:37:12.239 01:37:16.760
спрашивают Руслан.

01:37:14.520 01:37:18.800
Я

01:37:16.760 01:37:22.320
Серёжа уже скинул ссылки на всех

01:37:18.800 01:37:24.800
агентов. Там под Linux, ну, под каждую

01:37:22.320 01:37:27.000
систему своя команда. Просто скопируйте,

01:37:24.800 01:37:28.800
вставьте в терминал. в одну команду, он

01:37:27.000 01:37:32.199
установится. Дальше попросит

01:37:28.800 01:37:35.360
авторизации, скорее всего, нажа, он

01:37:32.199 01:37:38.000
откроет веб интерфейс авторизации.

01:37:35.360 01:37:39.360
Авторизуйтесь и всё, агентом можно

01:37:38.000 01:37:40.239
начинать пользоваться. То есть довольно

01:37:39.360 01:37:42.560
просто команда.

01:37:40.239 01:37:44.560
Тут ещё тут ещё можно, если это звучит

01:37:42.560 01:37:47.239
страшная инструкция, там документация и

01:37:44.560 01:37:48.760
так далее, я так делаю. Я открываю клод

01:37:47.239 01:37:51.119
и говорю, беру эту страницу с

01:37:48.760 01:37:52.880
документацией и говорю: “Я на Маке, я

01:37:51.119 01:37:54.320
умею пользоваться терминалом. Он у меня

01:37:52.880 01:37:56.639
открыт прямо сейчас. У меня есть

01:37:54.320 01:37:59.400
такая-то инструкция. Я хочу запустить

01:37:56.639 01:38:01.920
клод-код. Вот, посмотри, расскажи мне,

01:37:59.400 01:38:04.199
пожалуйста, по шагам, чего делать. Это

01:38:01.920 01:38:07.199
то же самое, что Вася сказал. Просто на

01:38:04.199 01:38:09.760
человеческом языке получится прямо э

01:38:07.199 01:38:11.639
такая детализация до нужного нам уровня,

01:38:09.760 01:38:13.599
потому что вызвать терминал, например,

01:38:11.639 01:38:16.000
это тоже может быть проблемой, да? Я вот

01:38:13.599 01:38:17.639
не скидываю это со счетов, а может быть

01:38:16.000 01:38:19.960
открываем терминал и видим, что он

01:38:17.639 01:38:21.520
открывается вот в таком окошечке и там,

01:38:19.960 01:38:23.960
значит, текст

01:38:21.520 01:38:25.480
девятым пунктом. И как бы мне просто

01:38:23.960 01:38:28.080
неудобно с этим работать. Я даже не

01:38:25.480 01:38:30.080
понимаю, устал у меня клод-код или нет.

01:38:28.080 01:38:32.320
И хороший вариант документацию

01:38:30.080 01:38:34.599
скармливать лэмки и с ней параллельно

01:38:32.320 01:38:37.639
говорить о том, что происходит. И в

01:38:34.599 01:38:40.760
целом тут Вася прав, что ставятся они

01:38:37.639 01:38:45.159
очень просто, а на все системы, где есть

01:38:40.760 01:38:45.159
терминал, а он есть везде.

01:38:49.239 01:38:55.920
Вот.

01:38:51.199 01:38:58.800
Давайте это будет up

01:38:55.920 01:39:01.239
какая-нибудь команда там на поставить

01:38:58.800 01:39:03.440
ноду ставить, а потом пакет поставить

01:39:01.239 01:39:05.360
клодовский и всё.

01:39:03.440 01:39:07.960
Вот есть ещё pпитон версия, но она, не

01:39:05.360 01:39:11.199
знаю, у меня заводится гораздо реже. То

01:39:07.960 01:39:14.159
есть лмка ответит прямо с копированием

01:39:11.199 01:39:16.960
кода. Я всё хочу наконец всех нас

01:39:14.159 01:39:19.119
отпустить в пятницу вечером. А-а,

01:39:16.960 01:39:21.239
отдельно сказать, что это, кажется, был

01:39:19.119 01:39:23.960
последний наш воркшоп-семинар,

01:39:21.239 01:39:28.040
мастер-класс всей большой лабы, что тоже

01:39:23.960 01:39:30.920
хочется отметить. У нас остаётся только

01:39:28.040 01:39:33.440
демодень, в который было бы классно,

01:39:30.920 01:39:36.360
если бы вы принесли свои наработки,

01:39:33.440 01:39:38.920
лучшие проекты, открытия,

01:39:36.360 01:39:40.920
не знаю, поделки, ээ, какие-то

01:39:38.920 01:39:43.679
ПТ-проекты весёлые или, наоборот,

01:39:40.920 01:39:45.440
серьёзные, важные, не знаю,

01:39:43.679 01:39:46.960
проработанные.

01:39:45.440 01:39:49.320
или,

01:39:46.960 01:39:52.280
не знаю, смешные. Всё, всё, всё годится,

01:39:49.320 01:39:54.880
потому что, ну, мне, как преподу, важно

01:39:52.280 01:39:57.040
изменение поведение отслеживать, что вы

01:39:54.880 01:39:58.840
не умели, а умеете. Ну, то есть не то,

01:39:57.040 01:40:01.840
что вы знали, а теперь вы не знали, а

01:39:58.840 01:40:04.119
теперь знаете про имбе. Это, ну,

01:40:01.840 01:40:07.440
неплохо. Но то, что вы их используете и

01:40:04.119 01:40:09.960
то, что вы их потрогали руками и вы

01:40:07.440 01:40:12.199
смогли их применить, то, чего они

01:40:09.960 01:40:13.920
применяли, вот это самое крутое. Так что

01:40:12.199 01:40:15.639
приходите похвалиться, получить

01:40:13.920 01:40:19.320
поддержки.

01:40:15.639 01:40:21.040
и порадоваться всем вместе, что там у

01:40:19.320 01:40:22.800
нас получилось.

01:40:21.040 01:40:25.000
Я ещё вставлю 5 коп от себя. Да,

01:40:22.800 01:40:28.040
во-первых, спасибо. Круто, интенсивно,

01:40:25.000 01:40:30.000
классно, классный финал. А я ещё раз

01:40:28.040 01:40:31.920
приглашаю всех на демо, ещё раз

01:40:30.000 01:40:33.639
проговорю, что я скинул там пару слотов,

01:40:31.920 01:40:36.000
если кто-то хочет лично поговорить и

01:40:33.639 01:40:38.760
рассказать, как ему лаба. Спасибо. Видел

01:40:36.000 01:40:40.760
тех, кто зарегался. И ещё замотивирую

01:40:38.760 01:40:43.320
выступить на демо с каким-то кейсом.

01:40:40.760 01:40:44.560
Если вы прямо сделаете в формате как бы

01:40:43.320 01:40:46.920
нашей заявленной предложенной

01:40:44.560 01:40:50.040
презентации, мы дадим вам там условно

01:40:46.920 01:40:52.840
бесплатное там 80% скидки на вот наш

01:40:50.040 01:40:54.840
новый программу сопровождения ADVance,

01:40:52.840 01:40:57.639
которую мы планируем тоже озвучить. То,

01:40:54.840 01:41:00.239
что мы проговаривали про э месяц такой

01:40:57.639 01:41:02.360
дополнительной работы и так помесячно.

01:41:00.239 01:41:05.000
Вот мы хотим её запустить, мы её опишем

01:41:02.360 01:41:07.280
и озвучим завтра. Вот просто мотивирую

01:41:05.000 01:41:09.119
тех выступить на демоднее, что это для

01:41:07.280 01:41:11.880
вас возможность первый месяц получить

01:41:09.119 01:41:13.560
около бесплатно. Спасибо и до

01:41:11.880 01:41:16.520
понедельника.

01:41:13.560 01:41:19.520
Спасибо, Вася. Спасибо вам всем.

01:41:16.520 01:41:19.520
Увидимся.

01:41:21.599 01:41:24.599
Спасибо.