ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:08:05
Проблемы Spec-дривен девелопмента:
  • Контекстное окно LLM ограничено числом токенов
  • LLM склонны 'забывать' важную информацию при большом объеме контекста
  • Необходимость управления контекстом в процессе разработки
  • Использование нескольких сессий для сложных задач
01:06:32
Спецификация в SD&D:
  • Интент: четкое изложение цели сессии
  • Продуктовые требования: описание функциональных возможностей
  • Ограничения: указание того, что не требуется делать
  • Примеры vs абстрактные правила: баланс между наглядностью и обобщением
01:12:06
Разработка спецификаций различных уровней:
  • Сессии разработки требуют коротких и точных спецификаций
  • Эпики и проекты требуют верхних уровней детализации и общего направления
  • Высокоуровневые спецификации содержат ключевые идеи и руководящие указания
01:55:21
Экономия ресурсов в SD&D:
  • Оптимизация использования дорогостоящих моделей и токенов
  • Выбор оптимальной модели и усилия для задачи
  • Балансировка стоимости и эффективности
02:11:12
Применение SD&D в командной среде:
  • Эффективность SD&D в небольших командах
  • Распределение задач в команде на основе спецификаций
  • Синхронизация работы разных специалистов и групп
02:24:32
Причины медленного распространения SD&D:
  • Высокие затраты на токены
  • Нежелание разработчиков делегировать задачи агентам
  • Отсутствие уверенности в способности агентов решать сложные задачи
  • Барьер восприятия SD&D как подходящих инструментов
02:29:20
Преимущества SD&D:
  • Структурирование процесса разработки
  • Повышение эффективности за счет делегирования
  • Активизация мышления и принятие решений
