ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:00
Автономная разработка ПО:
  • Использование технологий loop и harness engineering для автономного программирования
  • Применение моделей машинного обучения для самостоятельного написания и тестирования кода
  • Создание среды, обеспечивающей безопасное выполнение автономных задач
  • Описание практических примеров использования автономного подхода в реальных проектах
00:00:46
Loop Engineering Процесс:
  • Пошаговое описание цикла loop engineering
  • Шесть ключевых этапов процесса: постановка цели, обнаружение работы, верификация, запись состояния, эскалация, завершение
  • Роль отдельных инструментов и компонентов в процессе
00:06:55
Практическое применение и инструменты:
  • Демонстрация создания собственного harnesses'а в Claude Code
  • Примеры настройки и запуска циклических процессов
  • Предотвращение типичных ошибок и проблем в ходе автономного программирования
00:13:00
Концепция Северной Звезды:
  • Описана необходимость фиксации начальной концепции проекта ('Северная Звезда')
  • Поддержание долгосрочной согласованности проекта с первоначальным видением
  • Автоматизированная проверка соответствия проекта изначальному замыслу
00:14:17
Интерактивные и автономные режимы работы:
  • Разделение на интерактивный и полностью автономный режимы
  • Преимущества и ограничения каждого режима
  • Возможность применения harnesses'а в новых и существующих проектах
00:21:59
Социальное взаимодействие и обучение:
  • Информация о сообществе разработчиков
  • Преимущество получения поддержки и опыта в клубе
  • Доступность готовых решений и шаблонов
