0: К следующему вопросу следующий вопрос. Давайте возьмём следующий вопрос про использование спект дривен, девелопмента. И ты говорил, расскажешь про свой flow? Я тут немножечко. Ну, может, добавь ты комментариев своих. Потом я ещё немножко додам.
1: Добавлю комментариев и послушаем твой опыт. Этот топик родился как обсуждение в чате, что, как это вообще использовать и посмотреть на разные подходы, которые разные участники чата использу.
2: Потому что есть гипотеза, что он сильно улучшает качество агентского кодинга, особенно на средних или больших задачах, будто бы он улучшает стабильность ответов. Насколько я понимаю, повторяемость ответов, даже качество
3: Повторяемость, качество ответов. Ну давай быстренько вводную дам спект дривен девелопмент, подход в Ия разработке, где спецификация становится по факту главенствующим артефактом и устраняется, таким образом, вайбо эффект, когда
4: У тебя контекст постоянно разный, в каждой задаче его мало. Ты таким образом, как бы оперируя контекстом, чётко контролируешь, что подаётся на вход, и в принципе можешь ожидать какого-то гарантированного качества результата. Я бы разделил тут на 2 части есть лагерь.
5: Людей, которые считают, что спект дривен девелопмент основывается на инструментах типа адешек. Вот есть в кайра спект дривен девелопмент функционал и есть в кую озере спект дривен функционал, когда
6: Тебе сами идешки составляют план разработки, дизайн твоих, фич, ты это все опробить. Потом идёт разработка. Есть другие ребята, которые придерживаются того, что спект дривн девелопмент это, собственно, подход, они просто инстру.
7: Менты, там, насколько я понимаю, сейчас 2 лидера, даже, наверное, 3 уже это гитхабовский спёк кит, который реализует спёк дрион девелопмент через стандартные
8: Сценарий примерно как это в кайре сделано. Спека, план, задачи выполнения и бимет метод, который делает разные Роли. Вот то, про что мы сейчас разговаривали, делает агентов с разными ролями, они пытаются разными ролями обрабатывать
9: Каждой свою задачу и выдавать в итоге финальный результат. Ещё я нашёл интересную реализацию, похожую больше на spec кид это open спёк. Вот такая библиотечка скину в чатик, вам она в принципе
10: Делать тоже самое что спеки. Но в итоге, как по мне все эти библиотеки и все эти подходы про управление контекстом, про написание по факту Эмди файлов, которые кладутся в контекст Эмди файлов с тем, как работать с контекстом. Вот denis теперь тебе слово
11: Ну да, тут у меня эволюция, я в чате тоже писал. Эволюция была от того, что я пробовал этот подход в курсоре, потому что обещали, что on классные результаты даёт, но в итоге
12: Ты через контекст севен, наверное, использовал. Да? Или не, не, я чисто курсор использовал. Но это давно было. Ещё весной. Смысл был в том, что он готовил голимый план, а потом он по этому плану и не
13: Мог выполнить то, что там написано. То есть это было бессмысленно его использовать. По крайней мере, у меня вообще ничего не получилось. А сейчас у меня получается, на работе есть там ребята, они агенты.
14: Делают они там вообще код руками не пишут. И у них есть такой, типа, template или, скажем так, я сделал template на основе тех Спеков, которые они пишут, у них типа 1.
15: Файл, в котором есть небольшой ресерч, небольшая Спека, небольшие таски.
16: И ещё какой-то мусор, который там все говорят, нужно добавлять. То есть это невозможно читать, что оно там добавляет. То есть там типа квалити гейты, какие-то performance там какие-то эстимейты оно пишет там как бы, ну
17: Клод код пишет с этой штукой. Качество кодинга сильно улучшилось, потому что можно работать с этим файликом. И, в принципе, такие небольшие фичи пилить, но
18: Меня результат не устраивал, потому что файлик здоровый и там много мусора, его невозможно ревьювать. Следующая моя эволюция была в том, что я заюзал гитхабовский спёк кит у
19: Гитхабовского кита. Проблема, что он генерирует громадные эти файлы. А как выглядит работа со спе китом? Это просто рекомендации или это прям библиотека, которая сама следит там за файлами, сама их заполняет. Ну, короче, вот этот
20: Be mad, i speak, кит, это как бы там несколько элементов, то есть там есть темплейты Промтов, которые используются для написания вот этих
21: Артефактов типа ресерча, спецификации и так далее. Вокруг этих темплейтов выстроена обвязка для агентов типа клод кода, там, кодекса и так далее, типа готовые настройки для агентов конкретно, да? Ну там.
22: Типа команды, он генерирует команды и потом есть обвязка в виде там каких-то скриптов. Это на питоне на баше, на джаваскрипте, в меде, оно на
23: Основе этих скриптов прогоняет флоу вот этот спёк дривен девелопмента, но смысл в том, что они все вот и spec кит, и
24: Mad они хотят какой-то мега универсальный флоу который любой проект можно сделать это супер непонятно ну то есть я вот эту диаграмму читаю, я нихера не понимаю ну это описание того как типичная команда софтверная работа.
25: В аутсорсе, типа, ну типа да, но это сложно, мне нужен был какой-то более простой инструмент. То есть я в итоге взял то, что
26: Сгенерировал мне spec кит, как конечные темплейты и конечные типа артефакты, и на их основе сделал себе похожий флоу, похожие темплейт.
27: Но под мой стек, под мои проекты и, может быть какие-то мои требования немножко по ним поитерироваться, зарефандить эти тенпей, ты, и у меня осталось 4 команды типа research.
28: Research делает что-то типа deep ресерча, который делает perplexity, или ты сам делаешь, когда исследуешь задачу. То есть у тебя там стоит задача, вот там, типа Заре.
29: Торт проект там заиспользовать новую библиотеку, то есть там какую-нибудь кэш библиотеку ты говоришь типа вот у меня есть такая-то библиотека, её нужно заиспользовать в таких-то модулях в таком-то проекте.
30: Сделай мне deb ресерч, задай ему там какие-нибудь вопросы, что делает библиотека? Как это можно внедрить в мой проект наиболее наименее таким вербоус методом вся.
31: Какую такую вот херню? А ты ж при этом клод кодом пользуешься? Да, да, он генерирует ресерч файл, и это как canvas. Ну похож там на chat gpt какой-то канвас, с которым ты общаешься, и Говор.
32: Типа вот мне нужно ещё вот этот модуль, мне нужно там ttl ещё какую-нибудь хероту, просто как брейншторм такой, как уточка. У меня тут вопрос сразу. Вот, кстати, умпутун в последнем.
33: Выпуске радио t очень расхваливал скиллы антропково и говорит, что в клод коде прям тоже скиллы можно использовать и что хороший подбор Скилов под проект чуть ли не заменяет вообще все aspect дривен девелопент, подходы у тебя просто агент знает че.
34: Делать. Ты ему просто в скилы подгружаешь нужные скриптики, нужные описание. Ты не пробовал скиллы? Я пробовал, но у меня возникла проблема, что мне клод кот не написал. Довольно простой скилл. Вот.
35: Я его там день промучил, мне нужно было написать аналог трейса, то есть у меня есть энвайроменты, у меня есть entity, там в динамо дебби лежит энтити.
36: Three лежит какая-то производная артефакт от этой энтити, там картинка, условно говоря, и у меня эта есть информация на стейджинге, есть на продакшене. Я попросил клод кода сделать скилл, то есть у меня уже было все описание
37: Для такого скила у меня был скрипт, но у меня там коллеги сказали, что нахер такой скрипт в основную кодовую базу добавлять, типа оверинжиниринг. Я думал скилл сделать. Ну и он мне его мучил, этот скилл.
38: В итоге он просто его не родил. То есть у них там было обещание, что можно ему дать возможность код типа, самому писать. Вот он, короче, не может это
39: Сам обернуть, а сидеть, разбираться там, короче, по сути, скилл, как я понял, это какой-то промпт, и ты должен ему дать какой
40: Какой-то супер простой скрипт. Ну либо что-то супер понятное, а если что-то не очень понятное, то ничего не работает. Вот в итоге эти скиллы, ну наверное
41: Полезные и скиллы. Ну, короче, если про спеки говорить. То есть вот у меня была тема, что есть темплейты, темплейты подгоняются под проект, есть команды, которые можно в самом проекте.
42: Добавить и они будут помогать тебе прогонять через этот flow. В итоге ты работаешь с md файлами в принципе, самая большая теперь стадия у меня это ресерч, а все
43: Остальное в принципе генерится из него Спека у меня супер маленькая, на 100 строк, которая выделяет какую-то юзер стори, рассматривает какие-то рейс, кондишены в темплейтах у spec кита гитхабов.
44: У него там так промп настроен, что он тебя ещё спрашивает, эйч кейсы, то есть он тебе задаёт вопросы, когда ему что-то непонятно по каким-то вопросам, и ты на них отвечаешь во время работы над специфика.
45: То есть там полезные вопросы, плюс при работе на спецификации видно, где агент какую-то херню начинает делать. То есть он делает не то, что ты хочешь, то есть ты там это правишь потом.
46: Он делает имплементейшен план. Имплементейшен план это именно код. Ты там в темплейте пишешь. Пиши мне псевдокод, не пиши мне много тесты там такие, то, то, то, там такой-то.
47: Он тебе по этому темплейту делает этот имплементейшен план?
48: И по имплементейшен плану он потом таски делает в тасках, он делает граф мини задач, то есть на большую Таску, там будет где-то около 100.
49: И там вот что он может и субагентов там вызывать уже как бы, то есть он определяет, что можно выполнять параллельно. То есть, условно говоря, в итоге у тебя
50: Задача фича вписывается в то, что ты пишешь ресерч, контролируешь, что по этому ресерчу он сделал спеку и implementation план, который можно прочитать, то есть там.
51: Районе 100 строк. Все ещё непонятно почему это все выделилось прям в отдельное серьёзное название спёк флоу. Ну у нас до этого существовал мемори банк, который тоже пытался претендовать на единый термин.
52: Теперь у нас есть spec флоу, хотя по факту это просто итеративное улучшение твоего промпта, который объясняет как с контекстом работать, это же по факту промт, инженерия, только промт, инженерия с мозгами.
53: Ну, не совсем. Там, короче, получается, что вот этот вот ресерч, это промт, инжиниринг, контекст, инжиниринг, который ты описываешь. То есть здоровый документ, который делает структуру твоего проекта.
54: Для твоей конкретной задачи с конкретными ссылками на файл с, то есть делает работу агент, поясняет агенту за места, нужные для работы, показывает агенту самую основную информацию, необходимую для работы над этим.
55: Проектом? Ну да, ну совсем же не новый, но он скорее контекст собирает, а Спека, она скорее для человека понять задачу. То есть он тебе не что такое Спека из стандартного
56: Процесс разработки, то понятно. Ну, в агентах, в агентах это выглядит так, будто бы ничего нового. Просто дополнительный контекст по проекту автоматически обновляемый. Вот. Я вот этой разницы не, я просто пытаюсь понять это.
57: Какое-то новое направление, типа, я не знаю, новый способ разработки век, я, который с нами будет ещё жить 10 лет. Или это просто новое название для обычного человеческого промсигнал нормально, руками контекст под
58: Подсовываешь и нормально тебе агенты пишут задачу. Ну тут тяже, тут, тут, тут, тут закончит, потом тебе, да, тут просто проблема в том, что
59: Тебя, у тебя когда сложная задача, сложная, да, то есть ту, которую ты как программист бы делал, там неделю, 2 написал бы, там, не знаю, пару тысяч строк в сложном проекте. Угу. Ну, в сложном среднем уте.
60: У тебя проблема, что эти, эта фича не решается вайб кодингом? То есть ты не можешь за вайб кодинг сессию вообще её решить. То есть она, подожди, что ты, что ты имеешь ввиду под словом вайб кодинг сессия. Вот.
61: 12 часов я потратил на написание промпта, который мне с 1 запуска сделал среднее сложную фичу. Это ещё веб кодинг или это уже, ну, это скорее Спека. Вот то, что ты написал, какой-то промпт, по которому
62: У тебя сгенерился код, это я бы назвал суть вот этого спёк дривен девелопмента, потому что в конце ты получаешь здоровенный артефакт на 1000 1000.
63: 502000 строк. Вот. Ну, которые не соглашусь. Деннис, буквально только что с 1 промта, с 3 строк, вот полчаса назад я на ваших глазах получил 500 строк. Это, это уже, это, не подожди, мы тут про разные вещи.
64: Говорим я говорю что спёк дривен вот этот flow он тебе позволяет в конце получить артефакт артефакт это markdown файл с промтом который потом ты отдаёшь плот.
65: Понятно. Внутри этого промта написано, какие Сабагинова делать, какие таски, в каком? Ну так и для этого уже название есть. Года 2, как это называется? Мета промти, когда ты просишь модель на
66: Контекста, сделать тебе промт, который лучше подойдёт под задачу. Вот это и есть метапрот, да, то есть мне кажется, что, но он положен в методологию. Ага, окей. Определённую, что у тебя есть любая задача.
67: Ты любую задачу укладываешь в 4 этапа, там ресерч, имплементейшен дизайн, не, не, там ресерч, Спека имплементейшен и таски, и ты можешь, ну,
68: Небольшой, среднего уровня. Задачу. Угу. Решить при этом, если понимать. Ну, если тебе задача самому понятна, то этот flow супер быстрый.
69: И в конце ты получаешь тот результат, который описан, на который рассчитывал, типа контролируем результат. Да, и вот это главная ценность. Давай наши другие другие методы.
70: Не давали мне вот этого предсказуемого результата. Угу. Спасибо. Давай ещё Виталию дадим слово. Виталик. Виталик, привет. Ты как раз задавал вопрос мне в личку про испёк флоу и про бимет.
71: Можешь рассказать проспект не проспект сори, дак это github как бы и разрабатывает. Ну, тут я бы, наверное, сказал, так что спёк девелопмент это 1 из под
72: Ботов контекст инжениринга, а контекст, инжениринг как бы это, скажем так, практика того, что управлять и ограничивать контекст для, для того, чтобы полу
73: Более предсказуемые и адекватные респонс. Вот, а ну и соответственно, контекст, инженеринг это от множества промт инженеринга, то есть все это промт.
74: Инжениринг, но это как как бы отдельное выбранное направление, отдельные практики. Но ведь промт инженерия тоже включает в себя ужимание. Инженерия это очень большой, это очень большая область. То есть это generic такой
75: Ну то есть это примерно как лмки, это часть ii ii является там частью, ну более это как посмотреть, карпатый вообще отказался от тест фронт инженерии, сказал, что все это контекстная инженерия тут.
76: Потому что нам нужно управлять контекстом. У нас неограниченные как бы, окно, даже сами люди, ну, просто посмотреть на то, как инженеры работают, да, мы раз
77: Глобальную задачу приложения на маленькие подзадачи и фокусируемся на небольшом объёме. Ну то есть на небольшой задаче мы не можем сразу одновременно держать в голове
78: Все приложение и все. Всегда его программировать слушай, так с этой точки зрения у тебя случайно не будет? Наоборот у тебя prompt инженерия это подвид контекст инженерии, контекст инженерия включает в себя, в том числе инженерию промта и выстраивание.
79: Контекст вокруг проекта, в том числе и для оператора, который пишет эти промты, и для агентов, которые их используют, нет, нет, смотри, пром, инжиниринг достаточно широкая как бы эрия, потому что она содержит как и oneshot, так и
80: Итеративные подходы, контекст, инженерия, она больше ориентирована на интерактивный подход. То есть мы за 1 итерацию создаём некий артефакт для того, чтобы сделать следующую
81: То есть мы не даём глобально лмке задачу. Разработай мне эту фичу, да, и давай её мы обсудим и сразу разработаем. Мы сначала обсуждаем, что это за фича. Окей, потом
82: Парадигме, как мы это будем контекстно инженерии, сингл Промтов быть в принципе не может, которая не интерактивная сингл промты. Ну тут такой подход, что мы, как бы постепенно общаясь с моделькой, создаём арти,
83: Промежуточные артефакты, на основании которых мы создаём потом код
84: Тоже самое, как и как до этого мы это делали командой людей, да, то есть там бизнес аналитики подготавливали спецификацию на основании спецификации, там архитектор
85: Тех лиц подготавливал солюшен, из этого солюшена, потом команда планировала, разбивала на таски, разработчики делали, тестировщики тестировали.
86: Хорошо, допустим, с теорией, с теорией более менее уложились. Я тут закину сразу вопросик. Если у кого-то есть по нему добавить, то залетайте. Вопрос в том, насколько это, насколько такой жирный по токенам подход.
87: Вот эксепте забываю слова. Короче, насколько он, он не жирный, он наоборот, гораздо более экономный. Почему? Потому что для у тебя же, у тебя запускается
88: Куча всего, чтобы сделать более менее среднюю величину задачу. Лёша, а скажи, пожалуйста, а сколько ты попыток сделаешь для того, чтобы сделать 1 промт, который тебе сделает за 1 раз? Ну, 1, 1.
89: 1, да, чтобы вот вичу как бы, в нормальном, как бы, ну, серьёзном проекте, да, не, мы тут просто забываем про то, что мы вообще то не вайб кодеры, мы делаем 1 промт, а потом исправляем заём, не отломается ничего.
90: От меня я сделал провод, я до исправил. Ну, смотри, зависит от того, какого объёма фичу ты делаешь. Если там поправить, скажем, название кнопочки там или цвет на кнопке, то
91: Ну, тебе действительно спецификацию не нужно писать. Не, ну, не про цвет на кнопке речь, конечно, написать какую-нибудь фичу на 30 файлов, которые ты будешь писать там полтора дня тебе это все сделает. И ты хочешь сказать, что ты можешь написать пром.
92: Который за раз тебе выполнит. И потом ты ещё будешь сколько дней это разгребать? Нет, я буду 2 часа это разгребать. Вот буквально. Вот смотри, вот у меня на генери сейчас в курсоре тут файлов 15. Мне, чтобы их проверить, час уйдёт. Руками бы я их писал. Ну, часов 7 пром там был.
93: Буквально 3. Если у тебя с 1 раза все получилось, 100% не получилось, там 100% будут баги, но я свой код знаю, что ты будешь делать. Вычитаю. А что ты будешь делать с этими багами? Вычитаю, исправлю.
94: Может быть, руками, может быть, дополнительными промтами. Да, конечно. Ну, не знаю, как бы, у меня, ну, как бы, даже в прошлом, как бы, даже простые какие-то баги, но они ре,
95: Время на то, чтобы их пофиксить, их отдебажить ещё нужно потом посмотреть, как бы, а как это исправить. То есть, ну, если, конечно, простая логика, то да, легко. А если логика не простая, если ты делаешь какой-нибудь там комба,
96: Который у тебя данные в процессе. Ну и где логика? Ну то есть там у тебя уравнения какие-то? Ну, ну какие пару часов?
97: Давай послушаем ещё мнение ребят. Вот с руками у нас поднятыми. Давай сначала деннис, потом. Валера, ну, короче, ты тут, Алексей, ну, проблему не видишь, поэтому тяжело рассказывать тему обсуж.
98: Ждать, но это обычная штука, когда спект дривен этот обсуждаешь. Короче, я писал, вот как ты рассказываешь, то есть делал какой-то промт, мне код меняла, и, в принципе, этот подход рабо.
99: На маленьких задачах, которые понятные. И ты знаешь, где надо пофиксить. То есть ты вместо того, чтобы идти там в идешке код самому пофиксить, просишь этот код сделать очень конкретно, подробно.
100: В определённых местах идешку. Как только появляется какая-то неопределённость, идешка, она делает куча, куча, куча кода, который не нужен. Ну, у меня была такая проблема.
101: Встречный сразу вопрос просто, может, сразу ответишь, чтобы было более понятно, а откуда у тебя неопределённость в проекте, которым ты владеешь, который ты дорабатываешь? Ты не знаешь свой проект?
102: Ну, там, получается, что у меня, условно говоря, там стоит задача, вот у меня там 5 проектов на работе, да, есть там проекты, которые я там, я писал, есть проекты, которые я не писал.
103: Супер ужасно написанное и например там есть задача там что-то проэкспериментировать то есть у меня был какой-то flow, я его сам написал, а потом мне нужно написать валидацию. Валидация состоит из 1.
104: Этапов. И мне нужно этих 11 этапов заскриптовать. И, условно говоря, ты простым промтом говоришь, вот у меня 11 этапов лежат логика там и там-то сделай мне
105: Ну и как бы agent пошёл делать, делать тебе какую-то хероту, просто он генерит невообразимое количество как бы, кода ненужного. То есть ты потом пытаешься руками это править.
106: Но вот этот процесс исправления, он очень времязатратный. Ну то есть это от задачи зависит, сколько он там перестарался. То есть, если у тебя большая задача и она новая.
107: Относительно то, для того, чтобы сгенерился нормальный код, а не код, который тебе придётся перелопачивать долго, долго, долго тебе нужно подать хороший контекст на вход. Про это речь. Ну, у меня есть ещё команда сра.
108: Разных людей. То есть там у менеджера есть свой набор требований, там у 1 коллеги свой набор требований, там ещё у кого-нибудь будет ещё свой набор требований. И когда ты генеришь какими-то простыми про
109: Там оно тебе делает тот код, который в их код не попадает. То есть я знаю, какой должен быть код для того, чтобы прошло код ревью, но чтобы этого кода добиться от ellie, мне
110: Нужно тратить очень много времени и токенов для того, чтобы достигнуть этой цели, а в spec, ривине у меня вот эта стадия прототипирования, которая раньше была в коде и генерировалась там.
111: Не знаю, тысячами этот код, он у меня сжимается в ресерч Эмди файла, потом в спеке я немножко обсуждаю с эллой, какой код дополнитель.
112: Ей надо писать, потому что она там прописывает те эйч кейсы, которые она собирается обрабатывать. То есть она там собирается какие-то ошибки ловить и в кондишены вставляет, там какие-то кейсы, там себе навыдумывает, я ей говорю.
113: Вообще ничего не выдумывай. Ну не то что вообще не выдумывай. Типа вот этих 2 кейса тебе нужно обработать. Все остальные. Попробуй где-нибудь с рута достать. При потом, потом получается, у меня есть там коллеги, кото
114: Которая требует определённой какой-то архитектурной структуры. Я могу на стадии вот этого вот. Implementation details этот вопрос проконтролировать но артефакты, которые я
115: Создаю. То есть ты делаешь ресерч по кодовой базе, то есть он тебе туда напихал нужного контекста. Ты потом сделал спеку, где он тебе позадавал вопросы. Что ты конкретно хочешь на уровне функциона?
116: Требований, то есть это супер короткие какие-то вещи, и это вообще мало токенов требует следующая стадия. Это уже конкретная реализация, где ты можешь и код пописать. Не, ну прост это работает. Понятно, мы это уж
117: Не раз обсуждали и пробовали. Так что да, да, но смысл в том, что расход токенов супер маленький. То есть коллеги, которые у меня рядом сидят, пробуют клод кодом пользоваться, у них они
118: Code, то есть они просто пишут промты, потом ревьювят этот код, потом им что-то не нравится, но у них этап там типа не то что им не нравится, а в том, что скорее ты это отправляя
119: На ревью и там по 10000 строк изменения и, ну, типа проекты на выброс можно и принять, да, по сути, в существующие проекты такое.
120: Уже не засунешь. То есть там поэтому и много времени тратится. И люди не используют этот иай так сильно, как они бы могли на больших проектах у тебя просто
121: Агент может там часами работать, ну там рядом сидит, там у меня коллега, он работает над большим си плюс плюс проектом, который это просто там какие-то миллионы строк. Окей, давай, давай подытоживаем, потому что там ещё
122: Да, да, подытоживая, что у тебя очень мало токенов, тратится, задачи у тебя не очень определённые. Даже если ты знаешь код, тебе нужно
123: Указать, как реализовать, что именно реализовать, какие кейсы обработать, какие нет. Ты можешь сильно упростить решение на этих стадиях. И то есть это как мента.
124: Модель для человека, которая ещё и для элмо очень сильно повышает качество результата, уменьшает расход токенов, как бы, что ещё там будет? Ну, точность
125: Результат, ну, скорость ещё тоже, потому что по вот этому финальному артефакту Тасков очень быстро генерировать код. То есть это прям, да, там, я не знаю, полчаса, час, и у тебя целый проект.
126: Спасибо, Валер. Ух, я дождался. Ну, в общем, я уже не раз говорил, что это такие так себе костры, но, по сути, вот описано сейчас денисом и другими ребятами. И то,
127: Что я хочу сказать далее? Это все просто разные подходы вот к этому контексту, инженирингу. И что я хочу сказать, я уже писал об этом в чате на днях, не помню, в каком агентском, кажется, но я
128: Предлагаю вам, ребятам, кто практикует вот этот kid и другие контекст инжениринга. Попробуйте подойти к этому, как к этому подхожу я, я вот буквально сегодня
129: Написал статью по этому поводу и скинь ссылочку. Там есть во внешнем контенте ссылочка на там, в статье. Угу. И там есть 2 главных пункта, которые я пропагандирую всем, и я
130: Сейчас объясню поподробнее. 1 пункт это сет баундери, укажите ограничения и 2 пункт это создайте контекст. Ну, короче, 1 раскрываю правила. Все, что ты, Денис, рассказал про Услу.
131: Про какие-то ограничения от команд, архитектуру и так далее. Все это можно прописать в правила и любой запрос в агент будет знать этот контекст. Ты когда говоришь правила, ты имеешь ввиду рулы, например, в курсоре, или это просто, да, да, любой из механизмов.
132: Там хоть систем пром. Неважно. Суть в том, чтобы задать именно бокс, в котором работает модель, не чтобы она не писала вот этот вот шумный код, про который ты рассказываешь, что она по всему проекту начинает что-то рисовать, ограничь её максимально задай ей.
133: Рамки, как она должна писать, где и что? И 2 момент, когда я ей задаю задание. Ну, я со своего опыта рассказываю, я ей его даю, если на абстрактном примере, таким образом, как будто я передаю задачу.
134: Юниору, который остался вместо меня, когда я в отпуск ухожу, я передаю весь контекст задачи вообще. То есть вот для этого я использую голосовой ввод, фриформ, текст, абсолютно все, что я знаю про задачу, все какие-то констрейнты, какие-то экейси, все описываешь и все.
135: 1 промт задача готова к выкатке на пром на prod как правило это так происходит вот эти 2 пункта очень важны и прям не знаю могут заменить даже ваш подход пробуйте просто именно так.
136: Делать. Так, давайте виталик, потом Алексей, да. Ну, Валера на самом деле прав. С другой стороны. Ну, то есть как раз-таки
137: Spec кит и подобные как бы они как раз-таки и нацелены на то, чтобы формировать вот эти правила, вот эти баундери, то есть с помощью Пронтов, с помощью
138: Действия с лмкой мы эти баундери и подготавливаем, то есть не вручную, сами там пишем, как бы и формулируем, как по правилам протинка, да а?
139: Нам другие промты помогают это сделать. То есть, в принципе, ну, здесь нету противоречия и нету как бы, скажем так.
140: Противопоставление. Просто это удобный способ создания вот этих правил, этих баундери. Угу. Вот. А ещё я хотел сказать, как бы вот есть другой ещё подход.
141: Тому, что вот делать спело или спеки, это бимет метод, у них подход немножко другой. У них не через то, что спецификации, ну ни команда.
142: Да, да, у них, ну то есть, если спеки это последовательность активности, то есть у нас есть пронты, которые описывают активность для того, чтобы сформировать спецификацию или вот эти правила баундери.
143: В бимет, там фронты, ну то есть там агенты, которые играют конкретные Роли, то есть там вот этот фреймворк фронтов, он построен немножко по другому принципу и если
144: Больше подходит для фулстек девелоперов, которые от проработки требований, от постановки задачи и до деливери как бы разрабатывают, то бимет.
145: Он больше подходит, как мне кажется, у меня пока нету как бы конкретного примера, да, но мне кажется, то есть с отдельной ролью может работать как бы отдельный специалист в этой
146: И, соответственно, уже как бы там командную работу можно организовать с помощью вот этой команды. Агент, кажется, будто бы бимет для более сложных и громоздких задач хорошо использовать. Нет, трудно сказать, там, ну, есть
147: Своя специфика, да, то есть ты как будто общаешься с конкретным, ну, то есть, либо ты играешь роль менеджера, да, который взаимодействует с каждым членом команды, да, и проговаривает ему, что, ну,
148: Нужно сделать. Либо каждый отдельный специалист разговаривает со своим напарником и который помогает ему подготавливать артефакты для следующего этапа. Угу.
149: Да, спасибо. Ну, как-то так, Алексей.
150: Так, ну я, наверное, не буду там сильно что-то противопоставлять, скорее альтернативные варианты расскажу. То есть в моём примере, это какой-то greenfield, проект, в котором я все ещё полностью владею кодовой базой.
151: У меня подход такой, что я строю кодовую базу таким образом, чтобы у лмки всегда была хороший пример, на который опереться. Вот у меня практически нет никаких заготовленных Промтов, я
152: Зачастую смотрю, понимаю, что можно реструктуризировать, чтобы какую-то новую фичу добавить, нужен Лёгкий рефакторинг, я такой делаю сначала машинерию какую-то умную руками, потом натравливаю.
153: Говорю, сделай мне вот такой g2 рядышком, 2 папочку. С таким же подходом смотрю, что он накодил, опять же, выделяю какую-то общую, может быть, части, которые могут отмасштабироваться. Говорю, все дальше. Во.
154: Следуй вот Такому паттерну. Ну, это хорошо работает, когда ты владеешь кодом и когда у тебя есть примеры, которые можно показать, чтобы он сделал по образу и подобию. Да, это хорошо работает у нас в этом подходе, наоборот, готовить какие
155: Заранее промты, спеки, потому что очень часто меняется структура, выйдет, наоборот, дольше. Ну, есть ещё 3 подход, тут справедливости ради упомяну про него, про него. Кстати, валик рассказывал валик ещё с нами.
156: Наверное, уже ушёл в воркшопе, он показывал, когда он 5 или 6 часов делал сингл промт для того, чтобы запилить целый сервис по работе с стором. И пловский это подход микроменеджмента, когда ты практически
157: Полностью без реализации кодовой описываешь от и до, как должен должна быть заимплементирован задача и тебе просто я спокойно пишет. Поэтому код, ну это когда ты хорошо очень знаешь то, что тебе нужно. Хорошо знаешь кодовую базу свою.
158: И не хочешь писать код руками? Ну, есть и такой вариант, Денис.
159: Ну, у меня, в принципе, подход, похожий вот с предыдущим оратором, что у меня уже есть кодовая база, уже есть паттерны, просто их, их много.
160: То есть их в клод Эмди, там в агентс просто не вложишь, это слишком многословно, и получается, что метод довольно гибкий и позволяет
161: Тоже референсить эти примеры ллма извлекает эти паттерны и складывает там себе в ресерч или implementation план но я согласен с валерием что это?
162: Можно делать проще. То есть я читанул, что он там как бы описал с баундери, с контекстом. В принципе, я с этим методом так и работаю. То есть у меня есть какой-то фриформ, промпт, в который я
163: Все накидываю и потом я просто флоу прогоняю наверное вот эта тема, что мне нужен этот flow может быть мне как человеку нужен этот flow чтобы понять что я сам хочу сделать, чтобы уметь.
164: Scope на ревью, как бы потом, потому что я буду знать, что от меня будут требовать люди другие, и чтобы это как бы подогнать и проконтролировать. Но положи.
165: Это в какие-то внешние места 1 раз у меня не получилось. Вот. То есть это либо слишком много надо писать, то есть полпроекта нужно там за как бы сделать, потому что у нас
166: Есть фичи, но они тоже там разной степени зрелости. Вот, то есть есть какие-то паттерны, но их много, потому что задачи разные, то есть они не то
167: Что ты просто по подобию добавляешь фичи. Я, я ещё хотел тут обратить внимание. Спасибо всем высказавшимся. Хотел ещё обратить внимание. У нас есть же ребята, которые занимаются веб кодингом, которые являются там
168: Инженерами либо не инженерами, но с кодом не сталкиваются нет у вас ощущения в принципе у всех у вас что и c dd и вообще весь промт инжениринг двигается в сторону, что мы отходим от написания кода руками, все эти методы нужны, чтобы мы перешли.
169: От написания кода к объяснению задачи с этой точки зрения, тогда и для вайб кодеров, и для инженеров без образования программирования как бы разработка софта становится более открытая, возможно, будет в принципе, и 1 из 1 из направлений их работы в будущем.
170: Да, этот момент настанет, тогда мы станем не нужны. Бойся его. Ну, по факту, когда ты описываешь всю структуру через архитектуры, спеки, че там? Ну все, все, все, ты описываешь.
171: Словами, ты ж там код не пишешь, ты только архитектурное видение описываешь, и ты зачастую на более менее несложных задачах. Ты даже код можешь не ревьювать, он либо написан хорошо, либо несколько операций, он написан хорошо, не хорошо работающее очень
172: Важно иметь короткие итерации, фидбэк клуб у тебя должен быть понятный. Через, когда ты заходишь через архитектуру и так далее. Ты превращаешь кодирование в интерпол.
173: Ну, интересно, интересно, насколько долго нам ещё нужно будет уметь вычитывать код, уже даже не писать, а вычитывать. Можно, я добавлю по поводу того, что Валера сказал, мы будем ненужными. Мне кажется, это
174: Точно не так. И мне кажется, во первых, рынок становится шире. Во вторых, da меньше кодить, больше инженирии и делать. То есть вот сейчас, как бы раньше я смотрел на
175: Обливался слюной такой, хотел заняться, но приходилось другими делами заниматься, чтобы денежку зарабатывать. И все, не было времени этим заняться. Да, я такой начал этим заниматься, но сейчас я понимаю, что, ну, я не могу фуллтайм это делать, у меня есть
176: Другие обязанности там в компании. И сейчас вот я пока эту тему изучаю, я все жду, когда на hh люди заполнят вакансии, я Вайдер могу за день Сац проекты выкатывать и я такого с удовольствием
177: Штат. И более того, я уже 1 человека отсобеседовал с club и, ну как бы мы сейчас переговоры ведём, поэтому и ну то есть ещё раз мысль такая, что это добралось до меня как представителя малого бизнеса.
178: И, а таких как бы много, и вакансий только станет больше и заниматься. Мож, ну да, там не интерпрайз, проекты придётся писать, но какую-нибудь ерп систему локальную для
179: Проекта. Ну почему нет? Вот сейчас это возможно, мне ещё нравится, что смотри, ты же себе по факту можешь спёк флоу этот сам настроить. Это не какая-то супер техничная штука, то там буквально из техничного зайти на гитхаб и почитать глазами, как это реализовать там в курсоре или в чем ты работал.
180: Не помню, ты говорил сегодня, и ты это реализовываешь. У тебя уже задачи на более высоком уровне и более качественно выполняются как раз то, про что ты в начале спрашивал, можно ли команды агентов самому настроить как-то без инженерии. Ну вот, бимет можно попробовать настроить по
181: Кто? Ну, это ты имеешь ввиду к тому, что не нужен все-таки разработчик? А типа, самому все. О, да, да, да, да. Не, ну все равно это и сопровождать надо, и потестить все надо. Это сколько времени уходит на все это?
182: Мне проще делегировать и заплатить за это деньги, чем я свой фокус направлю на все это, и тем самым будет в другом месте. Угу. Да, я сейчас могу, я уже делаю какие-то проекты. Вот условно я сделал платёж.
183: Календарь с еркой нашей совместил, сделал выгрузки. Все, я теперь могу финансы считать из под капота. В моём складе такой штуки нету, но просто нет человека пока надо искать.
184: Надо нанимать, это ещё не так популярно. У многих спрашиваешь, никто вообще не знает, что такое курсор, что такое код, код. Вот. Но, а как бы стандартного специалиста нанять с рынка. Это дорого, как мне кажется. То есть
185: Охота, вот такой баланс там у нас в чате, либо уже это предлагает кодерские услуги на ипишку. Обрати внимание, ада. Олег, я это сейчас все просчитаю. Я этот, я не ещё, я не умею.
186: Одновременно 3 чата читать пока, но я это в себе развиваю. Я чувствую вот эти вот новости ежедневные, они туда введут. Да? Хорошо. Так, Денис, давай ещё.
187: Тебе дадим слово по этой теме и будем двигать дальше. Да, повторюсь, я не пишу код теперь там, потому что, ну, я пишу вот эти промты и вычитываю. Ну, ты его читаешь, читаешь.
188: Как бы писать. Ладно, ты его все равно вычитываешь. Ты понимаешь? Я, я много читаю, да, я как бы, у меня скилл со школы, скорочтения, курсы проходил. Очень пригодились сейчас.
189: Хотел сказать, что не вайб, ну не кодеры тоже делают довольно много эффекты, которые я наблюдаю. Это то, что люди, которые знают, что надо сделать, теперь могут сделать это за вечер, став инжене.
190: Principal инженеры фигачат очень полезные Тулы, которые потом команды делают раньше для них бы нанимали джуниоров мидл, разработчиков, сейчас фактически вайб кодингом.
191: Они это закрывают. Вот менеджер у меня тоже в перерывах вайб кодит. То есть если он видит понятную задачу, и там надо джейсоны подвигать, посравнивать.
192: Сделать. То есть у него это получается прям хорошо. То есть он как desiigner такой, с бизнес фокусом очень хорошо понимает, как там другие дизайнеры работают.
193: И так далее. Может сделать хороший, понятный инструмент без вот этой всей коммуникации, что ему нужно требования писать, что ему нужно с кем-то проитерироваться. То есть он сидит сам просто с курсором.
194: Вайб кодит и плюс закрывает задачи, которые раньше он бы делегировал, пока бы у нас внутри команды освободилось место для низкоприоритетных задач. Сейчас
195: Он может это делать сам, то есть там секьюрити, фиксы какие-то накатить, какие-то мелкие баги фиксить то есть pizza это хорошо, если менеджер у тебя из технического, из технической ветки, он дизайнер, ну
196: Техническая ветка, в смысле, это не человек, который не вырос из бизнес аналитиков, например, либо из тех райтеров.
197: Нет, он делал в фотошопе. А, окей, ладно, беру слово назад хорошо, но он технически. То есть джейсоны, он умеет делать и править. Редактировать. Понятно?
198: И селай запускать в терминале, но как бы, то есть спецификация это ему в фотошопе рисовать карты. Спасибо, Виталий.
199: Да, Лёш, я хотел добавить, что, ну, скажем, скорее всего, для неё понадобятся инженеры для простых каких-то приложений, типа календариков или там
200: Сборщиков какой-нибудь статистики или ещё че-нибудь, или, ну скажем, какие-то повседневные там таск, трекеры или ещё что-нибудь достаточно простое, но все равно остаётся место для
201: Больших систем, сложных систем, которые должны учитывать множество нюансов и такие системы. Ну, невозможно на вайб кодить, для них нужно
202: Спецификацию, документацию как бы ввести. И, ну, в любом случае инженеры нужны будут, такие системы не строятся как бы за 1 вечер или и в них
203: Вкладывается много человека, часов и плюс.
204: Как я уже написал в чатике. Ну и не, и нафиг ничего не нужно, как бы у неё нету шила в заднице для того, чтобы что-то делать, это пока что-то придумывать. Да не
205: Лёш, если как бы ей что-то, ну, для этого иишки нужно разработать. Не, ну, на сегодняшний день, да, это мозжечок, да, то есть.
206: Должна быть система разгона и система торможения, и и эта система должна совершать ошибки.
207: Люди у людей шило в заднице, потому что мы способны совершать ошибки. Мы же от иишки не хотим, чтобы она совершала ошибки. Мы хотим, чтобы она работала. Предсказуемо изобретать что-то новое и де.
208: Что-то по другому. Для этого нужно совершать ошибки. Ну ты немножко подменил сейчас понятие, как мне кажется, мы как разработчики, да, мы хотим предиктивности, ответов и того, чтобы нам лмка дела.
209: То, что мы говорим, но разработчики лмок хотят, чтобы они просто решали более сложные задачи. У них нет цели делать так, чтобы лмки отвечали, да, они хотят, чтобы делать сложные задачи, но их пользователи, ну то есть те,
210: Кому они продают свои системы? Они хотят, чтобы эти системы стопроцентно гарантированный результат давали. Ну, я, который всегда хороший, они не будут приемлить того, чтобы он плохой результат генерировал. А человечество
211: Продвинулась в своём развитии именно благодаря что, ну, то есть мы совершили 1000000 удачных опытов, потому что мы 10000000 неудачных опытов, да, все правильно, миллиард в процесс.
212: Обучение триллион раз неудачно сделало опыты. Я к тому, что интерпретируемость вообще не главная вещь. Главная вещь давать новые знания и качественные решения, и в этой системе у этих штук вполне себе может
213: Возникнуть все что угодно. Мы не знаем, как работают модели сегодня над интерпретируемостью. Докторские работы пишут, ну, не докторские, там научные работы нет, так тут дело не в интерпретации, а в том качество результата. Да нет.
214: Свободе, ну в свободе выбора, да, то есть человек хочет чего-то, потому что он как бы свободен выбирать, он свободен, как бы делать то, что он
215: Невозможно дать человеку задачу, да? Ну то есть, как бы сказать, вот мне нужно это, он, у него уже рамка появляется точно так же, как у иишки, да, тоже рамка.
216: Появляется и тогда уже как бы тот, который поставил задачу, он ожидает, ну, результат в этой рамке, да, понятно, не буду дальше входить, а то мы сейчас вообще философию как бы, ну,
217: Можно, конечно, модельки когда-то захотят что-то сделать. Не, не, ты. Сейчас они реагируют, да, пока что мы операторы, мы, мы являемся этим триггером, которые модели, да, они реагируют на наши. Есть вопрос к
218: По поводу его метода есть ли у него какие-то темплейты или там тупо темплейт, выдумываешь каждый раз на задачу баундери и потом.
219: Каждый раз накидываешь рандомный контекст или надиктовываешь его.
220: А в том-то и дело, что я каждый раз андерс не выдумываю. Вот эти вот правила, они проектные, то есть они общее проектные, сколько бы их там не было, это все равно будет меньше, чем исходный там вот этот супер пром агента, поэтому я максимально конкретно
221: На описываю правила, как писать код, что писать, какие есть структурные и архитектурные такие важные вещи, которые условно, если бы пришёл новый человек на проект, и мне нужно было бы его полностью загрузить, чтобы он знал, как писать этот проект.
222: Вот это я описываю в рулах, блин, не отпускает вас к каждой задаче отношусь, как я уже рассказывал, как к отдельному, Такому полному ворате, который я передаю тоже кому-то. И вот он, оперируя вот этими 2 сущностями практически каждый раз, если
223: И сама модель где-то не запуталась и не накосячила, не выполняет результат ваншот.
224: У меня к вам тогда ещё вопрос. Там Денис в чате много про это писал. Давайте поднимем голосом, в конце пообсуждаем ещё немножко. Не кажется, что спёк флоу генерит много ситуативных файлов, которые только под конкретную большую фичу подходят.
225: И значит спеки надо хранить не в коде, как это сейчас делается в md файлах, а, например, где-нибудь в жире, там, где хранятся бизнес требования каким-нибудь эмсипи их подтягивать при желании, плюс к тому же в жире сильно проще будет работать с этими спеками не техническому персоналу, который 2.
226: Вообще знать не знает, не лазит.
227: Ну, я для себя вообще их не храню в коде, потому что это слишком большие артефакты. То есть там ресерчи какие-нибудь. И вот эти вот tasks, Эмди их.
228: Очень тяжело читать, так как ты их подкладываешь в контекст, если не в коде хранишь, а его не, у меня есть отдельная папка, отдельный репозиторий, где я храню эти спеки и туда их коммичу.
229: То есть я их не с кодом храню, с кодом, у меня типа pr, по правилам команды оформленный в коде, должно быть понятно, че он там делает разложен как.
230: Комментарии, если что-то непонятное, спорное, а сама Спека, она, ну, типа, команде не интересна. То есть они не хотят читать именно
231: Промежуточные артефакты. Ну и непонятно, как их использовать на данный момент. Вот это в других командах. Я читал эти артефакты, они бессмысленные. То есть, если там особенно темплейты, не
232: Human ориентед, там просто бесконечно мусора насыпано, который написано в гайдах. Нужно эллэе, чтобы она успешно выполняла задачи. Ну, я
233: Со своих Промтов это вычищаю, но типа
234: Никто их читать и не собирается. Просто есть же этот желание в некоторых компаниях, у некоторых команд разработчиков сделать типа общую инфраструктуру Эмди файлов и сделать якобы общий такой спект дривен подход, который будет подходить, и фронтенд
235: И девелоперу, и тестеру. Вот 1 репозиторий, из которого ты берёшь нужный тебе файлик с контекстом. Я слабо верю в такой подход. Меня принципиально я не пытаюсь шарить никакие мои рулы или ещё что-либо, потому
236: Что они реально устаревают, меняются от модели к модели. Надо адаптировать у каждого разработчика свой подход, как работать с моделями. Разные стулы все используют. Просто это будет такая мусорка хуже.
237: Устаревшая документации, короче, гит игнор, либо отдельный репозиторий. Вот у меня, да, идея, все. Хочу тоже себе накодить такую штуку, которая будет в отдельном репозитории коммитить по, то есть
238: Например, papka под репозиторий, рабочий проект, и вот эти файлы чтобы коммитились не в основной проект, а вот сторонний где-то, который лежит чисто у меня чисто под меня ясненько, хорошо.
239: Тогда, если ни у кого больше топиков нет, стабильно 2 с половиной часа, всем большое спасибо за то, что дошли сегодня. Спасибо отдельное всем, кто участвовал в дебатах и текстовые голосом. Сегодня прям продуктивно было, мне кажется, и до встречи через 2 недельки, я думаю, там уже
240: Ладно, не думаю, все нормально там будет через 2 недели встретимся. Давайте, пока, пока. Всем. Пока, пока, пока. Всем. Спасибо. Пока.