0: Выпуск как раз-таки проспект дривен девелопмент. Трудно угадать. Это на самом деле новая технология или просто как бы новая блестящая игрушка, которая через полгода умрёт. Зачем мне модель? Я пойду просто эти 300 строк кода просто руками напишу. Я красавчик. Кто люди, как не кожаная?
1: Для моделей ллм, пишет код, это крайне нежелательная вещь проблема в том, что alma на самом деле плохо понимают, что такое важно, а что в спеках стоит писать, а что не стоит продуктовые требования, пожалуйста, есть 1 маленькая проблема, что не все требования можно.
2: В таком виде мне стало стыдно за мои пулреквесты в 1 сессию, в 3000 строк. Плохо быть бедным и плохо, в общем, платить за токены. Если у тебя есть идеальный агент, то вот это идеальный скрин девелопмент. Короче, все в этом, все в этом мире спеки всем.
3: Привет, с вами подкаст подлодка и его ведущая. Егор толстой. Это я и Станислав Цыганов. Привет, привет, друзья. Мы ещё не знаем, сколько продлится этот выпуск, но если вы уже знаете нас давно. Да, вы понимает.
4: Что вот эта комбинация из егора и Стаса обычно означает, что выпуск будет идти, ну, где-то там 3 с половиной часа или что-то вроде этого. И люди смотрят такие на жалкие, там час 0 6 и тааакие. Чего это все? Да, Стас? И знаешь, что ещё длинно?
5: Помимо выпусков подлодки давай спецификации в spec дривен девелопмент, очень длинные люди жалуются на это, будем сегодня разбираться, должны они быть длинными или нет, потому что выпуск как раз-таки про
6: Driven development. Подожди, мы не про ссд сегодня пишем. Это, это, это 1 и тоже. Не обращай внимания. Окей. Ладно? Поэтому, поэтому, поэтому пора представить нашего сегодняшнего гостя. Мы позвали в гости алексея верховского автора.
7: 1 из самых популярных сдд фреймворков или тулкитов. Разберёмся, как правильно говорить под названием бимет. Метод. Собственно, Алексей 1 из его, да, соавтора. Алексей 1 из его основных монтенеро. При этом
8: Он занимался спёк дримон девелопментом ещё до того, как вообще это название появилось. Ну это тоже неправда. Сейчас разберёмся. Так, короче, я про все соврал, поэтому давай так, расскажи про себя поподробнее. Как
9: Вообще так получилось, что тебя в сдд занесло. Окей, всем привет. Сотером занимаюсь лет этак 30, в основном в Северной Америке. Ну, сначала там где-то на ранних этапах лет 5 занимался им по всему миру просто.
10: Ездил по разным местам и прикручивал там телефонный биллинг в больших безликих телефонных корпорациях, потом работал в консалтинге в общем, в этом качестве, где только не писал за деньги код, включая там microsoft.
11: Самый большой хеч фонд в природе, оракл, ну, в общем, энное количество всяких нефтегазовых заведений и тд. И тп. Последние лет 15, в общем.
12: В общем то, надоело мне заниматься консалтингом, и занимаюсь, я работаю на удалёнке, в основном на американские бизнесы, силиконовую долину. Вот этим всем делам я пришёл. Ну, собственно, лом то я начал пользоваться при разработке.
13: Ещё года 3, наверное, назад. Ну, когда это все было умным автокомплитом, по сути дела, да, там был такой период. Вот. А значит, давать ей самой чего-то там писать. Ну, в принципе.
14: Где-то в апреле прошлого года, в марте, наверное, я понял, что уже, видимо, можно, по крайней мере, надо всерьёз пытаться, потому что я, в общем то не люблю влезать в новые технологии на слишком ранних этапах. Это как
15: Правило убийство времени, ну ещё и очень трудно угадать, это на самом деле новые технологии или просто как бы новая блестящая игрушка, которая через полгода умрёт. Да, вот. Поэтому я обычно жду и в общем то, стараюсь
16: Влезать вот где-то вот перед вот этим вот местом на кривой неизвестной, как это называется, то забыл уже. Ну в общем, неважно. Короче, так получилось, что где-то весной прошлого года я понял, что это место как раз настало в именно
17: Идея давать лму самому писать там больше, чем 4 слова подряд, как, в общем то, и все. В тот момент поставил себе клод. Значит, и как бы оказалось, что в принципе, да, можно, но это не
18: Сильно быстрее получается, потому что, ну, плывёт агент то, то есть ему ещё, тем более в те времена, это же полтора года назад, это, в общем, ну, или там год назад, это прошлый, это, это средние века, считаем собачьими годами, да.
19: Да, то есть, когда, на самом деле, они ещё там сильно больше, ну, условно говоря, там 20 строк кода подряд писать у них практически не получалось. И, в общем, вот этот режим, который я обычно
20: Описываю, как ругаться на лмку время от времени плакать это было, конечно, очень забавно и поучительно, и познавательно, но в смысле там какого-то резкого роста скорости по сравнению с тем, чтобы просто печатать.
21: По большому счёту, не давал. Единственное, что было, так сказать. Так вот, реально приятно, что вместо того, чтобы, значит, быстро печатать там многими пальцами на какой-то клавиатуре, я довольно быстро пришёл к тому, что из клавиатуры всей нужна, по сути дела, 1 кнопка.
22: Части включить запись отпустил. Выключить запись. Вот. Да, это, это было здорово. То есть как это по-русски будет? Карпул та синдром. Да, да, да. Прямо профилактика гениальная абсолютно.
23: В этом смысле. Вот, ну и, в общем, так вот, поупражнявшись где-то месяц, полтора, я, так сказать, стал задаваться вопросом, а что у нас вообще бывает в смысле более развитых процессов, когда уже, ну, как бы, такую базу наработал, чуть чуть такой
24: Интуицию немножко, да, как это выглядит вот в таком, в примитивном варианте. И как раз стал смотреть, в общем то, что умные люди, так сказать, говорят, пишут и думают по этому поводу. Нашёл там энное количество всякого разного на самом
25: На самом деле, все оно было предельно примитивное в тот момент. Ну, то, что я нашёл. То есть, я не говорю, что оно все было предельно примитивное, вот что мне на глаза попалось, оно было, да, то есть было видно, что это, в общем, там кто-то сказал лму там, ну, напиши мне какой-нибудь prompt, лм. Написал.
26: Там 300 слов. Ну и хорошо, че то она делает, слава Богу. Да. Вот e vino метод.
27: Тот самый, поскольку чисто идеологически я, так получилось, что большая часть моей карьеры прошла примерно в тех же кругах, которые вот примерно так как бы писали софтвер, собственно, то он мне прямо лёг и
28: Я стал им пользоваться, как только я стал им пользоваться. Понятное дело, как бы сразу вылезла там масса всяких проблем. Ну, хорошо, что когда опенсорс, в общем, если проблема вылезает, в общем, можно пойти о ней рассказать, а ещё предложить.
29: Patch. Ну, слово за слово. Вот так я оказался, собственно, тренером бимана. Понятно. Хочешь решить проблему сделай это сам. Ну, возьми как бы существующее решение, а дальше после сборки дорабатывай напильником.
30: Так, про бимат мы ещё обязательно поговорим дальше, но в этом выпуске мне бы хотелось какие-то конкретные фреймворки вообще максимально поздно потрогать и скорее поговорить про spec, дримон девелопмент в отрыве от конкретной реализации вот, ну, посмотрим, как пойдёт мне.
31: Да, поэтому давай вообще начнём с того, что попробуем на пальцах объяснить, а что вообще такое спёк? Дривен девелопмент? Вот как работает ванильный сдд подход, особенно для тех, кто никогда раньше так не работал, и просто промти агента.
32: Давай даже начнём с того, откуда он вообще берётся в этой жизни. Давай вот это слово, если мне память не изменяет, я 1 раз в жизни услышал году в 2005, но оно было вообще про другое. Ну, не совсем, но, короче, про другое. Угу. Поэтому мы
33: Мы сейчас про девелопмент в том плане, в котором это начало с там лёгкой руки гитхаба называться в августе прошлого года. Идея очень простая. У тебя есть ллм?
34: У ллма есть такая штука под названием контекст виндоу. Ещё у неё есть такая штука под названием usable контекст виндоу, которая на самом деле, чем дальше, тем сильнее отличается от просто контекст виндоу, чем значит, если, ну, как бы
35: Что такое контекст, рассказывать, я думаю, тут никому не надо. Да, да, да. Не, это считаем, да, что это эта планка есть слишком базовая. Да. Значит, проблема в том, что когда это все переваливает за, ну, в те времена 50000,
36: Сейчас где-то 120, 150000 токенов эллы начинают плыть, они, значит, забывают, что было в середине, чуть позже начинают забывать, что было в начале.
37: Они начинают чудить по разному, так сказать. Ну, в общем, понятно. Лоси синдром, да.
38: Вот. Соответственно, у тебя есть фундаментальные ограничения этого метода, причём, что интересно, вот сейчас нам продают, как бы сервисы, там 1000000 токенов, вот обещают там 2000000 уже начать, да, но если почитать свежие статьи, то
39: Того же антропка про контекс тро, то есть вот про эту проблему, значит usable контекс виндоу не вырос там в 5 10 раз. Он в лучшем случае вырос процентов на 20 по сравнению там, скажем, с моделями, которые были в начале этого год.
40: Так, а можно Егор, как-то очень сорян, что перебиваю, просто хочу ворваться. Мы как-то очень может быть быстро пропустили. Я когда смотрю на модель, там написано размер окна и вот сейчас вот, например, у каких-нибудь Санета там
41: Написано 1000000 означает, ну и когда я смотрю на этот 1000000, я это понимаю следующим образом. То, что вот когда мы до 1000000 дойдём, вот тогда моделька начнёт плыть и ну а точнее, она не плыть будет, она, она, соответственно, начнёт, соответственно, сжимать контекст и так далее. Но есл,
42: Если бы она этого не делала, она бы начала плыть. Ну и, собственно, там можно придумать способ, как запихнуть туда слишком много контекста, я не знаю, там скормить слишком большой файл какой-нибудь или ещё что-нибудь. Ну, короче, есть способы вот этот вот 1000000, это вот, ну, кажется,
43: То, что предыдущее, предыдущее, вот это значение было, ну, я не знаю, там в 10 раз меньше 200000, ну, то есть, но при этом, но при этом утверждается, что как бы эффективный контекст вырос всего на 20%. Что это значит? Сколько он тогда, смотри.
44: Значит, лмка начинает плыть гораздо раньше того 1000000 к тому моменту, когда у тебя полмиллиона токенов в сессии. Если тебе нужен, так сказать, уверенный рекол какого-то токена, который был где-то там, на 2 сотне тысяч, ты
45: Его на самом деле получаешь вот в нынешних моделях. Ну, опять же, это все понятно, там сильно зависит от задач и так далее. Но если вот именно он был где-то там уже давно, но не в начале, да, то на полмиллиона, если мне память не изменяет, вероятность того, что она его, ну,
46: Момент вспомнят в общих чертах, где-то процентов 80, что на самом деле нормально, когда ты занимаешься каким-нибудь брейнстормингом, да, почему это нормально? Потому что, ну вот мы когда вот разговариваем, мы же уже забыли, что было полчаса назад, а пол
47: Назад это где-то там сколько? 50, по моему тысяч токенов. Так по порядку величин не больше. Вот мы забыли и все нормально, мы продолжаем разговаривать как бы у нас главное, что текущий контекст держится. Вот. А это там, ну че то отложилось где-то, что-то, даже куда-то записа.
48: Но в голове у нас этого сейчас нет, правильно? Когда ллм пишет код, это крайне нежелательная вещь.
49: Потому что именно так в этом коде появляется куча всяких Фейлер модс, то есть куча всяких. Вот, вот именно, вот она чудить начинает. Поэтому, значит, да, тебе дали, так сказать, контекст виндоу 1000000, но это не значит, что надо продолжать.
50: Кодировать до 1000000. Угу. На самом деле, в общем, как только ты видишь там, ну, во первых, эту цифру надо мониторить со Страшной силой. То есть просто все время на неё смотреть на каждом ходе своём. А во вторых, как только ты увидел, что там как-то сильно перевалило через 100000 на
51: Придумывать, как эту сессию остановить и начать новую. Значит, этот самый компрешен, вот этот, когда она контекст сжимает, это на самом деле, что это тот же самый lost н мидл, то есть она из
52: Вот сессии выкидывает кучу токенов, да, а оставляет те, которые ей показались важными. Проблема в том, что мы на самом деле плохо понимает, что такое важно.
53: Поэтому, когда ты видишь, что она пошла вот этот вот компакт делать, это уже ай яй яй, когда тебе нужно именно вот точный рикол нужен.
54: Понимаешь? Угу. То есть, если у тебя, так сказать, такая необременительная беседа, какой-то брейнсторминг туда, сюда, где, в общем, ничего страшного, то, что она забыла, там половину, что было в середине, это все нормально. А чтобы код писать, так не надо делать, потому что от этого, ну, просто проблем много, да?
55: Про это, на самом деле, мне кажется, я от очень большого количества людей слышал как раз примерно похожие цифры, то что, да, ты на самом деле, когда там на 50, 60% даже контекстное окно заполняешь, у тебя уже заметно перфоманс проседает, и даже бенчмарки были какие-то, которые это замеряли, если
56: Найду вот сейчас параллельно, то к выпуску приложу обязательно. Ну, есть простой на самом деле способ это просто понять на кончиках пальцев берёшь там какое-нибудь преобразование какого-нибудь там большого набора файлов, там, допустим, 300 штук. Надо че то такое придумать, чтобы
57: Каждая из них требовала именно не скрипт написать, а подумать, то есть инференс, да, и чтобы этого инференса было, ну, допустим, там, 30, 40, 50000 токенов на файл, а потом их запускаешь все в 1 сессии, 1 за другим и смотришь на результат.
58: И чтобы результат был, как бы, вот, ну, чтобы тебе было сразу понятно, что такое хорошо, что такое плохо, там прям чётко видно, вот нынешний опус, там с 1000000 контекстов. Ну, я это делал не на нынешнем, а по моему версии, или 2 назад. Ну, оно сильно не изменилось с тех пор.
59: Судя по всему, там чётко видно, когда после 200000 токенов она начинает уже прям заметно чудить, а после где-то 350, 500, она уже просто как бы, вместо того, что, значит, я ей сказал, сделай такое-то преобразование. Угу. Начинает делать, что
60: Вроде мейки берра.
61: Вот так вот. Окей. Так, это прям хорошо видно. Так, про это понятно, да, про это понятно. Давай, погнали дальше. К, да, к тому, откуда вообще, как это связано вообще с сдд? Окей. Проблема. Вот, вот, вот. Значит, проблема ясна. Теперь смотри, то есть у тебя
62: Агент может на самом деле, там написать какое-то количество кода, он должен при этом уложиться в 100000 токенов. Ну, условно, значит, если он, чтобы написать это количество кода, потребует больше 100000 токенов, он будет чудить гарантированно.
63: Соответственно, значит, дальше вопрос, как тебе уложить в эти 100000 токенов? Ну, грубо говоря, там максимум полезной работы. Ну, собственно, идеальный сценарий, это вот мы перед этим обсуждали, что когда происходит компрессия автоматическая,
64: Может быть. Ну это сжатие с потерей информации. Самое классное, что можно сделать, это если кто-то интеллектуальный, умный, я не знаю, архитектор, разработчик возьмёт и закомплесован, оставит самое лучшее, самое лучшее знание, собственно, такое.
65: Знания про соответствующую там задачу. Проект кусок подсистемы и, соответственно, модель в контекст получит концентрированную информацию, экей спеку, причём в самое начало сессии, то есть
66: Да, как раз именно так и получается, что идеальный вариант вот этой сессии на 100000 токенов выглядит именно так. Вот она запустилась, да, что значит, она запустилась примерно так, ты проснулся. Ты знаешь все, что происходило до декабря прошлого года, и
67: Тобой такая белая стена, там написано, тебя зовут Вася. Вот твоя задача. И там дальше 1000 слов, задача, да, вот, значит, если после того, как ты прочитал эти, там 1000 слов, тебе
68: Все ясно. И как бы не надо никуда ходить, там, чего-то как то широко искать, читать какие-то, значит эти search залс большие там и все такое. Да, ты просто, ну окей, я, Вася, вот моя задача понеслась, вот это идеальная как бы.
69: Для, если вместо этого, так сказать, ты, значит, пришёл, тебе сказали, что ты, Вася, написали там, какой ты Вася, а дальше, значит, какой-то Петя тебе там в час по чайной ложке начинает рассказывать, что ему надо от этой жизни, да, то
70: Ну, как правило, если эта задача не совсем уж тривиальная, вы, в общем то, этого полезного контекста 2 трети потратите, просто чтобы разобраться, что надо петь от этой жизни. А вам же ещё надо сгенерить из этого код.
71: Потом этот код проверить, закоммитить и все такое прочее, да, а вы уже на самом деле, по сути дела, 2 трети спалили на, в общем то, вот этот диалог вот отсюда, собственно, берётся как бы эта простая идея, что да, надо, значит, в какой-то другой сессии написать.
72: Вот эти вот 1000 слов, так сказать, которые мы Васе сообщим о том, что он должен сделать за следующие 3 минуты грубо. И после этого, в общем, этот Вася отработает как молодой Бог. Ну настолько
73: Сколько он может вот вот тебе и вся идея так сказать скрин девелопмент как она есть так ну вот то что ты сейчас описал это же на самом деле то что во всех агентах называется plan mode ты вначале да, с ним болтаешь, болтаешь он пишет план, а потом ещё и в новый
74: Сессию запускает, обнуляет контекст и этот план туда инжектит. План мооут это самая примитивная имплементация девелопмент. Так точно. Ну потому что план моут у тебя рантаймовые, и он, ну, как бы он не является частью
75: В некотором смысле он у тебя живёт, пока у тебя, ну, собственно, происходит вот конкретный диалог, конкретный чат, ты его берёшь, закрываешь, и он потерялся. Собственно, Спека у тебя, она в конечном счёте высечена в камне, и она у тебя лежит. Подожди, мне кажется, ты сейчас подожди, ты какой-то новый.
76: Свойство сейчас придумал, мы его вообще не обсуждали пока что. Вот я бы на самом деле следующее свойство обсудил, другое немножко.
77: Что дальше? На самом деле? Ну, понятно. Вот 1 такой Вася, то есть 1 колдинг сешн вам решит 1 простую маленькую проблему. То есть он, собственно, production кодом напишет. Ну, сток 300 обычно не больше, чаще.
78: Меньше за эти 100000 токенов, да? Ну, опять же, как бы зависит от задачи, естественно, он там может очень много написать, но это тут мне стало стыдно за мои пулреквесты в 1 сессию, в 3000 строк. Ну, нет, так тоже бывает, как бы мне
79: Совершенно не стыдно за мои такие же, ну просто они не все такие далеко. Я к тому, значит, смысл, тем не менее, в том, что дальше у вас на самом деле возникает задача, которая больше, чем 1 сессия.
80: Угу. Да, в этот момент, ну, в какой-то момент, где-то там, начиная с того, когда у вас таких задач, допустим, когда 3, когда 10, ну вот примерно так, это в лучшем случае, а иногда и когда 1 вот этот сессия, которая
81: Пишет промт для Васи.
82: Ей самой нужен такой же самый промт. То есть ей точно также в самое начало нужно залить правильный контекст, чтобы она правильно планировала. Угу. Да, вот. И, соответственно, это, в принципе,
83: В смысле, такой же самый спёк дривен, но только уже пленнинг. И когда мы говорим про спеки, это, к сожалению, такая путаница терминологическая есть. Сложившейся терминологии нет, но мы всегда должны держать в голове. Вот в каждый момент в таком разговор.
84: Мы про какие спеки сейчас проспек 1 истории на 1 1 session проспек ну, допустим, если в терминах вот этого вот agile, в который там я, в общем то, в этой жизни много и со вкусом.
85: Проспект эпика, который, ну, 5, 10 этих историй, да, или мы проспект, прям проекта, который, ну, 40 тире 100.
86: Это немного разные люди, все трое, но особенно сильно отличаются спеки вот вот этого всего от Спека 1 истории, 1 кодинг сессии.
87: Вот сейчас вопрос. Тем не менее, вопрос тогда синко, что, как я правильно понимаю, главное различие между спекой всего проекта и вот этой вот 1 спринта заключается в том, что Спека проекта
88: Она, в некотором смысле, она полностью описывает текущее состояние проекта. Спека спринта должна в 1 очередь описать о том, что должно измениться как, ну то есть она описывает в 1 очередь изменения, и в нём фокус или в чем разница? Ты все время пытаешься тащить
89: Сюда Спека, код, идея, Спека, сорс.
90: Да, то есть когда у тебя типа там источником истины о том, что уже есть, является там какой-то markdown файл.
91: Значит, есть такая идеология, есть её имплементации. Ну, open спект, собственно, это оно, например, моё сугубо частное мнение, основанное, в общем то, ни на чем, кроме, ну, грубо говоря, это личного опыта и общения с людьми, которые так пробовали делать, сводится к тому,
92: Что эта идея, она впереди, на самом деле развития технологии сейчас. То есть так ещё делать нельзя. Ну, можно, но плохо получается. Поэтому, с моей точки зрения, значит, если мы говорим
93: Говорим про спеки, которые 1 кодинг сессии, да, то на входе у этого планирования есть. Ну, короче говоря, там самый богатый контекст про твой проект, это код самого проекта.
94: В этом коде, кстати, есть комментарии. Раньше это, ну вот, 1 из вещей, которые сильно поменялись, так сказать, после того, как мы стали писать код сами. Значит, раньше, в принципе, правильно было комментариев не писать.
95: Как дефолт, да, то есть, если там у тебя возникло желание написать комментарий, сначала, так сказать, сядь и хорошенько подумай, как бы в коде написать так, чтобы он был не нужен. И только если не получилось, тогда, окей, садись, пиши комментарий, потому что комментарии расползались.
96: Собственной имплементации сейчас комментарии больше не гниют, то есть alma современные они отлично совершенно, значит, комментарии про то, почему здесь именно так, а не по другому, поддерживают на ура и потом как бы точно также в коде, если код нормально.
97: Они их очень быстро и точно находят. Поэтому держать как бы старые спеки. После того, как они утратили актуальность, я, в принципе, смысла не вижу. Ну, в смысле, вижу там, в архиве, я их держу, иногда заглядываю туда с точки зрения археологии. Угу. Вот.
98: Но, значит, вот эта идея, что у нас источником истины будет являться Спека, а код мы будем все время оттуда генерить, ну, из дельт, она как бы красивая, простая и понятная, но пока, на мой взгляд, не сильно рабочая. Окей, а про какие-то
99: Спеки мы говорим про какие виды уровней тогда сессия и спринт или что проект. Ну, в моей голове проект epic store.
100: Epic это не спринт это epic от спринта он отличается тем, что epic это там небольшое количество историй, которые вот все вместе связаны общей темой обычно на самом деле просто там из них получается.
101: Какая-то цельная фича полная. Угу. Вот. Ну, а проект, соответственно, это когда, в общем, эти самые фичи, так сказать, сливаются в какое-то вот такое уже такое, ну, серьёзное изменение, которое там не на неделю работы. Угу. Так.
102: Скажем так, давайте тогда сейчас сделаем. Я хочу зафиксировать вот то, что мы сейчас обсудили, что, во первых, разные люди под спект дрион девелопмент понимают очень разные вещи, я это часто замечаю. И вот сейчас вы прям видели, как человек, у которого в голове 1 картина мира с чело,
103: Человеком схлёстывается у которого другая картина мира. Поэтому я предлагаю вот в рамках данного подкаста зафиксировать, что мы говорим в 1 очередь про спецификацию как артефакт, задача которого это передать агенту в рамках текущей сессии.
104: Нужный контекст, чтобы он как можно лучше справился с задачей. Другие возможные свойства и виды спёк. Это прикольно. Мы их ещё, может быть, обсудим дальше. Но это не первостепенная, не ключевая задача. Огонь отдельно отдельное спасибо за то, что проговорил.
105: Вот этот вот сценарий, потому что на самом деле, ну то есть я как-то наблюдаю за некоторым количеством адептов вот подхода того, что Спека как источник правды и то, что весь код надо выкидывать и генерить.
106: Не знаю, там 10 раз в секунду проект перегенерировать из изначальной спеки. Вот классно, что мы это тоже немного проговорили. Сейчас с терминологией синкались. Класс. Так, и у меня тогда такой вопрос к тебе. Лёш, ты начал свою историю с того, что ты
107: Вообще, сдд стал пользоваться, когда модели были ещё довольно глупенькими, а с тех пор много воды утекло и и модели, и харнесы вокруг этих моделей стали прилично лучше. Так вот, вот, я как раз хотел сказать не только модели, но и
108: Мы сами были ещё глупее и это тоже, это же человекомашинная система кто мы, как кто люди, как не кожаные харнесы для моделей, ну в каком-то смысле, да так вот умрёт ли spec дривен девелопмент?
109: Когда модели станут умнее, на мой непросвещённый взгляд, я это как бы часто рассказываю. Последняя версия Имеда это будет 1 промт, который будет звучать примерно
110: Так спроси у человека, что ему надо, и так и сделай. Значит, если у тебя есть идеальный агент, то вот это идеальный спектр, девелопмент, фрейворк.
111: Значит, у идеального агента есть, так сказать, ну, близкое к бесконечному, значит, контекс виндоу окно контекста у него, так сказать, какой-то такой абсолютно невероятный рекол, и он ещё каким-то образом научи.
112: Учился понимать что важно что нет, значит на мой взгляд вот этот идеальный агент, особенно в той части которую фред бург в своё время это человек, который написал статью, но silver bullet, известную да, там лет 40 назад наверное.
113: Вот он это называл эссеншиал комплексити, то есть фундаментальной сложностью, как бы, в отличие от случайной, значит, я не вижу элмов, которые хотя бы примерно
114: Ближались вот к этому делу. То есть, что я вижу, что у них растёт как бы точность вот исполнения того, что им сказали в разных смыслах, да, у них, значит, растёт способность, ну,
115: Грубо говоря, там вспомнить токены из середины и сделать так, как надо. Ну, тоже, кстати, не то чтобы сильно, на самом то деле, насколько я, так сказать, понимаю, ну, так, на наивно интуитивном уровне, в общем то, как бы вот этот юзал контекс.
116: Это вещь, которая сильно коррелирует с размером модели. Похоже, что и поскольку мы в этом смысле довольно сильно упёрлись в ограничения по физике уже по железу, просто вот то оно перестало расти.
117: На самом деле уже так, ну, как бы оно растёт, но
118: Не, там в 10 раз на каждом поколении, как это было в какой-то момент. Вот. Поэтому если вот так вот взять, посмотреть на хрустальный шар, которого у меня нет, не
119: Абсолютно дело предсказывать развитие технологий, но я бы тем не менее предположил, что это что-то вроде управляемого термоядерного синтеза. То есть оно Вон оно, за углом, но термоядерный синтез за углом уже сколько? 8
120: У меня есть сильное, ни на чем не основанное подозрение, что вот с лэмми вот этот вот идеальный вариант вообще джиай как таковой, да?
121: Это та же история. То есть нам как бы следующий очень долго будет казаться, что вот он прям вот протяни руку и он уже здесь, но он не здесь. Опять же, какая нам разница сейчас?
122: Эта штука нужна. Нужна польза от неё есть, есть. Если завтра перестанет быть нужна. Ну, я 1 выброшу её на помойку и буду делать то, что надо в тот момент. Давай я сейчас попробую ещё 1 подводочку дать, а ты скажешь, где я ошиб.
123: Вот, может быть, опять, чтобы у людей чуть лучше уложилась концепция сдд в голове. По сути, мы, короче, много лет, мы строили разные девелоперские процессы, процессы разработки, там, типа agile лайк, штук для того,
124: Чтобы обойти какие-то фундаментальные ограничения людей, то, что, например, у людей не помещается человеческих организаций. Да, да. Ну да, да, да, да, да. Типа, вот там всякие вот эти числа данбара, то сколько мы концепций одновременно в голове можем удержать и прочее. Короче, есть у людей
125: Их и system is людей ограничения. Мы их обходим, строя процессы, которые позволяют при этом как-то гарантированно производить софт. А сдд это, по сути, тоже самое. Есть несколько фундаментальных ограничений модели и сдд. Это по сути,
126: Набор практик инженерной дисциплины, которая позволяет получать наилучший результат с учётом этих ограничений, как бить работу на наилучший, давать модели на вход очень оптимистично. Я не знаю, наилучший он или нет.
127: То есть он точно лучше, чем как бы наивные попытки просто с этой штукой поговорить как с человеком, да? Ну, потому что, понятно, как бы человеку, например, принести, так сказать, спецификацию на 1000 слов. Это почти бесполезное занятие, как выясняется с ним, заразой. Таким надо именно раз.
128: То есть не её можно принести человек. Ну то есть, если бы мне кто-нибудь там 5 лет назад принёс, так сказать, там какой-нибудь этот project дискрипшен, который я сам сейчас могу за полдня себе сгенерить, я бы прослезился и обнял бы вот того, кто мне это принёс бы. Но тем не менее, после этого
129: Мы бы все равно ещё потом с ним недели 2 разговаривали. Ну, понятно, я бы в это время там че то писал код, но там в этот момент, как бы я видел, что вот здесь, вот, вот тут дыра, вот тут дыра, значит, тут мне непонятно просто, может, и не дыра, но тем не менее, да, то есть все врём.
130: Диалог такой Шёл бы. Вот, а собственно, ллм, как выясняется, ну, по крайней мере, в рамках 1 сессии можно принести 1000 слов, и оно, типа, будет исполнено. И вот, кстати, тогда это как раз
131: Мой следующий вопрос, а есть ли вообще какие-то и валы, и бенчмарки, которые, которыми пытались замерить, насколько сдд действительно полезен, а не просто карго культ, все начали писать спецификации, и я пошёл писать спецификацию. Ну окей, значит,
132: Давайте так research на эту тему есть значит разбиение на вот plan mode и implementation это штука которая ещё там 2 года назад в принципе в академической литера.
133: Натуре, так сказать, поддерживалось на раз плюнуть и с тех пор как бы мало чего поменялось. Ну, в смысле, лмы поменялись радикально, да, то есть с тех пор произошло там 4 примерно таких фундаментальных сдвига в их возможностях. Вот, но, в общем,
134: Поскольку контекст виндоу, как был 100000 токенов, так, по большому счёту, и остался, то вот это вот разделение, так сказать, напишем ему сначала план, а потом в другой сессии скормим этот план в начало контекста, это никуда не делось и как бы всякие попытки
135: Значит, проверить это они, в принципе, приходят к 1 и тем же выводам все это время, насколько я могу судить, вот это значит пункт, 1 пункт, 2, вообще говоря, ивалы, а тем более бенчмарки, это штука крайне сомни.
136: На самом деле, во первых, ну и собственно академическая литература в этом смысле тоже это такая вещь, которую надо воспринимать такой здоровым скепсисом. Значит, все эти люди
137: Как бы никто из них на самом деле не берет там, грубо говоря, эту базу кода, там на 1000000 строк, на си плюс плюсе или там на чем-нибудь ещё, да, такую настоящую, тяжёлую, в которой он сам, типа, знает все, что там можно знать почти.
138: Ну, не все, ну, все, никто не знает, и как бы не пытаются там, значит, вносить изменения двадцатью разными способами. И так, типа, там каждую неделю такого нет, никто этого не делает. Правильно? Потому что это, ну, это не масштабируемо.
139: А это на самом деле как бы своя задача. Она сильно отличается от того, что все эти агенты делают на бенчмарках куча, значит, Валов и бенчмарков, они либо про какие-то абсолютно, как бы микрозадачи, да, такие вот игрушечные.
140: Никто не строит именно взять полмиллиона строк и приписать к ним ещё 50000 с целью евалов. Это невозможно. Просто куча и Валов. На самом деле у нас сейчас это окей. Вот у нас есть, значит, допустим, тяжёлая на самом деле, там какая
141: Какая-нибудь куча кода, написанная 10 лет назад или 20 людьми. А вот у нас есть изменения, которые эти люди должны были сделать 4 года назад.
142: Да, и вот у тебя есть ллм, который, конечно, тоже умеет кодировать, но он же умеет кодировать принципиально по другому. То есть код, который пишет ллм, он заметно отличается от кода, который пишет человек, я прям вот как бы могу на самом деле посмотреть на страниц.
143: Кода вот с такого вот расстояния мне сразу видно, что написано человеком, что машиной, а то ты ещё мой код не видел. Ну какая разница, то твой код то тоже машиной написан, правильно? В наше то тяжёлое время я к чему? Что это другая задача? То есть вплоть до того, что вот они даже на
144: На самом деле, измеряют это все не на тех задачах. Значит, и это на самом деле, это сильно более фундаментальное соображение, чем оно звучит. Почему? Потому что когда у тебя, значит, ну, грубо говоря, так сказать, дописывает код и
145: И пишет его изначально один и тот же агент, это совсем другое, чем когда его писал какой-то принципиально другой механизм, там организация неважно. Вот. А тут, значит, ты его пытаешься изменить там средствами вот этими новыми
146: И получается, что у нас то стоит задача уже сейчас. Чем дальше, тем больше дописывать код, который изначально сгенерирован мами с той или иной степенью, так сказать, человеческого внимания, да, а значит, если мы пытаемся глядеть на бичмарк, то, в общем, мы это дело, в общем,
147: Пытаемся как-то ранжировать на примерах, которые вообще не про это. И, ну, понятное дело, что какая-то корреляция между значит, способностями делать 1 и способностями делать другое, безусловно, существует, но когда мы начинаем
148: Сказать, пытаться там как-то там, че то там натюнить такое вот в пределах 5%, да, то есть 5% на каком-нибудь с дабл ю, и это огромная разница вообще то. И вместе с тем, на самом деле скорее всего, где-то примерно там начинается жёсткий оверфит, то есть ты там типа
149: Грубо говоря, там взял там какую-нибудь красивую палку, и её там очень дорого, так сказать, и долго полируешь и лакируешь, а потом пытаешься её применять в качестве лопаты.
150: И да, она, в общем, копает, прям её приятно взять в руку, она как-то там делает дыры в земле, да, но с лопатой было бы, может быть, в 5 раз быстрее, а может быть и нет. Вот тут, в общем, такое. То есть это вот то, что я думаю про вот эти вот, значит, механизмы, которые
151: Ты просто это самое, какую-то автоматическую, типа, функцию оценки пытаешься применить к рабочему инструменту. А как тогда понять вообще становится лучше или нет? Вот как учил нас это самое в своё время в советской ещё
152: То Владимир ильич ленин критерием истины является общественная практика.
153: Да, это о чем на самом деле, что если у тебя есть свой проект, в котором ты знаешь все, и у тебя есть какие-то изменения, да, которые ты, ну, помнишь, потому что они, например, недавно произошли, и они почему-то интересные.
154: И ты, короче говоря, берёшь там какое-то изменение чего-то, ну, своей системы, вот этой механизма, которым ты этот самый код генеришь, да, и тестируешь на этом изменении. Я, например, вот ревью так, как бы исключительно только так.
155: Верю, по большому счёту, когда делаю там какие-то изменения именно в ревью, значит, я беру там за последние, там пару недель изменения на своей работе в проекте. Вот. И просто смотрю, вот, вот, типа, так было до
156: Так стало после одно и то же. Ну ладно, неинтересно. Значит, если там че то кардинально поменялось, возникает подозрение, что оно не просто так кардинально поменялось, а может быть не случайно. То есть надо ещё там попроверять на каких-то других штука в том, что тогда, да, нету Ника.
157: Какой там статистической значимости, ничего такого. Да а и Бог бы с ней. Статистическая значимость тоже сильно переоценённая вещь.
158: Значит, если я на своих примерах, которые мне понятны, вижу, что вот этот сделал вот так, а вот этот сделал там на 10% лучше, и могу ещё на самом деле, потом подтвердить, что и 3 других тоже, там, по крайней мере, 2 из них сделали на 10% лучше все. Мне этого достаточно, мне гораздо Инте.
159: Интереснее на самом деле сидеть и думать о том, как бы это палка или лопата, то есть структурно, структурно эта штука, она подходит под ограничение метода и моей задачи или нет. Если подходит, то вероятность того, что она будет хорошо работать, опять же, вот
160: Как бы я никогда вообще не утверждаю, что она работает лучшим образом. Это. Угу. Ну, понятно, это гордыня просто была бы, да, никто не знает, что такое лучшим образом пройдёт. 2 месяца, лучшим образом станет. По другому понимаю. Ну, вот так понимаю, о чем.
161: Ты говоришь про то, что в целом померить пользу такого инструмента, как сдд, объективно, реально очень сложно, во первых, а во вторых, мы в подлодке, увидеть её очень легко при этом, да. Вот, а во вторых, мы в подлодке много раз говорили про бичмарк, и всегда мы упираемся в то, что бенчмарки это очень
162: Это штука, которая обычно измеряет какой-то очень синтетический сценарий в вакууме, вот легко читится и на самом деле вообще не коррелирует с реальной пользой. Вот. Ну, при этом, ну, реальная польза для синтетического сценария.
163: Вакууме на лицо. Хорошо. Вот, но при этом, где гарантии? И меня тоже, типа, не ложится в меня очень хорошо. История с тем, чтобы принимать решения только на основе чуйки на паре тройке своих конкретных примеров, потому что так
164: Мы заканчиваем людьми, которые себе поставили 1000000 Скилов каких-то непонятных, взяли последний опус, максимум эффорт и вперёд. Да? Ну короче, на уровне чуйки, кажется, особенно когда у тебя, ты руку ещё не сильно
165: С агентами Набил. Тебе кажется, что да, все делает лучше. Оно же все выглядит супер, гениально, супер классно. И люди себе натаскивают кучу всякого барахла. Вот. И как понять, что сдд это не такое же барахло. У меня, у меня есть идея, но она, она
166: Очень такая, ну то есть нужно быть достаточно большой, надо быть или достаточно большой корпорацией, тогда ты можешь просто на уровне своей корпорации взять и провести абку, половину снова 100 экспериментами над людьми. Да, да, да. Половина, половина как
167: Пользуются. Мне очень нравится, если что, этот подход просто используют какой-нибудь сонетик и пишут там на стиле, пишут там в 3, в 3 слова, че надо сделать для следующей задачи. A2, соответственно, берет и пробует при помощи Спека.
168: Потом открываем трейсы, смотрим Фейлер моды, смотрим токен, консепшн и все остальное и сравниваем. В итоге получаем какую-то статистику, из которой можем сделать вывод. 2 вариант можно быть вендором и предоставлять, ну, собственно, свою модель и
169: Просто знать про это, работает это или нет. Вендоры тоже не всегда знают, работает это или нет. Кстати, как раз в этом смысле хорошо быть опенсорсом. Там как бы та же самая, тот же самый эффект получается.
170: Да, то есть ты как бы кидаешь там какую-то там, и вот я написал вчера там 10 слов в какой-нибудь там промс, да, значит, будьте уверены, если я там что-то накосячил, такое заметно, то дней через 10 максимум мне
171: Кто-нибудь прям расскажет о том, что я там накосячил, даже если это сам на своих собственных примерах не почувствую. То есть на бенчмарках, короче, свет Клином не сошёлся. Хорошая вещь, если есть, грубо говоря, ну какая-то корреляция того
172: Что ты делаешь с тем, что эти бенчмарки меряют и если есть как бы бесконечное количество бесплатных токенов вперёд с песней это работает тоже ну то есть это оптимизирует какой-то 1 локальный максимум, я оптимизирую другой локальный максимум, но тот локальный максимум
173: Который я оптимизирую, он как-то ближе вот в ту зону, где мне нужен максимум.
174: Ну, как бы, то, что я не нахожу, скорее всего, глобально это. Ну, да, понятно. Ну, ну и ладно, я как бы могу на пальцах показать там кому угодно, значит, вот на своём репо, типа, вот мы как бы делали руками, вот там каждый конкретный человек делал.
175: Сказать, в режиме я ругаюсь, лм. Иногда плачу, а вот он начал использовать этот самый метод и там прям по производительности, в принципе видно по качеству Косяков не сразу.
176: Ну, тоже видно, потому что, в общем, понятно, метод мы все начали использовать, когда ещё сами были глупенькие, и method был глупенький, и m были глупенькие, но тем не менее, то есть там дельта видна невооружённым глазом, и она такая хорошая, раза там 2
177: С половиной. Вот не отходя от кассы, я предлагаю, может быть, дальше поговорить про практику. Я до этого вот разгонял историю про то, что вот там Спека как источник правды. Сейчас хочется поразбираться, а по факту как
178: Вообще выглядит эта спецификация. Вот если на неё посмотреть своими глазами, это 1. И поговорить, может быть про неё в контексте применимости к каким-то определённым типам задач можно начать, вот, может быть, про применимость. Все ли задачи, которые решают разработчики
179: Одинаково хорошо решаются при помощи сдд тривиальные задачи решаются без помощи сдд ничуть не хуже, значит, то есть если у тебя есть, ну, собственно, как бы в beam есть такой скилл под названием кдф, в этом скилле написано.
180: Что если там пришёл к тебе человек, принёс тебе интент и этот интент, он простой, и у него то что там называется бласт, радиус равен нулю, зона поражения, типа того. Ну то есть, короче, если тебя попросили, грубо говоря, в 1
181: Файлике, там поправить 3 строчки, да, вот то из всей этой, значит, церемонии, то есть Спека тебе не нужна. И так все понятно, из, значит, ревью там, как бы, ну, короче, по простой программе.
182: То есть мы сделали эти 3 строчки, мы её проревьюила там 1 слоем только и нормально. Если он ничего не нашёл, этот слой, ну и хвала аллаху. Вот, значит, и это не сдд. То есть это как раз
183: Такая штука, которая говорит, что, ну, если оно такое, то сдд здесь не нужен, а дентик ревью все равно нужен, да, то есть вещь, которая, так сказать, потом на все это вот в совершенно другом контексте, информационно асимметричном, посмотрит и скажет, не, ребята, так нельзя, она, ну,
184: Вот, значит, чтобы на все это посмотрел человек, который понимает, что важно, в принципе, тоже было бы сильно не вредно, но спеку писать как бы для сессии, которая сама по себе заканчивается, там за 20000 токенов. Ну, нет.
185: Никакого смысла. Угу. И это, кстати, тоже, да, это же, ну, это просто физика процесса. То есть, если у тебя там 3 шага, там, не 2, на самом деле, да, там 1 шаг, вообще то 4. Даже, значит, 1 шаг это понять, что хочет человек.
186: Вот так, чтобы ему потом, на следующих шагах, в идеале уже никаких вопросов не задавать. То есть мы все поняли, да, это интент discovery называется. Окей. То есть, как бы понимание, как это намерение. Окей, 2.
187: Это зная вот это намерение, надо пойти и происследовать. Значит, код всякий другой контекст, который там, в проекте есть, там, ну понятно, вот этот вот верхнего уровня из spec верхнего уровня, то есть
188: Собрать в кучу всю необходимую информацию, ну или как бы, по крайней мере, попытаться там именно определить, какая информация необходима, да, и её собрать. Это 2 этап. 3, это, собственно, спланировать изменения на основании, в общем, того, что ты понял, что человек хотел и
189: Что-то узнал про этот код, да, потому что, опять же, вспоминаем все это началось с того, что ты, в общем, это проснулся. Тебе сообщили, что ты Вася, и, и больше ничего. Ну там систем промт ещё написан. Понятно? На самом деле тебе очень много всего сообщили, но не важно, короче.
190: И потом уже только ты пишешь код. Вот если вот эти 4 стадии все укладываются в 1 сессию, там в 50, 70, максимум 100000 токенов, то, в общем, там спект, тривон как бы особо тебе ничего не даст, а если не укладывается, то даст чем хуже.
191: Укладывается, тем больше даст примерно так. Есть ещё 1 вопрос, с этим связанный. Насколько вообще ванильное сдд предполагает, что смотрит ли разработчик в получающийся код или нет. Вообще, надо ли смотреть в код? А что такое ванильное сдд? Это
192: Где его можно попробовать? Ну, ванильное сдд это сдд, которое вот соответствует каким-то принципам, вот, или там каким-то свойствам. Вот мы, например, сейчас проговорили 1 из важных там свойств, что если это все решается в 1 сессию, то, ну, не
193: Не пиши спеки, пиши промты. Этот вопрос, да, он такой лукавый на самом деле. Почему? Потому что ответ на него, он очень сильно зависит, а от контекста, то есть в 1
194: 1, в другом другое на 1 задаче 1, на другой другое да.
195: И b от способностей модели. То есть, допустим, вот если б мне его задали год назад, да, даже полгода назад, на самом деле, полгода, ну да, 7 месяцев назад у нас случился декабрь. Ну, правильно, значит,
196: То я рассказывал, ну, про свою практику. Так вот, типа, на моей работе я делаю так, да, что внутри, на самом деле, каждого колдинг сешен даже
197: Я, в принципе, писал там, типа, значит, вставь здесь human in the loop check point, в начале, в конце и ещё там, ну, как бы до 3 мест, где это ещё имеет смысл внутри 1 сессии.
198: Да, и, кстати, м, с этим, в общем, более менее прилично справляются, между прочим, как ни странно, значит, ну, им там надо сообщить пару фактов, типа, там, что вот, если принимаешь там много решений, то это прям вот то место, где надо.
199: Их приняв, типа, встать и подумать с человеком. Вот. То есть я делал так полгода назад, прошло всего полгода, значит, мой подход опять же, на работе кардинально изменился, потому что как бы я стал умнее, а главное,
200: Стали умнее. Вот. То есть теперь то, что я стал умнее, как бы это приводит к тому, что я лучше спеки пишу в итоге.
201: Потому что у меня как бы сильно развилась чуйка на Фейлер молс. То есть я когда читаю спеку, я вот как бы многие вещи, которые полгода назад ещё не видел невооружённым глазом, сейчас их просто вижу вот так вот. Вот. То есть само выше система человека машинная, да, умеет не толь.
202: Только машины, но и человеки, когда ею пользуются постоянно. Вот. То есть, соответственно, у меня как бы Косяков от того, что я неправильно сообщил интент, или мы там че то там сделали на уровне планирования, не то стало радикально меньше.
203: По обеим причинам. Соответственно, мой подход сейчас вот к human луп выглядит. Так, значит, обычно я, значит, делаю, ну, бадол называется, так сказать, вот есть у тебя история, значит,
204: Ты написал в рамках этой истории, ну, этот квике воркфлоу называется в мае, значит, он написал эту самую спеку, я на неё смотрю довольно быстро. Дальше она пишет код и этот код типа
205: Ревью, там, ну, перед этим дентик ревью ещё. Ну, в общем, вот это вот human инде луп, я его, в принципе, делаю там, на каждую историю, это дефолт, да. Ну, и, в принципе, как бы, если человек только начинает это все делать на мой, не
206: Взгляд именно так и надо делать сейчас. То есть как-то пытаться ещё дальше улучшать это как бы с самого начала, на самом деле опасно, потому что, ну, уплывёт вот оно плыть пытается все время, значит, но тем не менее.
207: Что я делаю довольно часто, у меня есть epic ну как это человек, который придумал бимет? В общем, в какой-то момент сказал, что типа epic из new story, уж не знаю, сам он эту фразу, так сказать, выдумал или где-то услышал, но я услышал от него идея в чем?
208: Что значит, мы, когда планируем этот эпик, разбиваем его на кодинг сессии? Собственно, мы просто делаем так, чтобы вся неопределённость и все решения по внутреннему дизайну принимались.
209: Слева желательно в 1 истории, может, в первых 2, да, значит, эти первые 2 истории мы исполняем именно в режиме, так сказать, human in the loop. Остальные там 8, например, просто.
210: Запускаем как бы цикл я даже в общем неделю назад написал скилл про это, который примерно такой же как quick death, только там не предполагается участие человека в принципе, то есть он прям заточен.
211: Оркестратора конкретно. Вот, а дальше на самом деле ты делаешь ревью уже всего целиком. Мне на самом деле вот эта история прям очень сильно резонирует с какими-то подходами, что берём историю, когда просто промти и, допустим, полностью дове
212: Лмки и потом читаем в конце. Это похоже на историю про стандартный код ревью и понятно какие там проблемы в том, что, ну, с какой-то вероятностью все, что там будет написано, надо будет полностью откатывать. А соответственно, история, когда мы берём и договариваемся
213: Про архитектуру и вот эти принимаем решения в начале оно похоже на этот, на дизайн ревью. То есть, ну, можно по разному в там очень часто получается 1 пулю прострелить, да, уже в коде прямо вот, то есть это трейсер буллит идея, да, что
214: Тебе вообще то надо сделать фичу вот такую, но в принципе ты можешь написать вот столько кода и она как бы через все слои там с каким-то таким вот это, ну простым понятным юзкейсом, тем не менее, пролезет. И когда ты это сделал вот в этот момент
215: У тебя представление о том, как вот это надо делать, на самом деле радикально меняется там 1 раз из 2. Вот, и да, то есть ты на самом деле сделал дизайн ивью, когда ты делал спеку эпика, но потом ещё, то есть вот эти 2 истории, это как раз про трейсер буллит, ну или 1 на самом
216: Обычно 1, что ты его прострелил, ты посмотрел, так сказать, как он там прошёл, и в этот момент, как бы, либо, значит, ты выяснил, что ты на самом деле накосячил там раньше, и, соответственно, надо вернуться назад, там все поменять.
217: Прострелить ещё 1 трейсер пули с самого начала, да, вот. Либо ты выяснил, что здесь все нормально, ну, там надо как бы, чуть чуть чего-то поменять. Это все поменял, а дальше уже как бы, на вот этот скелет, получившийся налепить, ну, всего остального мяса, уже как бы, лм.
218: Может, и без тебя она, безусловно, уплывёт куда-нибудь, но вот это вот уплыть тогда с очень высокой вероятностью, ну, с достаточно высокой, чтобы так можно было делать, да не приведёт к тому, что тебе придётся все с самого начала строить.
219: Хотя, кстати, вот эта вот идея, да, что если там нам че то не нравится в конечном результате, вместо того, чтобы пачить конечный результат, понять, что на самом деле проблема вылезла вообще то вот здесь
220: Откатиться до туда и начать все сначала. Она, значит, когда у тебя все это делает автомат, ну, который, в общем, в 100 раз дешевле, чем если ты все это делаешь, ты сам по себе, да, значит, она на
221: На самом деле очень продуктивно, вообще то. И это тоже такая, ну вот на уровне, там, что код, в смысле, что комментарии в коде перестали гнить, и это прям радикально, на самом деле, все поменяло, так сказать, в представлении о том, как выглядит хороший код, это
222: Примерно такого же уровня, что вот раньше мы делали вот так, а теперь на самом деле лучше вот в этих ситуациях именно как бы забывать, что мы там написали 1000 строк кода, да, и хрен с ней, если косяк случился, так сказать, в дизайне, вот в спеке, то очень часто на самом деле
223: Активны, пойти исправить спеку и перегенерить эти 1000 строк кода, да, на это уйдёт ещё полчаса там. И, ну, понятно. Ну и чего? Оно прям хорошо соотносится с тем, что мы вот в других выпусках обсуждали, что, ну, подход с тем, чтобы заробечить все и попробовать пром,
224: Немножко поменять, вместо того, чтобы попытаться там в 10 приседаний пофиксить как-то уже уже достаточно, там кривую нагенеренные систему. Окей, я хотел, ну, это вопрос в том, где ошибка вылезла. Угу. Да, на этапе дизайна именно спеки.
225: Или на этапе, так сказать, превращения этого спеки в код. Угу. Окей. Да, если как бы на 2 этапе, то не надо переписывать спеку. Нет смысла. А если на 1, то, да, есть, есть смысл, хочу немножко вот в эту сторону, наверное, последний заход сделать. Мы вот сейчас
226: Обсуждаем и обсуждаем какие-то достаточно эфемерные задачи, которые на бумаге. Ну то есть мы обсуждаем чего-то, что-то такое достаточно сложное, на что там надо написать спецификацию. Вот. Но если прям вот так вот задуматься даже вот в продакшн коде, опять же тут надо
227: Сразу дать контекст. Я как-то большая часть кода, который я в своей жизни там писал, там руководил и так далее. Это мобильная разработка. Вот, и в мобильной разработке, особенно в её айосное части, люди по нездоровому повёрнуты, ну, практически
228: Каждый айосник у неё. Ну, если он на вайбере дошёл до сеньора, дошёл до сеньора и не придумал свою собственную архитектуру. Короче, Вон из профессии, вот почему это на самом деле черта как бы не только ios, далеко не уникальная, окей.
229: Для этой отрасли, к чему, к чему я это веду? К тому, что, собственно, вот эта вот история про архитектуру и про достаточно жёсткую спецификацию, именно архитектурную кода, она как будто бы приводит к тому, что вот, вот те самые вот трассиру
230: Тот самый дизайн, на самом деле, вот это вот, вот эти договорённости, это попытка снизить необходимость вот этого предварительного дизайна в начале и условно попытка сделать так, чтобы 80% фичей могли быть реализованы.
231: Ну, типа все знают, мы вот так вот делаем, вот так у нас выглядят сервисы, вот так у нас дата слой, вот так мы вёрстку делаем. И попытка это свести к тому, чтобы даже вот как вот по старинке мы могли дать какую-то спецификацию описания, именно продуктовые требования, там плюс дизайн.
232: Дать мидл разработчику и о, и получить код, неотличимый от кода, который написал бы сеньор в такой же самой ситуации. Вот из за этого вопрос возникает. Означает ли это то, что для там 80% вот как раз
233: Такого вида задач, где вот, по сути, вот эти вот все там требования, вот эти все решения уже были давно приняты на старте на уровне вообще архитектуры. Вот во всех этих задачах сдд на самом деле не нужен, нет, а что мы тогда в спеке?
234: Пишет, ну, как бы юзал контекст виндоу, то оттуда никуда не делся. Ну, то есть мы туда просто берём пердикку и, а значит, давай вернёмся обратно, да? Так.
235: Значит, чтобы узнать у человека, что ему нужно. То есть интент discovery. Угу. Никакой там спект дривен не нужен, это все как бы выше по течению происходит, правильно? Это все равно какой-то там диалог с лебом, там, с другими человеками, там хрен его, пойми.
236: С кем ещё, значит, дальше, чтобы собрать, значит, контекст по коду или там по файлам, которые ты написал уже контекста, да? Ну вот именно вот весь контекст, который 1
237: Понадобится, чтобы это реализовать. Это пока ещё тоже не спект, дривен, правильно? Но тем не менее, кто-то должен это пойти и сделать. То есть в худшем случае у тебя кодинг Гезин пойдёт этим заниматься, он спалит, как бы характерно, там, 70000 токенов на это дело, но
238: Мантам, кодобазе. А дальше, собственно, вопрос. То есть, если у тебя всем этим занимается 1 и та же сессия, то это накладывает, ну как бы отпечаток, во первых, на размер изменения, который ты можешь сделать в этой сессии, во вторых, на качество, потому что, как ни крути, как бы она плыть
239: Понятно, скорее всего, в этой сессии уже мы ничего делать не будем. Надо как-то этот весь, все собранные знания аккумулировать и просунуть в следующую. А это уже siri. Окей, прикинь, как здорово, нормально. Ну да, то есть даже
240: Когда ты пишешь, так сказать, там вот в середине сессии, но до того, как ты начал кодировать слэш компакт, это что? Угу. Спеки девелопмент, так, потому что это, так сказать, компакт сешн, это и есть spec, этот момент. Ну, это, конечно плохой спёк, но это spec короче.
241: В этом мире спеки я понял, я вот вот кроме кода отличный, отличный разгон, я как раз хотел прийти тоже с мобильным сценарием, то, что тут мы какие-то обсуждаем там spec, Ривин, девелопмент, токены, за которые мы ещё и платим.
242: А если там ещё не подписка, мы за каждый токен платим вообще камон. Что вообще происходит? Какие-то спеки писать для этих, для кремниевых Мешков? В чем, в чем ваша проблема, ребят? И мы даже для людей такого не писали и в мобильной разработке.
243: Мобильной разработки. Частенько команда как фигачит, приходит дизайнер, дизайнер берет, рисует классненькие мок апики. С другой стороны приходит техлид, говорит о том, что так у нас Клин архитекта сверху. Короче, вайпер делаем. И вот на вход
244: Разработчик получает вот это вот в контекст и начинает там новый flow хреначить по соответственно по вот этой спецификации и все. У меня вопрос может быть он все-таки порисовал какие-нибудь стрелочки и квадратики минут 15 перед этим?
245: Я надеюсь хотя бы в голове у себя ног обычно нет. Ну да, ну да. Ну тут, тут, просто, тут просто для каких-то стандартных фичей, где нужно написать, сделать очередной списочек, плюс детали, загрузить их из сети и положить их соответственно.
246: Базу, во первых, есть все вообще компоненты. И тут, тут как бы правильно, то есть стрелочки, квадратики живут у тебя в голове в этот, да, вот, и вопрос такой. А вообще вот в такой сессии получается это тоже. То есть, правильно ли я понимаю, что
247: На сдд в том числе, хорошо ложится сценарий, когда мы в качестве контекста берём и подрубаем эмсипи какой-нибудь фигме условной. Или мы перед этим должны сделать у нас про ес, если мне память не изменяет. Ну, соответственно, мокапы, которые сделали дизайнеры, или это опять история?
248: Вот предыдущего шага, когда вот мы подготавливаем спеку, и мы вот, вот этот весь дизайн, мы его туда вот втыкаем, чтобы как раз вот написать хорошую спеку. То есть если у тебя кодинг эйджинг начинает смотреть какие-то скриншоты, не дай Бог, это, в общем, плохо, потому что скриншоты
249: Смотреть это очень дорого. И, соответственно, опять же, то есть у тебя есть бюджет 100000 токенов, ну, условных, да, там самой выше, но, тем не менее, значит, ты этот бюджет очень быстро спалишь, если, так сказать, у тебя кодинг агент, так сказать, будет смотреть именно на пиксели, поэтому на
250: Пиксели должен смотреть кто-то другой, а kodi агенту уже должно быть сказано, что типа там вот чтобы получились какие надо пиксели, надо сделать вот такой-то контейнер, вот так-то его там, ну конкретно эмсипи-ка, она там передаёт структуру.
251: Структура там с вложенностью, с контейнерами, со всеми констрейты и и всем остальным. Поэтому это, наверное, лучшая информация с точки зрения кода. Ну, в общем, это на самом деле, вот про фигму конкретно. Я вообще про юэкс я мало чего знаю, потому что я им почти не занимаюсь.
252: Вот, поэтому, да, я не тот человек, у которого надо спрашивать, как именно вот пиксели делать красивые. Ну, в целом, вообще, в принципе, умел когда-то, но это давно было в целом, да, Стас, отвечая ееще, дополняя этот вопрос, как будто бы я не видел пока ни 1.
253: При девелопмент подхода, где прям вопрос, юай прям хорошо был бы решён, потому что, ну, вообще агенты юай, это, по моему, 1 из самых больших Головных болей, не очень хорошо решённых. Ну это печально, да, реально не есть решения, которые лучше, чем
254: Как бы ругаться и плакать там, если ты как бы год поругался и поплакал на эту тему, то когда тебе приносят это решение, то, в общем, это ты испытываешь релиз такой конкретный, я много таких людей, в общем то, видел. И, ну, в принципе, это, ну,
255: Так, чтобы прям вот после этого вообще перестать плакать такого нет ну там обычно типа все колеблются между 2 полюсами из того, что я вижу полюс номер 1, это сначала сделать так, чтобы у тебя была классная дизайн система pixel perfect со всеми заведёнными компонентами в
256: Дальше в спеке ты оперируешь компонентами, вот либо 2 лагерь говорит такой да насрать на этот ui че то похожее сделал и нормально то, что выглядит не очень красиво, красиво в нашем век ничего не значит вот я 2 лагеря знаю.
257: Блин, короче я вот я с тобой с 1 лагерем соглашусь красавчики, молодцы, все делаем дизайн систему 2 лагерь мне кажется он все-таки другой. Нету проблемы в том, чтобы сделать дизайн похожий на то, что у тебя в фигме есть и там есть + 100 500 способов, начиная от того, что ты mc.
258: Подрубаешь отдельно, им ещё отдельный налог, платишь за использование токенов. Это какая-то вообще новая, новый уровень жадности. С другой стороны, ребятам надо выживать. Вот. Но там агенты очень круто генерят, потому что там передаётся не пиксели, там передаётся именно структура, ну то есть вложенный
259: Контейнеров друг друга и вёрстка получается хорошей, в худшем случае вариант для бедных это соответственно экспорт в формате html, а все, ну собственно, что может быть прекраснее для агента, чем html, сколько на каком количестве html они вообще в своей жизни научились. Правильно, поэтому они
260: Тоже генерят достаточно отдельный тонкий вопрос, да, был ли это хороший, да, и плохой это был там не важно, важно, какой результат получился и результат получился хороший. То есть он, в конечном счёте, он смотрит на
261: Генерит код на юаном фреймворке соответствующую. Ну то есть, по крайней мере, вот то, с чем я игрался, то, что он там swift ui, он, например, хорошо генерит, компоуз неплохо и так далее. Вот, но тут опять вопрос в том, что получается, что это немножко дальше, и оно как будто
262: Немножко конфликтует со спекой, потому что в этом случае дизайн, вот эти мокапы в некотором смысле являются важной спекой, которые они должны как-то соотноситься и чего уж там брать и описывать в этой спеке расположение между собой объектов.
263: Ну, это не самая лучшая идея. Ну, то есть, если мы попытаемся взять, подожди, подожди, стоп, а это Спека какого уровня? История эпик или проект? Я чувствую, нам пора поговорить про, про то, что там вообще в спеке написано, потому что мы очень, мы, мы
264: Это разные люди. Абсолютно. Ага. Прежде чем, значит, я бы хотел чуть чуть отмотать назад.
265: Эту ленту, значит, вот ты сказал, что да, мы как бы, пока писали руками, нам, в принципе, спецификации такого уровня детализации, там каждый божий день, там по 5 раз не нужны были, потому что, значит, у тебя, как правило, да, стрелочки и квадратики уже живут в голове.
266: Про там подавляющее большинство задач. Ну а если как бы не живут, значит ты садишься и их рисуешь правильно. Но это у тебя, а у клода, а клод только что проснулся, ему сообщили, что он клод. И, соответственно, если где-то не написано, что, а стрелочки и квадратики здесь должны быть вот такие. Угу. То.
267: Ему надо как минимум пойти полазить как следует по коду, попытаться понять, че там за стрелочки и квадратики. И у него это довольно плохо обычно получается, ну как получается, но вот если именно там вот эти стрелочки, квадратики важные, а эти фигня, вот это он не умеет.
268: Ну, в системном пронте пишем, там чистая архитектура в системном проте пронте пишем чистую архитектуру, вайпер модуль сверху фигачит и так далее. Угу. Все. Ну и, может быть, этого и хватает, а может быть, и нет.
269: Когда, как опять же, как бы все зависит от контекста проекта, большой он или маленький, там все одинаково или не все одинаково. Сложность там есть какая-то или нет никакой. Так я предлагаю двинуться дальше, затронул вопрос про то вообще, юай, является ли зоной ответственности?
270: Спецификации или нет? Мне кажется, нам надо поговорить в целом про спецификацию вообще. А что в спеках стоит писать? А что не стоит? И вообще, если важна ли вообще структура спеки или пофиг можно сплошным. А ты про какую спеку говоришь?
271: Все, о, хороший вопрос. Давайте сначала про маленькую.
272: Значит, про маленькую спеку, на самом деле, вот именно про маленькую мы знаем довольно много по 2 причинам. Во первых, там миллионы уже сейчас людей, как бы их там пишут по 30 штук в день. И во вторых, как бы именно на этом уровне, в общем то, академический ресерч, так сказать, он, ну вот.
273: Это вот статейки в архиве, они, в принципе там попадают куда-то туда.
274: То есть, если вот про это где-то, в общем, там какие-то люди, там, в каком-нибудь университете, чего-нибудь в коллаборации с антропка написали статью, то это, в принципе, это самое. Потом, когда ты это берёшь и тянешь к себе.
275: Своё решение, оно, в общем, обычно стреляет на этом уровне. Значит, что мы знаем вот на этом уровне, про это про все, во первых, как ни странно, значит, самое главное во всей этой истории, что мы знаем, что она должна быть определённого размера конкретно, значит,
276: Если это of intent, то есть это как бы там описано, что хотел человек от этой сессии, то это 300 токенов максимум. Значит, это может звучать на самом деле как типа очень немного, но вообще то это 2, 3 страницы текста, нет.
277: Подожди, не подожди. 300 токенов это да, 300 слов и 3 страницы текста, это 1500, да, это, это полстраницы текста. Значит, если я не могу тебе в полстраницы текста объяснить, что мне от тебя надо, то это уже это самое, значит, интент большего размера.
278: Чем 1 история почти всегда, ну, опять же, мы не говорим, как бы, на абсолюте, да, то есть нету там никаких Заборов там, которые, типа, о, 301 токен свободен, это типа, уже сразу 2 истории. Ну, нет, да, но тем не менее, вот где-то оптимальный размер именно на
279: Намерений человеческих, это токенов 300 оптимальный размер всей спеки целиком как бы вот того, что именно вставляется в начало сессии коддингом, это где-то 1500. И вот про это есть на самом деле довольно много исследований.
280: И, ну, в принципе, как бы, с моими, значит, чуйкой личным опытом и, как бы сказать, вот я вот это прописал там, в какой-то момент, а дальше там, ну, я не знаю, сколько миллионов раз это было в разных местах, на разных контекстах исполнено.
281: Были люди, которые ко мне приходили и говорили, что это мало, но, в общем, я их обычно переубеждал, что это у них че-нибудь в другом месте не так, так. И что же тогда в эти пишется, в этих полутора тысячах токенах? Вот теперь значит, что в эти 1500 строк
282: Токена, в смысле, пишется. Продуктовые требования, пожалуйста. Вот, пожалуйста, пусть там будут продуктовые требования, пусть продукты живут. Нет, подожди. Значит, зачем там жить продуктам? Продукты живут в интенте, да? То есть, вот продукт, как бы тебе объяснил, что нужно. Угу, угу. Это
283: Именно интент. Все, я понял. Да, да. Значит, то есть, как бы, в чем идея, значит, вот в идеале, когда у тебя есть именно пленнинг сешн, тот, который пишет спеку, значит, после того, как у меня предложение, у меня гениальное предложение, у меня гениальное предложение, я предлага.
284: Разыграть, разыграть. Вот это вот по шагам. Ну то есть вот пришёл продакт, это долго будет долго. А quik, прикинь, 1500 токенов это 3 страницы. Вызываю команду. Quick. Спёк нету команды. Quick спёк померла. Давно уже есть команда квике там.
285: Все происходит внутри по шагам, там все просто. 1, что там написано, это типа, узнай человека, что ему надо. То есть, ну как узнай, либо посмотри как бы вот в тот промп, который вызвал этот скилл, либо посмотри, так сказать, в предыдущий контекст, либо
286: Собственно, если ни там, ни там ничего такого нет, спроси у человека. Вот. И продолжай спрашивать у человека, пока, в общем, не станет все понятно. Потом, значит, напиши это все там приблизительно 300 токенов, не сильно больше.
287: Потом, значит, запускаем субагента, которому сказали, субагент, ну, там, на самом деле, там, про субагента, про следующего, там вообще 1 строка, там просто написано, типа, пойди вот так вот вокруг, типа, поводи жалом, так сказать, посмотри, что на самом дел.
288: Будет нужно, чтобы спланировать имплементацию этого намерения, то есть исполнение этого желания. Вот иди, ищи. Значит, дальше ллм ищет сам, как бы раньше про это там было прям много параграфов, так сказать. Но вот опус 4, 7 приблизительно
289: Он уже ничего этого не требует, он как бы сам отлично справляется с этой задачей на, ну хотя бы примерно нормально организованном коде, где как бы все понятно, логично и по полочкам разложено. Я все-таки хочу разобраться.
290: Не нужно для Тупых. У нас, у нас есть вот какой-то верхнеуровневый хотелка на уровне, допустим, продукта, да, он приходит с верхнеуровневой задачей. Мы, например, пилим бонусную систему теперь вот в нашей, там, системе, в нашем, там, не знаю,
291: Угу. Бонусная система. Ну там без деталей. То есть он написал там детали, как это должно работать. Но верхнеуровнево человек че то покупает, мы ему немножко Бальчиков насыпаем, насыпаем. Дальше. Это получается вот этот вот текст, весь написанный, он, как я понял,
292: Попадает в интент, правильно это не звучит как интент размером в 1 кодинг сешн.
293: В смысле, он слишком большой. Это, скорее всего, как минимум, как минимум, эпик. Окей, в реальной жизни. Окей. Хорошо, может быть и больше, потому что у тебя сразу как бы вылезает, что их надо репортить где-то, да, их надо на самом деле, где-то правильным образом учитывать, там должен быть какой-то
294: Медленный секьюрити вокруг этого всего. Ну, короче, это, это работа на месяц вообще то.
295: Так, по уму то, ежели вот, ну, соответственно, то есть это плохой пример для coding сешн это хороший пример для проекта.
296: Окей, мы делаем ладно более простой. Мы нам нужно на мы показываем какие-то сущности мы хотим сделать новый вид фильтров. Фильтры по, я не знаю там по мы делаем поиск предложения, поиск, поиск авиабилетов и
297: Хотим добавить фильтр количества пересадок, да, вот, вот это, похоже уже. Ну, то есть это продуктовые требования. Продукт пришёл такой, говорит, вот такой пилим, да? Ну, это, скорее всего, все-таки больше 1 истории. Ну, в принципе, похоже. Угу. Так, дальше. Ну, почему это больше 1 истории? Потому что там это само
298: Есть как бы, ui сразу немедля обязательно вылезет какой-то. Угу. И есть backend, который сразу немедля обязательно вылезет какой-то. И тебе, скорее всего, сначала хочется сделать простой бэкэнд с примитивнейшим юаем. Ну, чтоб было, да, потом тебе.
299: Скорее всего, хочется, может быть, сделать на самом деле не примитивный юай, где там в простом бэкенде просто затычки стоят везде, а потом уже, собственно говоря, сложный бэкенд или наоборот. Вот. Но именно опять же, см. Выше про трейсер буллит, так сказать. Сначала тебе хочется все это прострелить там
300: Угу. Через все слои, включая там persistence, отит, там все что угодно, а уже потом наращивать, так сказать, мясо. Соответственно, это видимо будет больше 1 истории. А какие в итоге вот спеки получаются, какие спеки там по дороге будут сгенерированы и что там?
301: Требует, какие они констрейнты будут задавать. Ну вот смотри, то есть про кодинг сешен, да, это значит, интент на 1 кодинг сешен. И дальше там, ну, как бы, вот у меня, на самом деле, в этом, у нас в beam есть этот спёк, тимплейт, там
302: В принципе, как бы практически каждое слово в этом темплейте написано кровью, так или иначе. И, в общем, там получилось в итоге примерно так, что, значит, сначала там идёт интент, потом там идёт. Ну, я сейчас из головы говорю, могу на самом деле пойти.
303: Посмотреть. Ну, примерно так. Значит, что там идёт этот инпут аутпут метрикс, так называемый, на самом деле, это просто как бы, некоторый набор правил, что если на вход прилетело, вот это на выходе должно быть, Вон, то. Угу. Покрыв
304: Как бы, типа, аля такой верхнеуровневый, мы тесты как будто описываем, да? Ну, это ещё не тесты, но из этого, да, из этого, прото, тесты, тесты, да, да, да. То есть мы описываем, по сути дела, как же это, блин, ну, требования к системе, господи, по-русски то.
305: Называется. Ну, в общем, мы, конечно, и так наполовину по-английски говорим. Сейчас, короче говоря, это значит, у тебя есть какие-то вельюс, у них есть какие-то domain, баундери, если
306: То есть у тебя есть общее множество всех возможных значений чего-то, да, вот если оно как бы вот в эту категорию попало, то вот так должен выглядеть выход здесь. Если в эту вот так, значит, то есть все требования, какие ты можешь на самом деле перечислить в таком виде надо
307: Перечислить именно в этом виде. Почему? Потому что они напрямую как бы мелятся сразу, в общем, в код и в тесты, да, то есть это самое простое, как оказывается, на самом деле, выражение требований к кодинг сессии есть 1 маленькая проб.
308: Проблема, что не все требования можно выписать в таком виде. Вот есть на самом деле обычно ещё какие-то акцепт, которые не про ввод и вывод.
309: Соответственно, как бы за этим ты пишешь все остальные типа access, да, которые для этой сессии важны. Возвращаясь, возвращаясь к нашей истории, к нашему примеру, про вот про, соответственно, пересадки, мы будем говорить о том, что
310: Допустим, задаём направление какое-нибудь авиа и говорим о том, что при фильтре 0 пересадок мы обязательно должны все сущности, которые мы показываем, все перелёты, которые мы
311: Они, в них должно быть указано 0 пересадок. Это 1 инпут аутпут метрикс роу, да? Угу. A2 это какой? Что мы делаем, когда их нашлось? 0? Окей, нормально. A3 это какой? Что мы делаем, когда их нашлось больше 5? Ну, или там, 20.
312: Не знаю, сколько у вас там на экран влезает. Понятно? Да, понятно. Вот это все, вот оно. А это получается, общая Спека будет для, ну, то есть это, это требование, оно, кажется, общее, оно вообще не изменится у нас. То есть мы говорили сейчас про какие-то условно, стадии, то есть у нас в начале там
313: 1 star, мы там, она трейсинг, соответственно, потом мы уже там делаем развесистое юай, потом развесистое, например, backend. Правильно ли я? Ну и у нас, и у нас вот эти требования, они вообще не изменятся, они универсальные для всей
314: Для всей вот этой вот фичи, для всей, для всего этого эпика там, да, только они разобьются на эти истории, потому что ты в 1 истории не будешь их имплементировать. Все. Ага, окей, я понял. Скорее всего, вот, соответственно, у тебя как бы и получается на самом деле, что когда ты как бы берёшь какой
315: Не больше, чем 1 история, да, и ты выписал для него все требования, какие смог придумать вот примерно по такой же схеме, ну или можно, в принципе. То есть вот на том верхнем уровне как бы работает. И вот эти все это самое, антропоморфные штуки, типа
316: ИНН, вот эта вся, в общем, тема старая, значит, оно работает, как бы там уже на самом деле становится гораздо важнее, как это читает человек, потому что ты же там на самом деле свой собственный будешь ещё как бы вклад вносить.
317: Довольно большой, да, там, чем выше Спека по уровню, тем больше твоего вклада, там. Угу. Тем важнее, на самом деле, что вот того уровня Спека, она читабельна. Угу. Для человека. Вот. А как бы, Спека уровня истории, она, во первых, маленькая. То есть, ну, 3 страницы максимум, да.
318: Вот, и во вторых, как бы там все-таки мы прям строго её затачиваем на кодинг агента. А то, что её человек, может там когда-нибудь прочитает и что-нибудь про это подумает, это хорошо, но побочно. Вот. Но тем не менее, то есть, когда у тебя есть интент на epic, то когда ты его пилишь на
319: На самом деле истории, ты же там прям в историях, вот в этой распилке прям пишешь, что вот эти вот акцепта мы закроем вот здесь, потом вот эти ещё в следующей, а вот эти ещё в следующей. И вот только когда на самом деле там придёт история номер 3, у нас эпик закончится, потому
320: Потому что мы все акцепт на скатили, закрыли. Ну или там, может быть, там ещё какой-нибудь будет, там, не знаю, последний, так сказать, проход, когда мы там че то ещё сделаем в 4 истории, но уже не про это, про перфоманс, например, да, то есть наш огонь, стало ли понятно.
321: Возвращаемся спеке про кодинг сешн или не возвращаемся. Ну, потому что мы ещё не закончили, да? Ну, смотри, мы, мы сейчас разобрались, типа, условно с продуктовыми требованиями, что туда пишется, а что ещё попадает туда, в эту спеку? Вот сейчас и скажу. Ну, опять же, сейчас скажу, что в моих туда попадает сейчас, чтоб ничего не забыть.
322: Все написано, да, пока ты говоришь, я, наверное, попробую опять же, чуть чуть концептуализировать то, что мы сейчас сказали вообще в целом, как будто бы вопрос того, что писать в спеку, зависит, наверное, от ответа на следующий вопрос, что вы не хотите
323: Чтобы агент сам додумал и придумал за вас. Вот если вы не хотите, чтобы оно было придумано, оно должно быть написано, вот конец. А дальше, чтобы он за меня придумал, я вообще ничего не хочу. Ну не, ну боже упаси. Не, ну почему? Тебе же без разницы, он форлуп или
324: While цикл напишет для того, чтобы перечисления, а это не за меня, это он за себя уже придумал. Вот. Ну, ну, да, да, можно и так сказать. Вот, a2 шкала, про которую это кардинальная разница, в том-то и дело. Вот, a2 шкала, по которой мы принимаем решение, это то, как конкретно задачи, де,
325: Композирует. Я на кусочки, о чем вот сейчас Стас и Алексей много говорили. Вот, и это тоже ответ здесь каждый для себя найдёт сам, как будто бы вот есть беспрактис от алексея, но можно на самом деле, наверное, больше дробить, если вы готовы принять на себя больший уровень неопределён.
326: Дать агенту додумать больше деталей. Вот. И как будто вот этими штуками можно управлять, как такими слайдерами концептуализировал мысли, извлечённые из изречённые. Есть ложь, когда Алексей тебе рассказывает, какой беспрактис. Да, он рассказывает,
327: Как он делает, ну, половину времени, максимум 2 половину он делает не так, это ж понятно тоже. И причём, как бы, как он делал вчера и как он делает сегодня, это 2 большие разницы. Ну да, то есть можно как бы описать общие принципы.
328: Какие-то шаблоны, но потом все равно каждый сам под себя это все подбирает, безусловно. В общем, короче, следующее, что там есть важного, вот прям важного, это список вещей. Ну вот примерно так, значит, которые агент сделал
329: Захочет то делать их не надо. То есть ты как бы там конкретно описываешь.
330: Что не входит в значит, вот, вот в эту спеку. Зачем это нужно? Опять же, у ллов есть, так сказать, Фейлер мод такой, они начинают фантазировать там, ну, всякое разное
331: Дополнительные требования, которых им не предъявляли. Вот. И в этот момент, как бы, да, в общем, оказывается, что хорошо бы на самом деле, че то туда дописать, что вот этого делать не надо, вот этого делать не надо. А вот этого вообще не надо делать. Меня вот этот раздел как раз всегда в спецификациях очень сильно смущает, потому
332: Что всегда лмка, когда ты просто просишь без шаблона, типа, друг, напиши мне спеку. Он всегда вот такой пишет. None, голс нон скоуп. И там какие-то абсолютно рандомные вещи. Ну типа, что летающие пельмени. Да, да, да, да. И
333: Какие-то попадают абсолютно случайные вещи. Такой чешешь голову? Ну вроде правду написал. Вроде правда, мне это не надо делать. А почему ты не написал? Ещё проблема в том, что есть бесконе в мире, есть бесконечное количество вещей, которых не надо сделать в этой сессии. Ну то есть, окей, значит,
334: Серебряных Пуль нету, да, вспоминаем этого фреда нашего брукса здесь тоже серебряной пули нету, но, значит, есть Надежда, которая, ну, в принципе, как бы подтверждается практикой хотя бы отчасти, что вот этот список, значит,
335: Летающих тарелок, которые не надо делать, написаны лэмом. Он как-то соотносится со списком летающих тарелок, которые эта ллм сама бы начала делать, если бы ей кто-нибудь не сказал, что этого не надо. Как бы самое большее, что я могу предложить в этом месте. Я вот слушаю про то,
336: Как бы, как надо написать вот эту спеку. У меня как-то это вызывает ассоциации с тем, что надо в этот момент одеть шапочку такого опытного тимлида, и ты выдаёшь задачку там не очень опытному разработчику и, но нос
337: Очень, который с бесконечным энтузиазмом. Вот. И тут как бы основная, основная задача, основная задача в том, чтобы, да, да, да, удержать его просто, да, в том, чтобы, как бы показать, докуда докуда копать, чтобы как-то результат получился.
338: Предсказуемый, потом там ещё есть такой тоже вопрос интересный. Я не знаю, если честно, на него ответа, но это сложный вопрос. Значит, где надо писать примеры?
339: А где абстрактные правила? Как бы обычно у меня там стоит инструкция, типа, что напиши абстрактное правило, там предельно просто, а потом, как бы, если оно хотя бы чуть чуть сложное, подкрепи его парой примеров. Но, в общем, я понятия не имею это.
340: Правильно или неправильно? Ну вот где-то там, ну и последнее, что там должно быть, собственно, ну почти последнее. Ладно, это, а там ещё, понятное дело, должны быть. Но фанкшн реквай, если они играют какую-то роль в этой истории,
341: Часто не играет никакой Роли, да, потому что мы там, допустим, перформанс, оптимизейшен, будем где-то ещё делать. Ну и понятно, что он все равно там чуть чуть про это думает, но именно там заряжать его на то, что надо его как-то там померить, в общем и так далее. Это очень большая работа, это лучше не надо. Вот, да, я тоже тут добавлю.
342: Это опять же, когда ты просишь лмку сделать тебе какую-то спеку, всегда включает нефункциональные требования. Это тоже жутко бесит. Вот мне понравилась твоя мысль про то, что включать их надо только тогда, когда ты действительно прицельно
343: Хочешь ими заниматься, значит, моя чуйка здесь тоже с этим совпадает, потому что я всегда удаляю, удаляю, удаляю, типа, да, насрать на этот перфоманс. Не, ну, знаешь, обычно их там можно просто оставить, и как бы, и ничего страшного. Но если там именно оно приводит к тому, что он начинает его мерить, д.
344: Это стоит ли оставлять вот такие найс ту хэв вещи, которые не прям не лазерно фокусируют агента на проблему, которую надо решить, потому что выглядит это как, ну, мусор какой-то словесный. Лучше нет, на самом деле. Смотри, вот я когда говорил, что 1600 токенов, да, это
345: Механизм, которым ты как раз заставляешь лмку, которая пишет эту спеку, выкинуть все неважное. Угу.
346: Ну, понятно, это грубый прокси того механизма, но ничего лучше в жизни все равно не придумано, поэтому хотя бы так. Окей. А, ну и, собственно, это самое, значит, этому кодинг агенту. Мы же когда планировали, да, мы прошли там по какому-то контексту, причём
347: По большому, значит, ему бы хорошо бы в этом месте сообщить, что типа, прежде чем начинать кодировать, прочитай такие-то куски таких-то файлов, вот, чтобы он как бы без всякого поиска сразу туда зашёл, как бы загрузил бы это себе в мозг вот эту белую стену.
348: Где написано, что ты, Вася, вот. И дальше уже, так сказать, ну хотя бы есть Надежда, что он не полезет там читать ещё 1000000 каких-то файлов, прочитав вот эти 3, потому что 1000000 файлов уже кто-то до него прочитал и решил, что нужны именно вот эти, нужен скилл, который
349: Будет и как-то в зависимости от того, кто будет ревьюить, подставлять куски кода именно человека, который он потом, если что, не смог докопаться. Подожди, а есть ещё 1 большой важный домен, который как будто бы может быть в спеках это то, что касается
350: Того, как делать эту задачу, это архитектура, это какие-то технические, имплементационные решения, системный промт, где-то тут или нет. Не, не, не, смотри, системный промт это вещь как бы, ну, во первых, системный промт, это вообще абстрактно, да, это не про проект совсем, значит,
351: Есть, понятное дело, у тебя контекст проекта, то есть это там какой-нибудь там клод Эмди или ещё что-нибудь, так сказать, где, в общем то написано вот все, что каждая сессия должна знать про этот проект. Скорее всего, там не написано про архитектуру как таковую.
352: Там просто написано, что если тебе надо узнать про архитектуру, прочитай вот этот файлик, ну progressive discovery, потому что в общем далеко не каждой сессии вообще надо знать про архитектуру, зачем значит знать про вообще архитектуру, кодинг агенту как правило.
353: Тоже не надо.
354: Тому, который планирует часто надо, обычно надо вот тому, который кодирует, в принципе, достаточно сообщить, как бы сказать, ну то, что ему, собственно, надо знать. То есть у тебя есть там, грубо говоря, допустим, у тебя в голове там 100 коробочек и 2
355: Стрелочек, а этому агенту надо там 3 коробочки и 2 стрелочки. Вот остальные ему в принципе и не нужны, если он начнёт их сам себе, так сказать, куда-то грузить. Это, в принципе, печаль. Ну опять же, самой выше у тебя бюджет не резиновый, далеко токены.
356: На контекст. Вот, значит, там вот какая штука. То есть, да, такая секция там есть, она короткая совсем, как правило. Ну, потому что интент у тебя маленький, и, соответственно, изменение тоже небольшое, но там ещё, значит,
357: Написана такая инструкция для планирующего агента. Ну, у меня написано, и это, в принципе, вроде как хорошо работает, что не надо принимать решения, которые должен и может из своего контекста принять.
358: Потому что часто у тебя в спеках, когда они тоже генерятся ли? Ну, они сейчас, собственно, всегда генерятся лэмми, вот эти уровня 1 сессии. Угу. Там, на самом деле, этот, это, кстати, плен мод этим грешит со Страшной силой, он пишет.
359: Такую спеку, после которой, в принципе, кодинг агент уже не нужен, потому что там, типа, все написано. В итоге она получается, во первых, огромная, во вторых, как бы он уже там часто поплыл. Вот, ну, справедливости ради, план мод я не использовал приблизительно 100 лет назад. Угу. Последний.
360: Раз, поэтому я не знаю, как там сейчас, на самом деле, не знаю, но раньше было так. Раньше план моды очень грешили тем, что они как бы кодировали, по сути, только в мадаме.
361: Вот, а здесь как раз это, то есть тебе нужно его загрузить правильным контекстом, а дальше пусть он сам себе думает, как это писать в коде. Окей, ему там, ну, скорее всего, надо сказать, что писать надо вот в этом файле и вот в этом файле, а что именно ему как раз лучше бы не говорить, потому что собственн.
362: А тогда зачем нужен консешн то, чтобы там каким-то не очень идеальным образом, в общем то это переписать код уже написанный в маркдауне, в там какой-нибудь до gs тоже плохо, да, то есть именно как раз это, ну,
363: Опять же, это такая идея прогрессив discovery. Есть, наверное, все уже знают, что это такое. Ну, я думаю, да, я нет, смотри, значит, когда ты агенту сообщаешь о чем-то, не вот как бы именно вот, вот тебе, типа, 100 коробочек, 200 стрелочек.
364: А именно в формате, что если тебе понадобятся знания о коробочках и стрелочках, его можно прочесть в таком-то месте. Вот, а дальше лм уже сам решает, нужно нам это или нет. Окей. Ну, они ещё, как правило, на самом деле решают, что мне нужно вот эти 20 и там
365: Соответственно, понятно. Так или иначе вырезают это, потому что они тоже как бы уже натренированы. В принципе, экономить контекст довольно нормально. Так, ну вот так, так я предлагаю с этим примерно понятно. Я предлагаю двинуться дальше и быстро. И напоминаю, мы обсудили пока вот только спеки уровня сессий.
366: Давай быстро расскажем, чем отличаются спеки более высокоуровневые, давай расскажем. Значит, спеки более высокоуровневые, они про что? Ну, во первых, это контекст, который идёт на входу агенту, который планирует спеку
367: Менее высокоуровневый, это, собственно, их главная роль, по большому счёту, да, запятая, но у них есть ещё на самом деле 2 Роли, которые, ну, как бы, накладывают на них абсолютно неизгладимый отпечаток. Во первых, именно
368: На этом уровне, так сказать, тебе хочется потратить много своего времени и внимания. И, соответственно, в общем, все, что там происходит, оно должно быть заточено в 1 очередь на человека.
369: То есть это ещё контекст для человека в каком-то смысле. А человек это совершенно, в общем, в этом смысле другая штука. То есть он, с 1 стороны, он очень много чего держит в голове конкретно про этот проект, да, он, ну, я не просыпаюсь каждое утро и не вижу белую
370: Тёну, где написано, там тебя зовут Алексей. И вот твои задачи на сегодня, да, я это помню ещё там. Да, да, да, да, да. Но с другой стороны, у меня, у меня контекст виндоу, тем более usable, он вот такусенький. Ну, если это 5
371: Страниц текста это прям уже здорово. На самом деле, на 5 страницах текста я уже плыву в середине, только в путь, понятное дело.
372: Вот, значит, соответственно, а зато на самом деле, кстати, я очень хорошо умею видеть, ну, смотреть на это визуальные представления, а ллма не умеет. Вот. Поэтому именно на этом, значит, уровне, как бы, сказать, абстракции.
373: Вот, ну, размера предметной области, да, когда мы уже говорим не про 1 колдинг сешен, а про несколько, а тем более про 100, там, на самом деле сильно начинают рулить всякие графические представления. Вот те самые коробочки со стрелочками, если я смотрю вот так вот на страни,
374: Где нарисовано там 10 коробочек, 30 стрелочек или, значит, я смотрю вот так вот на такую же страницу, где они там написаны словами, то, в общем то, это на странице, где они нарисованы, я
375: В общем, проблему увижу сразу, скорее всего. А на странице, где они описаны словами, ну как пойдёт, мы тут в выпуске про про этот, про корреляции, я внезапно узнал для себя то, что, ну, у меня тоже
376: Вот, но нам там гость сказал, что это на самом деле не так. И есть куча людей, которые в голове очень плохо себе представляют стрелочки и кружочки. И, в общем, в общем, есть разные люди, да, значит, именно поэтому на
377: На самом деле, в общем, стрелочки и кружочки это как бы сказать, ну короче, вот чем выше уровень этих самых Спеков, да, тем оно начинает все больше и больше отличаться друг от друга в разных контекстах, для разных
378: Творческих коллективов, так сказать, юзеров там, целевых аудиторий и так далее. Но, значит, есть ещё 1 момент, что вот эти спеки более высокого уровня, они мало того, что они идут на вход этим сессиям следующего уровня, да, они
379: Ещё на самом деле идут на вход оркестратора какого-то, ну или там меня, который запускает эти сессии руками, или собственно, оркестратора, который на автомате это делает. Соответственно, у них ещё есть 1 роль, это расписать последовательность и параллелизацию.
380: Выполнение этих задач, я project такой, ну, в каком-то смысле, да, то есть, когда я пишу, например, значит, спеку на проект, который там, ну, скажем, если он разбит на эпики, то это там, допустим, ну, с десяток эпиков, да, там, рабо,
381: Работает такой же самый подход, что ты говоришь? Окей, ребята, давайте, значит, как можно больше дизайн, ну, этих решений по внутреннему дизайну, неопределённости унесём влево. А после этого ещё подумай, как это все можно распараллелить. Угу.
382: Вот внутри эпика я никогда не параллелю, практически никогда, потому что, ну, нету смысла обычно, а между эпиками оно на самом деле довольно здорово получается часто. То есть ты там, грубо говоря, сказал, там какому-нибудь этому оркестратору, типа,
383: Вот на этом эпике номер 4, так сказать, сторис, там 2 по 10 иди и делай. У меня это займёт полтора часа, эти полтора часа. Я могу на самом деле, в этот момент заниматься там эпиком номер 5, потому что я, когда планировал спёк проекта, я прямо
384: Выписал там в последовательности эпиков. Это не просто как бы список эпиков, а это именно список зависимость. Вот. И это тоже такая важная роль спеки. Теперь, значит, про спеки это моё лично мнение, оно как бы для меня работает. Я вообще делаю так.
385: Особенно на уровне проекта. То есть, когда это там, ну, типа, там 3 тире, 10 историй, я сильно не заморачиваюсь. В общем, в имеде есть скилл под названием бимет спёк, значит, я просто запускаю этот скилл, он, в общем, все делает как надо.
386: Да, и там все прекрасно, если это именно проект большой, да, там, как правило, в начале много неопределённости.
387: А в конце, на самом деле, тебе нужно про этот проект объяснять как бы самым разным целевым аудиториям, часть из которых это сессии ллмне, другие, да, а часть из которых люди, люди тоже разные, в том числе ты сам на самом деле. Вот, поэтому там я делаю, в принципе,
388: Так, ну как бы, с точки зрения парадигмы примерно, значит, сначала у тебя есть груды какой-то, точнее так, сначала у тебя есть интент вообще то, опять же, самый выше. Это, как правило, полстраницы, максимум страница текста, ну, которую ты там как-то родил.
389: Да неважно, как там пошёл, поговорил с каким-нибудь там умным опусом, или сам написал, или тебе его как бы кто-то написал. Ну какая разница, в общем, интент и интент после этого, так сказать, я обычно, если это именно проект настоящий.
390: Значит, Иду и тем или иным способом собираю такие груды породы. То есть, либо это какой-нибудь диссер, пром, какой-нибудь джемини, который тебе там на 40 страниц диссертации напишет, там, кто кому Рубинович, да, вот так в этом мире, и там, в общем, среди этих 40
391: Страниц. Ну, может там будет там 5 здравых идей. Ну и хорошо. Вот. Или там я сам пошёл там, или с кем-нибудь. В общем, ну, что-нибудь такое, там, на брейнстормил тоже, в общем, там 100 дурацких идей, среди них 2 гениальные.
392: Нормально, в общем, хорошее соотношение на самом деле, дай Бог, если так каждый раз. Вот. А потом, значит, я из всего этого выделяю как бы главные мысли, причём, ну, по отдельности из каждой этой кучи, и это все, в принципе, опять
393: Про юзал контекст виндоу, кстати, потому что на этом уровне, там че получается, обычно люди вот собирают, так или иначе, эти кучи дальше. Ну, это если наивно это делать, засовывают прямо их прям вот так в там, какой-нибудь этот.
394: Генератор каких-нибудь там pr ди, все знают, что такое pr ди или нет продукт. И у них на входе, так сказать, получается, типа документ. Угу. И они думают, что это и есть, по сути дела, типа Спека этого проекта. Дальше вы
395: Выясняется на самом деле, че там произошло, когда ты эти, там кучи запихал, ты сразу раздул там, грубо говоря, контекст этак до 100 200000 токенов. Уже когда он начал про все это думать и пытаться из этого что-то сделать, он
396: Половину того, что он там увидел, забыл при этом, как бы, поскольку он не знает, что важно, что нет, мы выше упоминали, да, он плохо это знает. На самом деле, то оказывается, на самом деле, что из этой половины, в общем то, частично он забыл там вот 1 из тех 2 гениальных мыслей, которые
397: Там были среди 98 идиотских. Правильно? Так вот, значит, поэтому, как бы я делаю так, я на самом деле сначала пропускаю эти кучи через там дистиллятор, некий автоматический, который просто вот он смотрит на кучу такой
398: Ну вот, вот эта ключевая мысль, вот эта ключевая мысль, вот эта ключевая мысль, он как бы не знает, они на самом деле левые или нет, да? Ну в смысле идиотские или гениальные, он просто знает, что они такие, типа, гайдинг, фокс, то, что называется. Вот обычно их там получается,
399: Ну и со ссылкой, где на самом деле было написано про это вот в исходной куче, получается где-то штук 40. Обычно, если их все как бы свести вот так вот, и, ну просто дедубликацию сделать, потому что там же они повторяются все время правильн.
400: Там в разных видах, вот у тебя есть там, грубо говоря, 20, 30 этих самых гайдинг тос про эту идею. И вот тут, значит, ну, это так делаю я, значит, я начинаю эти гайдинг тотс, ну то, что называется.
401: Как бы сказать, укреплять. На самом деле. В общем, у меня пром про это есть у нас в бим аде уже, кстати, возник, мы его-таки донесли до туда.
402: Значит, ну, короче, вот по этому списку он уже там как бы, как-то классифицирован более менее, там, в каком-то логичном порядке, да, ну, чтобы смотреть сначала на, в общем, то, что потом, как потом это почему так нельзя?
403: Скорее всего. Ну вот каждая из этих идей, значит, мы на неё смотрим потом, как бы, либо у агента инструкция её атаковать, либо я атакую, у него инструкция защищать. Угу. Да, то есть вот этот вот Версари тако.
404: Динамика получается. Вот. И при этом, да, там может оказаться, что надо пойти где-то там ещё че то там в гугле поискать там или ну такое вылезают какие-то новые гадино. Тоже смысл в том, что в общем, в итоге на выходе
405: Получается такая странная штука, значит, худо бедно организованных там более менее в разумном порядке просто 20 очень Коротких параграфов про то, что мы тут собрались строить.
406: В этом месте оказывается, что вот из этого я могу сгенерить любое представление этого проекта, какое захочу.
407: Практически автоматом. Если мне нужен pr ди, я сгенерю пи арди на самом деле pr ди мне никогда не нужен вообще никогда, потому что, как бы. Ну, кому нужен pr ди, значит, тому, кто будет планировать, не нужен.
408: Ему можно просто на вход эти 20 хаддади отдать, да? Значит, тому, кто будет деньги на это давать, тем более не нужен парди, ему вообще нужно совсем другое. Ну и так далее, да, то есть там девелоперам, которые
409: Будут думать, как все это строить. В принципе, парди тоже не нужен. Ну, то есть, если надо там принять архитектурное решение, то этих 20 идей вот так хватает, так сказать, уже ничего не надо. Перди, нужен продукту, чтобы оправдывать свою полезность. Ну, господи, да пусть
410: Пишут pr ди, тогда, если им это нужно, как бы можно этот pierre de просто рассматривать в качестве 1 из Куч на ходе этого процесса, понимаешь? Окей. Ну, ну либо вообще как бы гениальный уровень, это заставить сам продакт им пользоваться чем то-таки.
411: Вот это прям здорово, когда так получается, не всегда получается. Вот мы говорили о том, это, ну, не в этой сессии, но тем не менее, значит, как это все продать трудовому коллективу, да, вот девелоперам это все продать просто, ну, по моему опыту сравни.
412: А вот бизнесам, это мамочки мои. Вот, вот, где страшная тайна золотого ключика содержится, им, да, тяжело. Угу. Окей. Так, получается ещё раз спеки вот такого верхнего.
413: Уровня. Это, по сути, такой верхнеуровневые ключевые идеи и интент получается, ну, в моём нынешнем мире, да, я сейчас делаю так, окей. Последние где-то полгода, наверное. Окей, понял. Так.
414: Надо ли нам ещё, ну, интент, да, обязательно. То есть, как бы, вообще вот это тут надо понимать, что эти 20, значит, ключевых идей там, ну, может, 50, там, не знаю, ну, как бы, редко 10 и никогда не больше 40 в моём опыте, там.
415: Когда ты их строишь, у тебя как раз интент кристаллизуется со Страшной силой в них. Вот просто в процессе представления хотел, хотел проговорить про как-то участие, участие непосредственно человека. Я услышал такие моменты, что, во первых, у нас
416: Чем более верхнеуровневая, соответственно Спека, тем большего вовлечения человека мы ожидаем, соответственно, идём от самого большого дальше, потом снижаемся все ниже, ниже, ниже на каждом из этапов.
417: Спека, она может там при помощи модели в том числе проливаться и там мы, соответственно, приглашаем человека в том, чтобы он, соответственно, как-то взял, подправил, выкинул там что-то ненужное, как-то доуточнил требования. Но условно, если мы работаем вот с этим методом, мы
418: Много работаем для того, чтобы сделать вот первоначально как-то загрузить себе в голову в контекст весь эпик, а потом уже на все более более мелких шагах тратим все меньше и меньше времени хотел не, не.
419: Совсем так. Ну, в моей практике это не так, так, а как, смотри, значит, в моей практике, если я вообще делаю проект, вот размера проекта, это происходит, ну, допустим, раз в месяц максимум. Ну, потому что у меня нету гринфилда, да, у меня есть как
420: Угу. На работе, значит, обычно я как бы имею дело со старыми проектами. Угу. В которые мы там все время че то добавляем или меняем. Значит, гринфилд у меня бывает, но довольно редко. Так вот, когда, значит, я раз в месяц, у меня возникает
421: Content именно размером там не на 1 epic а больше то да, я трачу где-то день на вот этот процесс потом значит когда у меня из вот этой штуки генерятся, собственно говоря, архитектура и список эпиков ну, поскольку у нас на самом деле проекты старые.
422: Там все уже и так понятно обычно. Поэтому это на самом деле очень быстро все происходит, когда я потом генерю спёк эпика это вообще практически автомат. То есть там вот тебе спёк проекта, вот в нём, типа, описан уже там, ну, как-то кратко, там epic номер 4, сгенери на него Успек.
423: Смотрел это прям, ну, полчаса, это самое большее, реально меньше. При этом у меня где-то полрабочего дня уходит на то, чтобы читать код, свой чужой код ревью. Угу. То есть, вот, как бы, вот такая практика, на самом деле. Ну, если говорить про спеки, получается опять, ну, примерно.
424: То, о чем я говорил, то, что мы платим дорого, а ну чем более верхнеуровневая Спека, тем больше нашего вовлечения, соответственно, на 1 спеку, да? Окей. Ну, просто понятно, что в 1, типа, спеке размеры проекта там
425: 40 спёк размером с историю. Угу. Поэтому в общей сложности, скорее всего, времени на них уйдёт больше. Но, ну, там у меня не было никогда, так сказать, в последнее время, там именно спёк размером с историю, на которые я потратил там 6 часов своей жизни. Спёк.
426: Размером с проект. Это, ну, вообще норма жизни. Это хорошо. Если если только 6. Так у меня есть ещё 1 вопрос по поводу спецификации. Мы его уже чуть чуть затронули. И это прям точно мечта. Вообще кучи людей, которые думают, проспект дривен девелопмент. Они такие думают, чт.
427: Мы вложили кучу времени в спики, а давайте не будем их выкидывать, а сделаем так, чтобы они всегда жили, были вечно зелёными, обновлялись вместе с кодом и служили бы замечательным контекстом для агента. Вот.
428: Примерно, Лёш, как ты говорил, комментарии. Только зачем комментарии в коде, когда можно целый подробный, классный, файликами? Ты сказал, что это все ещё технически, как будто не очень возможно. Можешь. Вот тут. Давай, давай так.
429: Представим, что технически становится возможно, имеет ли оно вообще смысл в процессе? Стоит ли нам ждать, когда такое появится, и надеяться, и мечтать об этом, мечтать об этом? Ну, смотря че хотеть от этой жизни, но, в принципе, можно. Угу. Я сильно
430: Сомневаюсь, что это появится как бы в ближайшие 10, 20 лет. Ну, может быть, кстати, штука. В чем, во первых, комменты в коде это вещь на самом деле, ортогональная коду.
431: Потому что в коде написано обычно как, а в комментах как бы, просто, почему, ну, это правильные комменты в коде выглядят вот именно так. Ну, плюс, понятное дело, если тебе нужно документировать какой-нибудь там публичный ипиа, это другой вопрос, да.
432: И в этом смысле, как бы комменты, они не являются абстрагированным представлением кода, они являются просто пояснением, почему это так, которое тебе нужно, чтобы, ну, не потерять, собственно, суть. Вот, значит,
433: Спека в этой истории. Ну, кстати, опять же, я говорю, то есть есть люди, которые так делают.
434: И у них это как-то работает. Поэтому все, что я сейчас, так сказать, скажу, это ни на чем не основано. Я так не делаю. Я принял в какой-то момент решение так не делать, потому что мне показалось, знаешь, на основании там чуйки.
435: Разговоров с другими людьми, которых я почему-то уважаю, да, что так делать не надо. Но, может я и не прав. Вот. Но тем не менее, значит, Спека в таком подходе это абстрактное представление кода. То есть это источник истины, печаль.
436: В том, что это как будет по-русски лосси, ну, с потерями. То есть там вообще без вариантов, на самом деле теряется информация. То есть мысль изречённая есть ложь. Здесь это работает точно также при этом, как бы
437: Поскольку механизм вот этой компрессии, это, по сути дела, ллм, который саамо выше, там плохо понимает, что важно, что нет, то и компрессия там получается тоже такая странная. Значит, что
438: Чтобы её удерживать там в каком-то более менее приличном виде. Ну то, что я вижу, как бы время от времени, просто глядя под капот, пенспектива оо, там куча, на самом деле, дикой совершенно сложности именно про это в нём самом. Ну, то есть ты смотришь на эту сло,
439: Такой, да, не может быть, чтобы это работало там, на горизонте в полгода хотя бы, ну, просто не может быть. Ну, это, это, опять же, я говорю, может, я ошибаюсь, но моё такое вот чуйка. И там, в общем, приходится просто много усилий, как бы, к этому прикладывать. А, ну,
440: Зачем? У тебя в коде уже все написано? Если там нормальные комментарии, там даже написано вот это почему, которого часто не хватает просто в коде, да, эллы, они тренированы, собственно говоря, смотреть в код и все про него.
441: Понимать. Угу. То есть, ну, клод отлично справляется с этой задачей. Кодекс тоже хорошо. Ну, вот, поэтому я как бы, не вижу смысла. Значит, то есть, ну, короче говоря, там спеку любого уровня, да?
442: Надо держать примерно до того места, ну, как бы вот рядом с агентами, то есть где-то там, в доступности, в контексте там Нужных сессий держать Ровно до того места, когда ты эту спеку исполнил и провёл по ней ретроспективу.
443: После этого это мой подход, её надо куда-то архивировать и, ну, может быть, когда-нибудь там, из каких-нибудь ностальгически обучательных соображений тебе захочется на неё ещё раз посмотреть и содрогнуться. Угу.
444: Потому что, ну, то есть, если это была Спека трехмесячной давности, я на них иногда смотрю, я содрогаюсь.
445: Это как бы хорошо и правильно так должно быть. Ну, в общем, вот так. А если бы она была активной у меня в проекте до сих пор, ну, я бы каждый день по 20 раз содрогался. У меня в проектах обычно хватает, с чего содрогаться и без этого, поверьте.
446: Окей, услышал. Так, теперь я хочу пройтись прям такой в режиме блица, скорее по вопросам и проблемам, которые люди чаще всего задают, когда слышат что-то про сдд. Я там много это в нашем клубе вижу.
447: В чатиках и так далее. И вот давай я буду прям миф какой-то называть а ты говори, миф это или нет и так парой слов. Почему, собственно 1 это про передачу Смыслов это как раз, наверное похоже на то, что ты сейчас разгонял
448: Собственно, человеческий язык это такая довольно несовершенная штука, чтобы дать машине полное описание того, что надо сделать, мы либо описываем все слишком лоссе, и тогда агент сам слишком много вещей.
449: Самостоятельно выводит. Либо мы описываем все слишком детально и тогда уже практически доходим до уровня кода, потому что, типа софили детейл спёк из a code. На самом деле, так, собственно,
450: Как быть с тем, что смыслы теряются и агент в итоге делает что-то не то, что ты на самом деле хотел. Ну, для этого у тебя существует система обратной связи в 5 слоёв, как минимум, то есть
451: Там автоматические тесты, адвентик ревью хьюман, ревью, там, ну, короче, не буду полный перечень, так сказать, приводить. Ну, в конце Концов, у тебя есть продакшн.
452: Угу. И, в общем то у меня есть Надежда, что из этого продакшена как-то простроен канал, что, в общем, когда у кого-то что то не так, во первых, они могут понять, ну, точнее не сами понять, но как бы они могут тебе что-то сообщить такое, что позволит тебе понять, что именно у них было не так вот.
453: И как бы, ну, опять же, никакого другого критерия истины, в принципе у нас нет. А с какой истинной и тесты, и агентское ревью сравнивают.
454: Как это? Ну, опять же, что, что делают тесты? Тесты проверяют, что код работает правильно? Откуда, кто пишет эти тесты и откуда они знают, что такое правильное? Тоже самое. Проверяют ли они, что код работает правильно? Да, это отдельный тонкий вопрос. Угу.
455: Вот, с тестами вообще все сложно. На самом деле, как бы зелёные тесты сильно переоценены, опять же, особенно, когда их пишет тот же ллм, ну, как бы в другой сессии, пусть, но тот же лм, который кодировал, на самом деле, есть тоже такая проблема, значит,
456: Что ллм, который кодировал, он тебе как бы напишет там кучу Тестов, исходя из примерно тех же соображений, ну как по тем же весам, на самом деле, из которых он кодировал, да, и там все будет такое зелёное, красивое.
457: Там ещё даже у тебя будет, там близкий к 100 процентам каверидж, может быть вот. И при этом там будут содержаться, так сказать, косяки. Там есть целый класс Косяков, на самом деле, которые выглядят именно так. Континиус интегрейшен, зелёный каверидж 100%.
458: А код неправильный. Вот. Ну, соответственно, что, что мы должны сейчас сделать, перечислить там известные мне классы этих Косяков, ну, их там, не знаю, сейчас напридумываю штук 6 из головы, но они есть всем, как бы, это понятно.
459: То есть, как бы, тесты, ну, в общем, в лучшем случае, если это хорошо, правильно, написанные тесты покрывают, что этот код сделал то, что до него как бы донесли в там метрик слэш.
460: Это может быть потом значит это писать автоматические тесты для фронтенда это вообще неблагодарное дело даже сейчас.
461: Он как бы слишком быстро меняется, и там на уровне сильно выше смок теста. У тебя просто получается, что ты создаёшь себе больше проблем, чем решаешь таким образом. Окей, я, наверное, услышал тебя, так что эта проблема на самом деле не уникальная именно для сдд. Вот просто сдд её не
462: Не решает, как и подавляющее большинство других проблем. Да? Окей, давай следующее. Элма, вот ты сел, написал какие-то умные слова в спецификации, а лэлэка может их проигнорировать? Ну, это, наверное, подножество предыдущей проблем.
463: И без настоящей формальной верификации про это вообще не узнать. Есть, короче, такой клуб адептов формальной верификации. Кто говорит, что давайте вообще в целом программу там на коке писать. Ну, есть. Я, в общем, знаю таких людей даже
464: Ну, то есть, как бы это очень дорого. Просто получается, тебе такой уровень качества, так сказать, нужен, если ты рулишь там ядерным реактором, например.
465: Ну или даже на самом деле, там каким-нибудь станком, в общем, в который вставлен какой-нибудь резец, потому что он может резануть куда-нибудь не туда, да, ну, как бы 90, сколько-то там процентов всего софта, который пишется, оно
466: В общем то, не такое. И как бы есть куча предметных областей, где, в принципе, вполне нормально там допустить, как бы протечку каких-то дефектов в продакшн, как никто этого не любит.
467: В общем, все задаются вопросом. Там, сколько человек, надо слегка огорчить, чтобы это было хуже, чем повесить котёнка, да? Ну это происходит тем не менее. То есть котёнков, в общем, время от времени вешают с верификацией.
468: Короче говоря, проблема, понятно в чем, что если у тебя простая предметная область, то она, в общем то возможна, и даже как бы за разумные деньги это можно сделать.
469: Как только у тебя, так сказать, сложность перевалила за какую-то довольно маленькую, на самом деле, в общем, объём это все разваливается. Ну, по большому счёту, на том, что, как бы у тебя возникают вопросы к, как бы это сказать.
470: Сказать, а вот то, что мы верифицируем, оно само то правильно?
471: Угу. Ну как-то так. Следующий миф про увеличение потребления токенов. И здесь на самом деле интересно, потому что я знаю ребят, которые, когда скорее про планен мод, но когда им нужно что-то запланировать, они врубают
472: Самую дорогую модель, самую умную, последний опус и врубают максимальный эффорт. Вот. И здесь вот интересно с точки зрения вообще моделей, наверное, в 1 очередь для того, чтобы обслуживать всю эту машинерию. Насколько
473: Умной должна быть модель, и насколько много эффорт надо просить. Мы можем как бы долго рассуждать по этому поводу. Все наши рассуждения. Они на самом деле станут неверными буквально через пару недель.
474: Если мы через пару недель будем рассуждать то-то, что мы тогда на рассуждаем, оно опять станет неверным через пару недель, в связи с чем, как бы я долго про это думал, так относительно довольно много, но как бы перестал заморачиваться, и я тоже гоняю опус в режиме.
475: Harris и, в общем, у меня как бы 2 подписки по 100 ₽. 1 на клод, другая на кодекс мне хватает, как правило, если не хватает, я беру ещё 1, ну и, наверное, закрыва жизнь коротка, как бы, и все равно я стою гораздо дороже, чем эти 2
476: Подписки. У меня буквально вчера на самом деле был разговор с человеком, который рассказывал, задавал вопросы про то, типа как я вообще подхожу к оптимизации траты токенов, пытаюсь ли я использовать там какие-то для имплементации модели попроще или
477: Может быть вообще там китайские какие-то модели. Вот когда, когда я его спросил, съедает ли он вообще свои, проверял ли он вообще, насколько он свои лимиты у подписки съест. Если он будет все делать на хайринге, он такой, блин, не проверял. Ну я иногда съедаю, но это не каждый день далеко происходит, поэтому
478: Ну, как бы, мне хватает. Угу. Ну, ждём, ждём, что произойдёт с индустрией, когда вендоры полностью перестанут субсидировать токены, да, тогда и поговорим. Тогда будем платить китайцам, у них будет дешевле, да, там, там, на самом
479: Деле есть. Окей. Есть нюанс, правда, у этого нюанс в том, что не всем доступны подписки. На самом деле, если ты большая корпорация, то нет у тебя подписок. Вот ты платишь там по api ценам. Вот. И вот там давят на уши на это все. Да, да, да, да, да, да. Поэтому, короче,
480: Уважение этим людям, им, им, правда, уже сейчас стоит это оптимизировать, безусловно, ну либо как-то придумывать, как все-таки сидеть на подписках, потому что экономия такая, что там чудовищная просто экономия, на самом деле, так.
481: Ты хотел свою историю рассказать и задать? Да, я хочу рассказать историю. Тут постараюсь уложиться, короче, не потратить ваши 100000 токенов. В общем, там без шансов. Да, моя история следующая. То, что, короче, решил поучаствовать в хагатне, попробовать
482: Какой-то спект девелопмент, в частности, я прям решил попробовать то, что порекомендовал кто-то из кто-то на интервью пользовательском, собственно, бимет делал я это параллельно у меня, как это я параллельно, условно на 1
483: Половине экрана я при помощи google стича занимался очень приятным занятием я делал классные дизайны тому, что хотел захохотать на 2 половине, я, соответственно, собирался разработать спеку и по спеке.
484: Собственно, это все запрогать. Ну и подумал то, что к моменту, как мне дизайны понадобятся, я как раз со спеками закончу. На самом деле, там 2 часа отвечал на 300 вопросов, из которых 2 были по делу именно именно так. Именно так. И у меня из за этого возникло ощущение вообще.
485: Вот от этого всего, вот мы говорили о том, что для слишком простых задач, возможно, спект дривен, девелопмент будет оверкиллом, если это влезает все в 1 сессию. Вот у меня есть ощущение ещё обратное, что если мы берём слишком большую задачу, например, полностью разработка
486: Приложение, то она тоже не очень удачная, потому что тебя фактически заставляют на берегу достаточно детально во всех спецификациях, во всех важных деталях проработать весь сервис. И это очень большая такая постоянная. Короче, это очень
487: Сжатая, очень мощная когнитивная нагрузка, при этом потенциально ещё и не очень понятно, зачем это делать. Вот прям настолько сконцентрировано все вместе. И возможно я как-то неправильно применял, и мне действительно надо было как-то немножко выдохнут.
488: И сказать о том, что вот мы бьём по проектам, но я, я в тот момент работал с ним в некотором смысле, как с опусом. Ну вот я ожидал, что он мне, я ему дам какую-то, в общем, достаточно ограниченную там спеку, и он мне там все, я при помощи этого смогу реализовать от начала
489: До конца, там будет много непроработанных вещей, будет такой в некотором смысле трейсинг шат готового готового приложения. Потом я уже там детали доработаю уже там, я не знаю, допилю как-то по другому. Вот.
490: И у меня, и у меня вот такое ощущение возникло то, что здесь есть слишком много какого-то энтерпрайза, который, в конечном счёте, он заставляет у человека, который с этим работает, достаточно мощных когнитивных там усилий трат.
491: Мысли, топливо всего 1 в очень сжатое время. Ну, сразу вопрос. Это когда было, да, буквально, когда? Ну, вот этой весной. А, окей. То есть, ну, все-таки, это 1812, а не 1712 год уже.
492: В собачьих годах считаем давно, но не так давно. Да, да, да. Задача, которую можно решить на хакатоне, это задача не того размера там на самом деле, вот если бы у тебя был под рукой бимет спёк, он бы тебе сделал вот этот скилл, который возник чуть
493: Позже, на самом деле. Угу. Он бы сделал Ровно то, что тебе и нужно было.
494: Это 1, 2, значит, бимет. Дело в том, это штука, которая там 1 коммит, по моему, был, если мне память не изменяет, в апреле 25 года. То есть это было ещё за несколько месяцев до спёк кита даже.
495: Гитхабовского. Вот, и, значит, в тот момент не было вообще практически никакого понимания. В общем, о том, как все это надо делать. И там человеку пришла просто в голову мысль, что надо взять и описать процесс, это самое.
496: Ну, определённый, скажем так, класс процесса, как он себе представлял про человеческие организации. При этом, значит, это заменить, там, типа человеков на, ну, по сути дела, так сказать, описание ролей энное.
497: Количество персон, да, значит, этим персонам раздать, там каждому там свои воркфлоу и типа, счастье настанет.
498: Значит, счастье настало до какой-то степени, но при этом, да, в общем, у него как бы получилось именно то, о чем ты говоришь, у него получился. Особенно вот в левой части планирования, значит, очень тяжёлый процесс, в ко
499: В котором была куча хьюман луп и там этот процесс, он такой, типа там наглухо скриптованный, он задаёт массу вопросов и как бы на выходе у него типа pr d.
500: Который саамо выше нахрен никому не нужен. Ну, по большому счёту. Вот. То есть, поэтому, как бы, по сути получилось, что значит, ты как бы, с задачей построить там скворечник как бы
501: Полез там в штуку, которая не очень оптимальным образом умеет строить микрорайоны. Вот, и когда ты строишь микрорайон, то-то, что тебе там задали, как бы 300 вопросов, это не так страшно, потому что все равно потом как бы от ответов на эти
502: Вопроса зависит твоя дальнейшая жизнь в течение, там, 2 лет. Угу. А когда у тебя хакатон, да, у тебя нету времени на 300 вопросов, поэтому, как бы, ну, это просто не тот инструмент был сам инструмент, значит, он с тех
503: Пор, ну короче, он все время претерпевает какие-то изменения. Вот. И сейчас он как бы гораздо больше, если знать там, какими именно скиллами пользоваться, какими нет, он гораздо больше подходит под хакатоны, чем там вот то, что ты описываешь.
504: Окей, ну, в принципе, это не это, короче, это не про ди, это вот про там конкретно, там, бима, использованный именно вот так я тогда, может быть, немножко упрощу вопрос, потому что, ну вот просто даже на основе того, о чем мы сегодня говорили, что вот есть вот такая
505: Иерархия спёк, и это прям как будто бы вот сама по себе эта иерархия спёк, она в том числе задаёт саму вообще структуру работы с этим, то что она в явном виде диктует, что в некотором смысле разработка будет происходить
506: Происходить по waterfall нет, не обязательно, значит, опять же у того бимат как бы в том взводе, да, ещё была такая интересная проблема он тебя заставлял как бы выписать там 10 эпиков в них, там каждую историю по отдельности.
507: Ну, там не выписать её на уровне, там кодинг сешн промт, это вообще было бы уже, так сказать, совсем смешно, да, но, тем не менее, в общем, он тебя как бы заставлял прописать именно с той историей, ну, разбивку на истории, при этом, понятное дело.
508: Значит, когда ты сделал 1 из этих 100 историй, остальные 99 у тебя, скорее всего, в голове поменялись радикально. Ну, то есть обычно после 1 истории ты понимаешь, что вот эти 40 мы делать вообще не будем, потому что закопаемся там начисто, да? А вот вместо этих
509: 60 мы сделаем вот, вот эти 50 из них и ещё 15 вот таких, ну, грубо говоря, да.
510: Поэтому, значит, это тоже неправильный подход надо именно делать. Так, значит, если у тебя есть вот интент размером в проект, ну, типа там характерно 50, 100 эпиков этой истории.
511: Собственно, коник, значит это обычно вот в общей сложности работа где-то на неделю, как правило, значит, ты делаешь разбивку на эпике, ты когда начинаешь работать над 1 эпиком, делаешь разбивку 1 эпика на истории, собственно,
512: Выписываешь там Ровно прямо перед тем, как начинать над ними работать каждую конкретно, ну, детализируешь, да, и, значит, там есть такой момент, что вот этот большой эпик большой спект, в смысле, вот этот контекст, и он
513: Надо держать более менее синхронизованным с кодом, пока он активен. То есть, когда ты перестал над ним работать, уже не надо, потому что это бессмысленная трата времени, на мой взгляд. Вот. А пока ты над ним работаешь, в принципе, хорошо бы, чтобы то, что там написано, соответствовало того, что у тебя уже есть в коде.
514: И тебе как бы нужен этот вот в бимаг это называется, господи, как это называется то забыл, забыл. Ну, в общем, там есть скил про то, что мы поняли, что надо делать не так, а так давайте пойдём как бы во все предыдущие документы и их исправим, соответственно.
515: И это в принципе не waterfall, на самом деле, по большому счёту, это похоже на waterfall, значит, почему оно похоже на waterfall, потому что ты можешь детализированную, достаточно как бы проектную документацию написать и
516: И гораздо дешевле, чем, в общем то, когда мы 20, 30 лет назад отказывались от отправить её руками, в смысле не руками, а наоборот, как раз, что как бы даёт тебе возможность на самом деле массу там каких-то решений принимать заранее.
517: Потому что от них гораздо дешевле потом отказываться. Да? А, ну, понятное дело, что, в общем, когда ты какое-то количество решений принял заранее, то ты, в общем то, это Реже, тебе приходится потом все начинать сначала какие-то большие куски. Вот.
518: Но при этом как бы не надо уваливаться и в другую крайность тоже. Ну вот у меня на самом деле, во первых, вот есть вот этот моментик про стрельбу трассирующими, это явно не вот
519: Ольная история, потому что мы фактически берём, пристреливаемся и ожидаем какого-то фидбэка от разработчика, насколько получается, насколько хороший результат. Это прям очень по джайном. Я бы тут только единственное, наверное, сказал то, что вот прям, прям настоящий
520: Мастер на максималках, он бы ожидал, что у нас ничего кроме трассирующих, то и нету. То есть у нас после каждой итерации есть работающий продукт, и тут мы немножко по другому все-таки действуем, потому что мы идём не маленькими итерациями, мы все-таки пытаемся обозреть какую-то
521: Большую сущность, поэтому, потому что это стало делать дешевле. Теперь в том-то и дело. Угу. То есть вот сама динамика, так сказать, откуда берутся эти вот трейсер, булиц и все такое, да, они берутся от того, что пока ты думаешь о чем-то, просто думаешь, типа там что и как я буду
522: Строить. Ты знаешь, как бы 1, как только ты написал первые 3 слова там main и открыл эту самую круглую скобку, да? Ну вот в этом, в ручном процессе, и прям сел такой, и начал думать, что же написать сразу после этого прям
523: Буквально в этом месте у тебя как бы представление о том, что и как мы строим, изменилось обычно. А если ты написал ещё 10 слов, оно, может радикально изменилось уже, потому что ты начал думать про как, а это самое, как вот оно это возвращается обратно. Вот.
524: И когда на самом деле, то есть, если мы писали большой, ручной такой артефакт, типа документ, а потом у нас происходил этот момент, и нам надо было как бы там все бросать, идти переписывать этот документ, потому что у нас представление изменилось руками, это было дико дорого, все.
525: Да, то есть по той же причине, как бы в там, девяностые годы прошлого века умер юмл. Отличная, кстати, вещь, между прочим, рулит не по-детски сейчас, а тогда он умер. Почему он умер? Потому что, окей, я нарисовал вот эти вот, как бы, детальные, там, со всякими там разными рю.
526: Квадратики со стрелочками, да, я на них посмотрел, я че то прям понял, мне хорошо. Потом я написал эти первые 10 строк кода, у меня там, как бы это, стрелочки стали не все смотреть туда, куда они раньше смотрели, если я в этот момент должен остановиться.
527: И пойти на самом деле, все это перерисовывать. И каждый раз, когда у меня че то меняется в коде, опять перерисовывать, то на это уходило бы там, ну, не знаю, половина моей жизни, наверное. А сейчас она не уходит, потому что
528: Сейчас ты можешь просто сказать агенту. Слышь, агент, вот у нас тут поменялось, иди там все остальное подправь. И, в общем то, это он как бы не совсем точно, но достаточно точно делает эти правки.
529: Этого хватает. Ещё и скинули контекст просто картинкой в пэйнте, сделанной то, что старая емелька стрелочка такая и новая емелька с новыми стрелками. Вот отсюда, собственно, как бы и возникает вот эта вот возможность на самом деле
530: Принимать там какие-то решения до того, как мы начали писать код, который раньше принимать было бы глупо.
531: А сейчас, наоборот, глупо их не принимать, оказывается. Ну, я же говорю, там это спектр, это там не вот это, это не двоичная тема, там, либо мы делаем эджайл, либо вотерфол, да, а на двоичной никогда вообще не было. Ты всегда на самом деле, какие-то решения принимал до того, как просто сейчас
532: Сейчас ты можешь этих решений, не только можешь, но это и хорошо. Вообще это правильно принимать, как бы до того, как написать первые 3 строки. Кода. Больше отсюда у людей возникает вот это вот ощущение, что ба, ребята, это же не чистый скрам, ну и хрен бы с ним, зато оно работает.
533: Инструмент поменялся, а форус другие, как вы заметили, мой план взять миф и пройтись в режиме блица по нему, то потерпел сокрушительное поражение, столкнувшись с реальностью прямо как мы.
534: Прямо как мы, сталкиваясь коррекшн курс, я поплыл, да, коррекшн курс. Вот. Поэтому я предлагаю перейти к следующему мифу. Он звучит следующим образом, что сдд это для индивидуальных разработчиков.
535: Которые работают без команды, а сами в 1 делают проект. А в командах сдд не заводится, правда ли это и как? Если не правда, то как с сдд работать в команде. Так, ну значит пункт 1.
536: Я знаю такое количество контрпримеров, где это завелось, что, в общем, про то, что оно в команде заводится, могу говорить на голубом глазу со всей ответственностью. Угу. Видимо, зависит от
537: Команда может быть, наверное, то есть, ну, я знаю тоже, что у людей есть проблемы с этим, как бы, там начинаются холивары, как всегда, и так далее. Вот. Ну, в общем, оно заводится, это пункт 1 пункт, 2, значит, как работать. Ну, по большому счёту, как бы у меня команда
538: Маленькая, поэтому я про это знаю. Ну вот, либо на масштабах там микроскопического, там продакт стартапа, грубо говоря, либо со слов других участников забега, значит, в основном
539: Со слов других участников забега, у меня сложилось впечатление следующего содержания что значит по сути дела, а что значит как работать? Ну, само выше у тебя есть, значит, Спека размером с историю, спеку с размером.
540: С историей, естественно, пишет, так сказать, отдельный индивидуальный девелопер. Ну, точнее, интент к ней он пишет, а все остальное, в общем, правит. Может быть, да. Значит, там, как бы, проблемы команды вообще не возникают.
541: То есть я могу делать сдд, даже если там все вокруг меня, там, я не знаю, делают что-то ещё, мне это абсолютно никак не мешает. То есть, если я могу сформулировать там на полстраницы интент, я могу этот интент исполнить через, значит,
542: Допустим, например, так сказать, этот мадовский воркфлоу под названием виде или фото. Если это вот, значит, это пункт 1 пункт, 2.
543: Значит, если у нас есть, допустим, маленькая команда, там творческий коллектив из 5 человек, вот как мы раньше на самом деле между ними распределяли работу, планинг покером, планинг покером оценивали, а потом вот так тыкали пальцем. И такой, ты, короче, делаешь это
544: А ты, ну или не оценивали при этом, как бы держали в голове на самом деле, да, что у этого всего есть там какие-то взаимозависимости, что эти люди, так сказать, там кто-то из них может сделать вот это хорошо, а кто-то вот это хорошо и, соответственно, как бы
545: Даже если у тебя там, ну, твоё представление о жизни, что есть там какая-то худо бедно отсортированная куча, там, сторис, на самом деле, ты все равно как бы держишь в голове, что прежде чем делать вот это, надо сделать, вот это, и это лучше сделает Вася, да? Угу.
546: Вот, ну так в этом плане, вот на этом уровне вообще ничего не поменялось. То есть, я точно также, так сказать, сообщаю Васе, Васе, вот, так сказать, тебе надо сделать там, допустим, вот этот эпик, или там вот этот проект, ну, если проект там немного сложнее.
547: Ну, в общем, неважно. Или там вот тебе как бы, ведро там всяких этих самых, по сути дела, интентов маленьких, да, там починить такой-то бак там заменить, в общем, здесь, там, зелёный, на красный и тд. И тп. Вот, значит, вот он там, в нём.
548: Как бы в этом ведре, там 30 этих интентов, они как-то отсортированы вот сверху по 1, в общем, как типа, закончишь, приходи, насыплю ещё, да, в этом смысле, так сказать, то, что там под капотом на самом деле пишется сначала Спека.
549: Потом она исполняется, потом там дженти ревью и все такое, на самом деле ничего не меняет абсолютно. Вот. А если мы говорим про верхний уровень, в принципе, как я, так сказать, делаю, и как делают люди там, с которыми я общался, которые, похоже, правильно это делают.
550: Хотя это опять же зависит, скорее всего, от структуры организации. Значит, там подход примерно такой, что значит, если у нас есть
551: Творческий коллектив из там 3, 5 человек и там допустим как бы какой-то проект там на 5 эпиков. Вот, то значит мы как только у нас пошёл параллелизм какой-то, мы в общем то можем как бы разливать по эпикам, а не по сторис, ну
552: Потому что epic сейчас на самом деле, занимает в день примерно каждый конкретный. Угу. А то и меньше. И, соответственно, как бы, да, в общем, в этом месте, там ты просто говоришь, окей. Там, значит, ты делаешь этот эпик, ты этот эпик, а я вот там все остальное, это ведро маленьких.
553: Из этого баг трекера, которая навалилась, значит, потом, если у вас есть как бы много таких творческих коллективов, ну то есть, типа там команда у них, как правило, есть.
554: И эти специализации, то есть там вы делаете фронтенд, мы делаем бэкэнд, ну, классическая история или ещё че-нибудь такое. Вот, соответственно, значит, тогда вот эти вот проджектс спекс, они как
555: Как правило, у них на самом деле мало того, что есть специализации, они ещё в разных репо работают обычно, ну, не всегда, но, как правило, все-таки так или хотя бы, если у них даже 1 репо, то они там в разных директориях, в этом репо, так сказать, че то там вставляют. Вот. И тогда, соответственно, если у вас есть какой-то интент,
556: Который там покрывает и тех, и тех, ну что всегда так, да, на самом деле, вы просто говорите, окей, ребята, значит, вот типа этот интент, но мы на самом деле спланируем как бы 2 проекта.
557: То есть 2 графа этих эпиков. И просто мы как бы будем держать в голове, что прежде чем вот вы начинаете делать вот этот эпик, так сказать, вот эти люди должны перед этим закончить. Вот тот вот epic свой. И, в принципе, этого хватает. То есть, как бы там никакой большей сло.
558: В общем то, не нужно обычно.
559: Ну, ценно выше, я сам не знаю, мне рассказывали. И, как бы это звучит логично, вполне где-то, наверное, есть какие-то организации, которые пишут какие-нибудь микросервисы, у которых это не работает. Ну, в общем, мне не
560: Немножко жаль этих людей. Ну да Бог с ним, это отдельная тема, совсем другая. Окей, понял, понял, спасибо. Но, короче, принципы получаются примерно похожие, как когда мы оркестрируемую дду агентами, только вот с кожаными все ещё сложнее, потому что че то как-то общаться.
561: Посложнее надо коммуницировать и так далее. Ну да, зато приятнее сейчас сделаю разгон, то что мы же, а sub агента можем там добавлять какой-то системные промты, то что ты типа профессиональный фронтендер и так далее. И здесь можно почувствовать себя
562: Менеджером, когда ты берёшь и раздаёшь задачки такой, типа, а вот эту задачу делаешь фронтендером, потому что здесь надо сделать фронтенд. Это похоже, что перестало работать. Ну вот именно вот это вот там, что ты, типа, этот самый там абсолютно гениальный.
563: Типа там писатель Юев на каком-нибудь, не знаю чем. Да, да. Значит это где-то год назад это работало реально. Угу. Потому что как-то фокусировало, в общем, этот ризонинг в какую-то сторону, в общем, оно ещё прошлой.
564: С ним работать перестала специализация работает. В каком смысле? Значит, что этим людям всем нужен разный контекст. То есть, если я строю бэкенд, мне не нужно вообще почти ничего почти. Ну, кстати, не всегда, но, тем не менее, знать про архитектуру фронтенда и наоборот, опять же,
565: Так сказать, если они у нас правильно разъединены друг с другом, да, то есть между ними есть там какой-то этот интегрейшн баундери, который хорошо определён. Вот, и тогда у тебя получается в каком-то смысле, что у тебя там сессия, которая меняет пиксели, у неё своя специи.
566: Еализация, сессия, которая там из 1 кармана в другой перекладывает какие-то байты, у неё своя. Вот. Но при этом, как бы вот именно сообщать им, что там ты, типа, гениальный фронтендер, а ты гениальный бэкендер, это бессмысленно. Угу. Реально. Но людям нравится, то есть
567: Как бы есть люди, которые прям, это, они любят такое вот это как раз, да, возвращаясь к моему 1 с Машей, тут с педей. Вот тема, если нравится, хорошо, да, это как раз к моему набросу в начале про то, что в её разработке из за того, что многие решения мы
568: Понимаем, на уровне вайб Чеков, то даже те практики, которые уже есть, там прям ресерчи полноценные, которые говорят, не работает. Люди продолжают себе тянуть, говоря, ну а мне нравится, у меня, слушай, норм. А до вообще всего этого агентского так и было.
569: Всю жизнь, да, это правда, ничего не поменялось же как как человек, который спровоцировал очень многих людей на очень много разных карго культов. Я согласен, если Егор вам рекомендует сервис,
570: Или ещё что-то. Не слушайте его, и я вот по своему долгому общению, опыту общения с егором могу только подтвердить, что подумайте, подождите год. Так послушай егора и сделай наоборот. Это всегда хорошая идея подождать год это
571: Правда, да, подожди, год, это правда. Вот я говорю про карго культ, меня все время спрашивают, типа, ну вот примерно, типа, там, этот вот весь ваш вот этот вот метод, это не cargo ли это культ? Особенно, как бы, люди, которые вот попробовали, значит,
572: Это скворечник. Построить там при помощи метода, который нифига не про скворечники, он как бы в тот момент, он ещё не был приспособлен к строительству скворечников. Сейчас он гораздо лучше к нему, кстати, приспособлен, то такое, значит, я обычно спрашиваю, ребята,
573: А грузоперевозки авиационные, это карго культ или нет? Угу. Да, там есть cargo. Ну, собственно, как бы, само понятие карго, культ произошло про авиационные перевозки. Ну да, правильно. Ну, так и здесь, на самом деле.
574: Если вы там, грубо говоря, товарищи, которые это живут на Острове, где-то там, в тихом океане, и там ещё не вылезли из каменного века, то, в общем, да, ваш спектр, девелопмент будет такой же, скорее всего, но
575: С другой стороны, вы как бы там, в конце Концов, видимо, это, оденетесь в рубашки и джинсы, и там ваша жизнь немножко изменится после этого все равно со временем. Не, ну я не знаю, я здесь не могу молчать, здесь есть прям момент, что
576: У нас, ну, собственно, ресерча нету. Доказать мы не можем. Ебало искусственный какой research есть про пленнинг моуд ресерч есть. А, окей. А это, собственно, примитивная как бы, реализация этого принципа.
577: Угу. Это работает точно. Это подтверждается массой примеров. Ну, не примеров. Ну ладно, окей. Исследованиями. Окей. Про этот самый контекс Трот её ещё больше есть. На самом деле. Вы сейчас прямо заложили идеальный фундамент для моего, наверное,
578: Последнего вопроса, если вообще все так замечательно, сдд полезен и так далее. В сравнении с чем всегда надо спросить. Вот как раз-таки в сравне.
579: С обычным стандартным подходом работы с агентами, он же, я не знаю, вайбо, когда мы просто примерно, да, с наивным подходом, да, почему при этом сдд ещё не начал использовать каждый уважающий себя разработчик и
580: Проникновение сдд в нашу индустрию все ещё, ну, не исчезающе мало, но мало из, так сказать, моего окошка, оно ни разу не исчезающе мало. Это, скорее всего, мой такой, как это, ну, в общем, искривление.
581: Е моё. Ну, я просто как бы вот все время общаюсь с людьми, которые там глубоко прониклись. Н, смотри, давай я скажу, откуда берётся. Алло, да, чтобы быть не голословным. Я буквально недавно, 2 недели назад, открывал google тренс и сравнивал спёк дрима девелопмент.
582: С запросами типа клод код, кодекс, agenti девелопмент и прочее. И там ну разница типа на 2 порядка, ты ж понимаешь, что люди, которые на самом деле сейчас работают с клод кодом, из них примерно половина занимается, если
583: Мы говорим про план мод, то, да, по факту того, что они пользуют план мод, ну, как бы они просто не знают, что это так называется, но тем не менее, это, оно, это очень примитивная на самом деле, реализация его, но это оно
584: А если они ещё там этот самый какой-нибудь слэш ревью запускают? Ну это же вообще прямо оно тоже, кстати, очень примитивная реализация. На самом деле, там все скучно. Ну, на самом деле, в массы сдд уже пошёл в тот момент, когда у нас план моды везде появились. А дальше это после того, как ещё идеи
585: Провайдеры Харнасов себе забирают. Да, да, да, это, в принципе, так и работает. То есть, как бы все, что там кто-нибудь, вот в 1 из этих проектов, в том числе в бимедианы, грубо говоря, там сегодня, через, там, 2, 3 месяца.
586: Если это реально окажется рабочим, иногда под другим, иногда под тем же самым названием, так сказать, появится в клод коде это, ну и ещё на самом деле, это потом назовут карпати чего-нибудь там, хотя как бы там сплошь и рядом. Я там про то, что называют.
587: Таким вот образом, как бы могу там ткнуть пальцем там, в какой-нибудь дифф, там где-нибудь, да, не обязательно в биман, но в beam тоже. И сказать, ребята, а вот вот здесь это было, там за 3 месяца до того, ну, было нормально, у меня есть 2 спекуляции на эту тему, 1 из них это история.
588: Про который мы аккуратненько как-то пропустили, про то, что плохо быть бедным и плохо, в общем, платить за токены, а не на субсидированных токенах сидеть. Собственно ну стоимость, она объективно будет больше. И здесь возникает вопрос, если можно
589: Условно попробовать залить для там многих задач вот эту когнитивную сложность дополнительным напряжением головы конкретного человека. Наверное, кто-то склонен это делать. Особенно, ну там в зависимости от размера проекта, если он не очень большой, собственно, вопрос в том,
590: Даже если бы за эти токены, которые я жгу, я бы платил именно как бы полную цену, то значит, так или иначе, хоть чучелом, хоть тушкой, это было бы примерно процента 2.
591: 20, может быть, 30 моей зарплаты. Если бы я работал не в Северной Америке, я бы просто как бы пропорционально платил бы китайцам за какой-нибудь жлм 5, 2 вместо опласа, да, оно как бы хуже, но не сильно, значит в этот момент.
592: Соответственно, если меня эта штука на длительной перспективе ускоряет хотя бы в полтора раза, она уже имеет смысл, а она ускоряет, ну, по моим, так сказать, назовём это субъективными ощущениями, хотя, в принципе,
593: Есть и какие-то квази статистики на эту тему, опять же, мои, они как бы сходятся. Ну я говорю, это может быть профессиональная деформация сознания, но я вот так вижу, 2 спекуляция, это мы как-то слона в комнате не
594: Замечаем, но вот этот вот весь подход, он на самом деле базируется на довольно мощном допущении, что мы 100% задач мы можем хорошо реализовать при помощи лмки. Тут, возможно, мы
595: Но все упирается, в в том числе веру, веру, веру конечного разработчика, потому что я вот на интервью с конечными разработчиками, когда я у них спрашиваю, а как вы вообще яйчик используете? Сколько процентов вы пишите? Кода то там
596: Оно очень сильно разбегается. Кто-то вообще говорит, я типа, тольо 30% делаю, я не хочу типа отупеть. Ну то есть есть вот просто когнитивный барьер вот такого уровня. И, соответственно, для человека закрыт путь в спект дривен девелопмент просто на этом уровне то, что он не готов 100%, как бы, ну он не готов делегировать, а когда
597: Когда ты делаешь все как бы всю разработку, все написание кода, и, соответственно, тебе путь заказан. Есть люди, которые говорят о том, что, ну, у меня получается хорошо, эффективно делать, там 70%, 30%. Мне приходится делать руками, и я не знаю, как это.
598: Автоматизировать сейчас у человека не получается при помощи агентов вот какого-то типа задачи делать и это тоже в конечном счёте приводит к тому, что здесь вот этот flow ломается и непонятно как ну типа что делать с таким. То есть ну как бы ты там все классно запланировал уже все.
599: Там у тебя эпики и тут в середине вы внутри сессии обламываетесь на том, что тебе надо как-то, я не знаю, или руками прийти. Ну, короче, как-то в чем проблема? Берёшь контроль на себя и пишешь руками в этот момент. Не, ну да, но ты же, ты же только, ну смотри, 1 история.
600: Примерно. Ну да, да. 300 строк, кода ты пишешь за день характерно.
601: Это ещё так. Ну, может, даже за полдня, если ты увидела, что она написала 300 строк кода, которые вообще не туда, например, да? Ну че тебе мешает, как бы в этот момент выкинуть нафиг эти 300 строк кода, пойти их написать руками, да, так, про все можно сказать. Зачем мне модель? Я пойду просто эти 300.
602: Строк кода просто руками напишу. Я красавчик, ну все остальные там 3900 она тебе напишет сама нормально более менее при этом. Ну вот я считаю то, что это именно с точки зрения такого девелопера экспириенса, это очень неприятная вещь, то, что
603: Это ломает, ломает прям контекст. Ну то есть тебя заставляет пройти вот эту границу между ролью какого-то там архитектора, менеджера, там человека, который пишет спеки и, собственно, ну, исполнителем. И это не знаю.
604: Я абсолютно спокойно между ними переключаюсь. Меня это как бы не напрягает от слова совсем насчёт того, что тупею. Вот этого я вообще не понимаю.
605: То, что, как бы, ну, работая так, как я работаю сейчас, я, на самом деле, это, в общем, я интенсивно думаю, где-то, наверное, в 2 раза больше, чем 2 года назад, это, ну, прям вот я сильно, на самом деле, дольше времени у меня уходит на то, чтобы
606: Потому что, ну, собственно, вся, ну что, раньше пальцы были, это да. А сейчас нет, сейчас пальцы не узкое место, пока где-то там кто-то печатает какой-то код, я могу, так сказать, переключивши контекст, что, кстати, вот это неприятно, да, тебе все время приходится это
607: Перескакивать с 1 на другое, потому что иначе ты будешь сидеть на попе Ровно и ждать там 15 минут, пока там че-нибудь не закончится. Вот. Но тем не менее, ты переключаешь контекст, начинаешь, в общем, чесать репу, там про вот именно про внутренний дизайн и как бы, зачем вообще
608: Все это надо какой-то другой истории. Поэтому, ну, тупеть там вот мне точно не грозит как бы с моим ворклоу. И вот на этой замечательной ноте, когда мы выяснили, что спект дривен девелопе хорош ещё тем, что он ещё и умнее вас делает, помимо всего.
609: Не, вот это вряд ли, кстати, но думать заставляет, по крайней мере, соответственно, не даёт отупеть. Это разные люди. Окей, вот что спёк девелопмент не даст вам стать тупым, как бы дарио моде. Блин, нам надо
610: Не пытались сделать, нам надо сделать каким-то слоганом нашего подкаста то, что подлодка, что не даст вам отупеть в эру. Единственный, единственный, последний, последний заслон между нами и тотальным отупением.
611: Вот давайте подводить черту, мы сегодня говорили про spec дривен девелопмент и напомню, что было, а было то, что в самом начале мы, вы, если вы думали, что вы ещё не используете сдд, но вы используете план мод плохие новости.
612: А может быть хороший вы уже используете сдд? Вот. И дальше от этого замечательного тезиса мы оттолкнулись и поговорили про то, а зачем вообще сдд нужен и какие проблемы решает, на каких уровнях он работает и как он мапится.
613: На процесс разработки, в каких задачах подходит хорошо, в каких задачах подходит не очень? Что вообще такое за сущность, спецификация, какие слова в неё надо писать и откуда взять эти слова, откуда взять эти горы, руды, которые потом
614: Станут хорошей спекой, поговорили про то, могут ли спеки быть вечно зелёными или не могут, обсудили кучу разных проблем, мифов и лучших практик работы с сдд.
615: В лучших традициях написания спецификаций мы не поговорили, например, о том, какие конкретно фреймворки есть, чем они друг от друга отличаются, как они подходят к разным задачам, но у нас ни у кого не хватит.
616: Только контекстного окна все это вместить, а лимитов подписки, чтоб поговорить ещё и про эти темы. Поэтому я и как мы узнали, и как мы узнали, буквально за пару месяцев все может поменяться даже для конкретного, в общем, подхода за 2 дня все может поменяться, да.
617: За пару месяцев точно поменяется, там уже не может, а именно обязательно. Вот. Поэтому, Лёша, спасибо тебе большое, что к нам пришёл и поделился своим гипер гигантским опытом работы с сдд. Очень клёво, очень интересно. Вот ждём.
618: Что количество маркдаун файлов закомиченный резко повысится или, наоборот, понизится. Мы же говорили, что не надо этого делать. Это правда, это правда. Боремся с маркдауном по 1 файлу за раз. Вот поэтому ещё раз спасибо тебе.
619: Если будут ссылки на какие-то исследования, что ты упоминал, на какие-то вещи, которые стоит почитать, прикладывай, мы все к выпуску тоже приложим. И Стас, да можно ли задать тебе вопрос, конечно.
620: Вот мы только, ладно, подожди, лучше напиши в спеке. Блин, это лучше было. Да, я хотел сказать, что мы только что выяснили, что сам процесс написания спёк делает тебя менее возможно менее тупым.
621: Возможно, даже умнее, что тебе нравится больше, чем понимать, что ты как продакт этим занимаешься уже давно. И, значит, ты вообще ультра разум вообще. Я. Я. Я поплыл уже к 3 часу записи. Извини. Наконец, наконец мы смогли смогли потратить.
622: Слушал в полуха. И, наконец, мы смогли потратить 100000 токенов его контекста. Да, больше этого. Дорогие друзья, мне нравится, когда вы ставите 5 звёзд в айтюнсе, твит ретвит, рассказываете нас друзьям. А самое главное, слушайте, подкаст подлодка и отдельное спасибо, если вы дослушали до этого выпуска,
623: Я хочу, в общем, поблагодарить всех, кто послушал наш замечательный гигантский прекрасный выпуск и отдельный лайк всем тем, кто нам на комментарии про deep дайвы, которые такие вот обрезанные версии, то есть записали 3 часа, вот такие вот прям вот такой вот
624: Крутой, добротный выпуск. Вот прям вот как вот этот, а мы потом в deep diver берём и выпускаем всего час из этого, выкидывая, короче, куча всяких Баек историй, просто дистиллированная какая-то. Вот, в общем, скукота. Лайк всем тем, кто просит
625: Выкладывать, в общем, большие, полноценные классные выпуски Ван лав, ребята, всем