0: Loop, инжениринг, харнесс, инжениринг все эти термины сыпятся сейчас абсолютно со всех щелей во всех соцсетях, если хочешь разобраться в этом до конца, посмотреть практический пример того, как можно самому самостоятельно создать.
1: Харнесс по автономной разработке с использованием луп инжениринга, то досмотри это видео до конца, и ты освободишь себе огромное количество времени. Если ты занимаешься разработкой, занимаешься Вайполина, используешь агентов для того, чтобы
2: Писать код, разрабатывать какие-нибудь сервисы приложения, большое количество времени освободится, и ты сможешь заняться чем-нибудь другим, например, наладить продажи этого всего дела. Ну а мы начинаем. Итак, практический гайд по автономным Кодин.
3: Циклам, то есть тот самый пресловутый луп инжиниринг. И на самом деле можно подумать, что loop инжиниринг это довольно простая вещь. Берёшь, запускаешь какой-нибудь промп в режиме гол или в режиме луп в клод коде, и все. Полетела модель сама как будто
4: То бы узнала, че надо делать, и все это сделала тебе под ключ, но все несколько сложнее, но в то же время не rocket сайтс, давай разберёмся, как работает вообще цикл 1 это постановка задачи, модель находит задачу.
5: Потом начинает её делать желательно другая модель, чтобы это все проверила, сделала ревью. После этого идёт запись состояния. То есть в каком месте мы сейчас находимся, что мы сделали, что мы делаем сейчас и что
6: Ещё нужно делать. Если все ещё нужно какие-то задачи доделать, то тогда происходит остановка цикла. Если задач других нет, то происходит остановка цикла. Если все ещё есть задачи, то происходит замыкание этого цикла и опять
7: Постановка задачи, реализация задачи и так далее. Я для себя разделил loop инжениринг на 6 циклов. Если какого-то 1 нет, значит это какой-то неполноценный луп инжиниринг. 1 это цель и условия его остановки. 2,
8: Это обнаружение работы. 3 это запись, память состояния 4 это верификация, или, как называют его агенты сами это gate, это определённые условия, которые нужно пройти для того, чтобы считать задачу выполненной. Следующий
9: Пункт в случае спорных вопросов, это эскалация человеку, ну и расписание, автоматизация, потому что это может применяться не только когда мы делаем сами инициируем это, это может работать в цикле. Ну, например, новый пул реквест прилетел
10: У нас на удалённый репозиторий, и мы запускаем этот цикл. Откуда вообще все это пошло с этим луп инжинирингом, откуда завирусилось это все на самом деле ещё давным давно, даже на моём канале это тоже есть про ральф луп, про разработку в
11: Но завирусилось это когда 7 июня эдди Османи запостил следующее ты не должен. Промтите своих агентов больше. Все, что тебе нужно, это разрабатывать. Циклы, которые будут сами. Промтите твоих агентов. В общем.
12: Посыл такой туда же подключился и Борис чёрный. Это глава клод кота из антропия. Другие ребята это все подхватили, и до сих пор этот луп инжениринг все ещё в лентах и никак оттуда не выходит. Я думаю, что многие помнят, что мы раньше говорили.
13: Про промт инжениринг потом у нас появился контекст, инжениринг, когда мы поняли, что prompt это не что-то статичное, а это динамически собирающаяся штука, и нужно было заниматься именно инженирингом, сборкой этого контекста на каждый.
14: Ход агента. После этого появился уже харнесс инжениринг. Это когда мы вокруг агента создаём среду для того, чтобы ему было удобно в ней работать, даём ему разные инструменты для реализации наших идей. И внутри этого харнесса он работает. Ну и
15: И ещё 1 слой, он не является финальным. Их там сейчас около 6, это loop инжиниринг, это когда часть харнесса работает так, что она замыкает всю эту разработку. То есть система, она
16: Работает автономно или относительно автономно и сама решает, когда ей остановиться при достижении задачи. Я думаю, что прям очень, очень подробно разбирать каждый примитив мы, наверное, не будем. То есть вот
17: Они здесь есть все в списке. Я думаю, что они в принципе самодостаточные по своему описанию цель и условия для того, чтобы остановиться, обнаружение работы, то есть откуда подтягиваются задачи, изоляция выполнения, то есть
18: Где агент безопасно работает где-то в сент боксах или где-то в гид воркис или ещё как-то верификация. Это очень важно кто или что решает, что задача выполнена. Это запись текущего прогресса в некую память, в состоянии, где
19: Это все живёт в каких файлах или, может быть, даже не в файлах и эскалация, или остановка. То есть 6 примитивов. Они, в принципе, плюс минус все понятны. И что важно, сказать, что это не только в клод код или в кодекс. Это, в принципе, можно использовать в
20: Любой среде для разработки, будь то Кило код open code, любой силай абсолютно без разницы. Везде этот цикл можно в принципе воссоздать. Инструментов предостаточно, но я буду показывать на примере клод кода, и там в нём есть следующие
21: Компоненты клод Эмди это файл, то есть это некая конституция, где собраны команды, основные основные инструкции, набор Скилов, соответственно, скиллы как набор протоколов, по которым ведётся работа субагент.
22: То есть это изолированные агенты, которые могут выполнять параллельно. Задачи как раз-таки используются для того, чтобы информировать систему, что мы переходим на в другое состояние, что работа закончена, нужно ревью или review закончено, можно
23: Хуки, хуки
24: То есть это изолированные агенты, которые могут выполнять параллельно задачи хуки хуки как раз-таки используются для того, чтобы информировать систему, что мы переходим на в другое состояние, что работа закончена, нужно ревью или review закончено. Можно
25: Продолжать и так далее. Гол, то есть гол в данном случае встроенной командой, которая, по сути, имитирует старый добрый Раль флуб, просто агент берет задачу и постоянно промти сам себя и автомейшен или рутина.
26: Здесь является
27: Продолжать и так далее. Гол, то есть гол в данном случае здесь является встроенной командой, которая, по сути, имитирует старый добрый Раль флуб. Просто агент берет задачу и постоянно промти сам себя и автомейшен или рутина.
28: Это как раз-таки те события, которые могут стартовать по расписанию, и, кстати, сразу хотел сказать, чем отличается команда гол от команды op гол это движение к чёткой цели, когда нужно обязательно довести
29: Задачу до тех условий, когда можно остановиться, когда как lupe, это просто как брутфорс. То есть это постоянное повторение 1 и того же. Поэтому луп применять здесь сомнительно. Луп больше подходит для каких-то исследовательских задач. Мы, например, мы хоти
30: 150 раз попробовать что-то сделать. Вот мы делаем луп, у нас нету какой-то конечной цели, либо она не определена как условие для остановки мы запускаем луп и 150 раз он гарантированно отработает, либо мы ставим его на
31: Какое-то определённое время на количество минут или часов, и это большая разница между гол и loop командами. Вот маленький и простой рецепт того, как можно запустить свой такой луп, да, харнесс небольшой, в котором может быть цикл.
32: Мы берём и говорим, что result у нас равен в квире, мы добавляем промпт и добавляем к промпт опции, то есть сразу же пермишшн, монт. Мы разрешаем редактирование Макс, тернс 25, то есть 25 циклов.
33: Мы разрешаем и хуки Посту юс. Обязательно. У нас идут тесты, то есть, как только заканчивается вызов инструмента, мы автоматически триггерим тесты после редактирования файлов.
34: И результаты Тестов. Нам говорят, что если все тесты зелёные, то, значит, мы можем остановить цикл. Если же нет, то это будет дальше продолжаться все 25 раз. Вот простой пример, готовый скил паттерн для
35: Различных багов в коде определять автора и файлы, которые изменены за последнюю неделю, найти баги, которые однозначно тянется к собственным изменениям, а не к чужому коду, и реализовать минимальный фикс, проверить его, прогнать существующии.
36: Тесты для затронутых модулей. Вот я, допустим, такое применяю постоянно в большом количестве разных проектов. У меня там есть более продвинутые системы, которые триггерятся во время того, как приходит новый пулреквест от кого-то из коллег. Но вот такую штуку её можно просто
37: Запускать по расписанию. А в другом проекте мои коллеги накидывают разные баги в наш таск трекер и каждое утро стартует кодекс, смотрят, какие там есть задачи, какие баги, чем недовольны пользователи, чем мы недовольны.
38: Берет эти задачи в работу и выполняет их, собственно, до конца. Ну и крайний слайд. Перед тем, как мы начнём чего-то делать, я буду показывать свой харнесс, скажу о том, какие могут быть тут ловушки, которые могут сломать нам наш луп или цикл.
39: Если в цикле нету чётких, понятных, конкретных условий, то есть верификации, и мы лишь полагаемся на мнение модели, то это нерабочая история, потому что часть её работы находится.
40: В контексте и модель всегда склонна быть предвзята к своим собственным действиям, и она будет думать, что она все хорошо сделала, если есть неограниченный параллелизм валидации, то есть могут большое количество субагентов выполнять сбор.
41: Тесты и все это не централизованно. В итоге непонятно, где источник истины, кто-то говорит зелёный, кто-то говорит жёлтый, а кто-то говорит красный, получается вот такой светофор, то есть должен быть какой-то 1 агент, который на себя возьмёт ответственность за final,
42: Валидацию, если будет полный доступ к сент боксам для автоматизации, то есть в документации и в клод коде. В кодексе есть прямая рекомендация, что для того, чтобы работать безопасно, нужно доба
43: В low лист различные команды, а не давать полный доступ, потому что может что-то пойти не так. Могут файлы удалиться, может зачистка базы данных, произойти что угодно, поэтому так.
44: Не рекомендуется слепой аудит фикс, когда мы просто сразу начинаем клеить пластырь, не разобравшись в проблеме. То есть это любая проблема, любая, любая проблема, любой баг или тем более какая-то новая фича это сигнал разобрать.
45: Вникнуть в суть и разработать план реализации, если мы храним состояние в системном промте, например, в cloud Эмди или в agent Эмди, делать этого нельзя, должен быть отдельный файл и должна быть отдельная инструкция по
46: Тому, как это правильно делать, в каких файлах все это должно работать, если ральф флуб работает на боевой базе. Ну, я думаю, здесь комментарии излишние. Удаление, очищение базы данных агентами уже этим, опять же, никого.
47: Не удивить. Стоп Гейт воюет с фазой планирования. То есть до 1 строчки кода гейты зелёными бить быть вообще не могут. Ну как, если нету кода, а уже есть тесты, естественно, все упадёт. Поэтому здесь стоп гейты.
48: Которые привязаны к каким-то тестам, должны подключаться только тогда, когда есть чего тестировать. Верификатор описан, но не подключён. То есть есть условно правило, что обязательно мы прогоняем определённые тесты, но по какой-то причине они недоступны, то есть их нету или
49: Реальной блокировки нет. Даже если тесты провалены, у нас код все равно долетает каким-то образом до репозитория и мержится в него. Вот этого делать точно нельзя. А теперь давайте посмотрим на примере. Я вам
50: Покажу на примере клод кода. Сейчас запустим клод код, и я вам покажу. Я создал свой собственный харнесс, который позволяет работать автономно, прежде чем мы вообще хоть что-то
51: Сделаем. Давайте я вам покажу, как вообще этот харнесс работает. Вот у меня здесь есть к нему вот такой вот ритми. Суть какая, что
52: Клод код в данном случае берет пирди, то есть project реквай документ ну некое техническое задание начинает его читать, потом использует формат open спёк с помощью open спёк он готовит специфика.
53: И после того, как спецификация готова, он описывает все критерии приёмки. И после этого он может запустить цикл. На 1 этапе, он будет спрашивать, он будет задавать вопросы на этапе формирова.
54: Спецификации как таковой, потому что это очень важно и решения должны быть в любом случае за нами. Но после этого он может полностью автономно работать. И есть ещё 1 концепция, которую я, до которой давным давно уже дошёл, использую её тоже всегда это
55: Называемая концепция северной звезды, что это такое северная звезда? Это то, как мы изначально видим. Допустим, мы делаем какое-то приложение, наш какой-то продукт и вот как мы его изначально видим, потому что
56: Череда мелких неточностей это как перевод стрелок у поезда, хоть они и переходят на несколько градусов, но они выводят поезд через какое-то количество раз до такой степени, что он может развернуться на 100.
57: 80 градусов. И если система, она работает реально автономно, а у меня она работает и по 30, и по 40, и по 50 часов автономно, она может иметь так называемый дрифт. То есть когда система нам начинает делать вообще
58: Не то, что нам надо, начиналось все хорошо, но потом что-то пошло не так. Вот и у меня здесь, в моём харнесс, зашита сверка с северной звездой. И вот мой харнесс тоже помогает эту северную звезду на этапе обозначить.
59: Конечно же, все документы я рекомендую читать обязательно. Я их сам читаю. Я их правлю, прежде чем запускать. И вот идею северной звезды я сюда тоже встроил, в этот харнесс. Он может работать, как и в гринфилде. То есть, когда у нас нету ничего.
60: Абсолютно пустая папка, пустой проект. Так он может работать и в brown филде и есть несколько режимов. То есть есть режим интерактивный, а есть режим полностью автономный, то есть интерактивный, там будет гораздо больше.
61: Вопросов, допросов и прочее. И по сути, все, что нам нужно сделать. Вот у меня вот такая вот есть такой вот шаблон, который содержит в себе все нужные скрипты, который содержит в себе open спёк.
62: Описание спецификации здесь пока пусто и тут есть файл перди это единственный файл, который я сам написал и положил его именно вот в эту директорию. Но star это просто болванка, в ней пока ничего.
63: Нет, и для того, чтобы нам стартануть, допустим, мы хотим стартануть в неинтерактивном режиме, нам надо запустить этот скрипт, который сам пойдёт и найдёт файл пирди и запустится. Ну, давайте для того,
64: Того, чтобы было понятнее, я сейчас его запущу из этой папки. Этот самый скрипт скрипт запустился. Нужно обязательно установить open спёк. Я ему говорю ес.
65: Обновляю. И здесь я выбираю, для какой системы клод код, кодекс. Я буду клод код, нажимаю пробел, нажимаю enter и все. То есть сейчас мне нужно скопировать этот prom. То есть здесь написано
66: Режим 1 одобрение плана на старте. Дальше автономная работа на долгое время. Вот 2. Нам нужно одобрить артефакты промпт уже скопирован мне автоматически в буфер я могу запустить клотку.
67: Нажать ctrl v сейчас клод код пойдёт читать наш пирди и начнёт делать из него спецификацию тот код потихонечку начинает заполнять уже файлы сейчас он заполняет файл project.
68: Emdi под файл project md он уже тут частично наследует ту информацию, которая у меня была в моём перди и claude работает дальше также он заполнил файл нод стар наша северная звезда.
69: Да, цель продукта и in варианты. То есть это то, что у нас должно быть на выходе. Этот документ я однозначно рекомендую вручную дорабатывать и все свои продуктовые хотелки, все.
70: Что вы придумали? У вас это вот было где-то в голове, либо вот описано в техническом задании обязательно сюда нужно дополнить для того, чтобы потом не было такого. Ой, а я думал, что у меня там это будет работать по другому. Вот для того,
71: Чтобы избежать того самого дрифта, этот документ нужно обязательно вручную проработать. Здесь мне уже клод говорит, он рекомендует мне остаться в режиме планирования, потому что есть там ещё
72: Нерешённые вопросы. Дальше начинается 2 фаза. Это уже фаза автономии. Я здесь не буду долго залипать на спецификациях, потому что, ну, проект явно простой для демонстрации, в принципе можно довольно долго с ним
73: Обсуждать в какой-то степени это будет похоже на super powers, но с той лишь разницей, что здесь все-таки я заставляю клод либо кодекс писать очень жёсткие гейты приёмки, и мы действительно можем
74: Работать достаточно автономно. Можем прям отдавать целый большой скоуп в работу. Вот уже запустился в режиме планирования. Сейчас он будет спецификацию составлять согласно опен спёк.
75: То что он её вот сюда кстати все what changes все это вот тут будет тоже архивироваться. Все те изменения мы всегда сможем посмотреть, откатиться в случае чего назад вот он уже пишет Пекач джисон в принципе уже начал
76: Фаза имплементации, поскольку я запустил его в неинтерактивном режиме. Вопросов он задаёт мало, просто делает так, как ему вздумается, но я не рекомендую это делать естественно, в интерактивном режиме у меня
77: У меня здесь есть варианты, когда можно запускать его в режиме интерактивном, когда он будет задавать вопросы. И помимо этого ещё можно запускать его в браунфилд. То есть тогда, когда мы запус
78: Come эту систему уже в существующем коде, в каком-то работающем проекте и также в браунфилд можно запустить как в интерактивном, так и в неинтерактивном режиме. Вот, собственно вот здесь вот у меня и описано.
79: Документация. Я этот харнесс, естественно, создал с помощью клод кода, просто потому, что я ему вывалил весь свой опыт, как вот должно работать. И этот харнесс подразумевает, что клод код на каждом этапе, когда
80: Будет требоваться ревью. Он будет запускать кодекс, как независимый ревьювер автоматически, и кодекс будет делать ревью. Как только ревью будет пройдён, тогда клод код сам сможет продолжить или
81: Он будет доделывать до тех пор, пока все хотелки ревьювера не будут закрыты, пока там все тесты не будут зелёными. Вот. То есть, если очень хорошо написано, перди, если вы очень хорошо ответили на все вопросы,
82: Подробно, потом прочекали спецификацию, полностью убедились, что все именно так, как надо, то вот такая система, она вам может дать до 80, 85% точности по
83: По конечному результату, при том, что она будет работать полностью, полностью автономно, она иногда будет эскалировать, когда будут какие-то спорные моменты, когда будут какие-то вопросы. И это можно очень легко. Допустим, если у вас есть с собой телефон и прило,
84: Не клод код. Вы можете просто там его открывать, отвечать на эти вопросы, отправлять ему ответы, и система продолжит дальше работать. Таким образом, вы из человека, который сейчас на данный момент является опера.
85: Tl агента разработчика вы снимаете с себя эту роль, потому что вы запрограммировали так систему, что она работает автономно и хорошо ну настолько, насколько это возможно сейчас.
86: Конечно там будут модели доступны типа уровня мифос или fable и его аналоги, то такая система ей может быть и даже не нужен будет такой харнесс, такой вот жёсткий, но тем не менее даже на этих моделях на gpt 5 и 5 на
87: Opus 4 8 можно делать очень, очень классные проекты, при этом высвобождая до 70, до 80% времени, и мы не будем сидеть и заниматься вот этим бейби ситинг м. Когда мы пишем постоянно промты, копируем их.
88: Клод кода в кодекс и обратно делаем какие-то ручные ревью. То есть систему можно запрограммировать. И вот такой харнесс его, если вы понимаете, как его сделать, его можно сделать с помощью клод кода или кодекса. Я думаю, что почему
89: Что по какой-то причине клод код справляется с этим лучше. В целом он документацию пишет так более развёрнуто. Вот. Но на кодексе тоже при желании можно сделать, если вы хотите научиться разрабатывать вот с помощью таких методов, либо
90: Появятся какие-то новые. Обязательно обратите внимание на наше закрытое сообщество, на наш клуб. Информация о нём будет в описании под этим видео. Там я записываю обучающие материалы, мы встречаемся на зумах, помогаем друг другу развиваться.
91: Есть люди, которые приходят с нэйтен, а уходят уже с готовыми продуктами, проектами, у которых есть платящие пользователи. В общем, это то сообщество, в которое я прям вкладываю время, душу и стараюсь всегда делиться всем полезным, что только есть.
92: А если вам нужен этот charles, хотите его скачать, то, пожалуйста, совершенно бесплатно можете скачать у меня в моём telegram канале, и если вы с ним разберётесь, то вот такая простая вещь, она вам поможет освободить. Ну,
93: Просто огромное количество времени. Поверьте мне, если раньше я сидел по 12 часов в день и промки, то сейчас я трачу, ну, наверное, часа 2, 3, а все остальное время система сама работает, и она делает то, что надо. Действительно, если вы
94: Уделяете достаточное время для того, чтобы прочекать и внести изменения в спецификацию. Если вам видео было полезно, поставьте лайк. Это очень мотивирует записывать новые видео. Подписывайтесь на канал, чтобы узнавать про вот такие вот штуки, как они.
95: Самом деле работают без приукрас. Мы с вами увидимся обязательно в следующем видео.
96: Пока.
97: Самом деле работают без приукрас. Мы с вами увидимся обязательно. В следующем видео пока
98: Home welcome to the future.