TGViewer
Channel Public Channel
Голос из-под шторки | Миша Левченко

Голос из-под шторки | Миша Левченко

@izpodshtorki

Продуктивность разработки, вайб-инжиниринг, обзоры книжечек, мемы и жиза от @themishkun
Subscribers
1.37K
Photos
82
Videos
6
Links
81
Recent Posts 20 shown
Post #257 535
Держу в курсе: агент закончил работу. Результат быть может корректен, но им пользоваться невозможно потому что он вообще не похож ни на один из прототипов и просто выглядит как самая поехавшая вёрстка в моей жизни. Отправил исправлять
  • 😁 15
  • 👍 3
Post #256 616
Slop Driven Development > Spec Driven Development
aka Agile > Waterfall

Я в очередной раз начал испытывать FOMO, что не использую этот ваш Spec Driven Development. Почему-то я решил что с прошлого раза что-то поменяется, тем более в этот раз я взял вроде бы совсем уж лайтовый wayfinder от matt pocock. Спойлер: ничего не изменилось. Результат после 3-4 часов за компом и почти 1М токенов:

- 2 макета
- 10 ишшьюсов с тоннами текста в них
- 1 здоровенная спека, которую я не читал, потому что
- ресурс моего внимания исчерпался уже на втором часу
- а на третий меня стало тошнить от эмодзи ❓

Сам агент радостно пыхтит делает всё что ему сказали в непротиворечивой и вылизаной до блеска спеке. Получится ли так что результат не надо будет доделывать или что хотя бы базовая функциональность будет точно-точно работать? Сомневаюсь.

Чтобы хоть как-то отыграться, давайте-ка накидаю своих мыслей из моих заметок, почему это не работает.

ЛЛМка не знает что важно а что не важно. Поэтому никакого прогрессивного раскрытия сложности нет. На слишком много вопросов ответ "мне пофигу, если так не сработает — чёт придумаем потом". Чтобы знала — нужно чтобы у неё появился вкус. А если у модели появится вкус — то ей можно просто написать "сделай красиво". А так получается что спека на 80% состоит из никому не нужного байкшеддинга.

Я несколько лет потратил на то чтобы отучиться ходить и думать в голове задачу, не приступая к решению. Потому что результат был всегда одинаковый — на берегу ты не продумаешь каждый шаг как переходить реку. Да, стоит оглядеть речку и выбрать неглубокое местечко со спокойной водой. Но представлять в голове каждый свой шаг и каждое сокращение мышцы — это бесполезная работа. Пока что все spec-driven фреймворки что я пробовал планируют на уровне точных координат куда должна приземлиться стопа.

Spec-Driven генерирует просто тонны доки, читая которые достаточно легко убедить себя что всё хорошо и всё продумано. При этом оно покрывает только известные неизвестные. Неизвестные неизвестные, как правило, покажут своё лицо только после столкновения с реальностью.

Про хранение спек молчу. Тесты > тексты. И всегда так было.

Ну и самое главное — по моему опыту в среднем 2-3 часа нужно что планировать прежде чем что-то сделать. Где мой дофаминчик? Где моё моментальное вознаграждение? Я иишку оплачиваю, чтобы всё по мановении руки делалось, а не чтобы жеско пыхтеть часами прежде чем увидеть результат.

В этом, кстати скилл Мэтта мне понравился гораздо больше, чем эти ваши опенспеки и gsd — в какой то момент агент отстал от меня со своими вопросиками и сделал парочку макетов и прототипов и просто попросил выбрать что больше выглядит как правда. Вот бы так с самого начала. Первые прототипы, я думаю, можно было сделать уже после первых 15 вопросов. И сэкономить мне кучу времени. А ещё лучше было бы сразу нафигачить хоть как-то работающее решение, а потом уже подпиливать шероховатости до хорошего состояния...but wait, это же мой вариант SDD — Slop-Driven-Development!
  • 👍 13
  • ❤ 6
  • 🔥 5
  • 🤡 2
  • 😭 1
Post #255 1.07K
Коллеги попросили меня позвать вас на Глубокую Ночь Технологий (Ночь Глубоких Технологий?), которая будет уже в эту субботу (внезапно — днём).

А я только рад помочь, ведь программа супер. Про ai-кодинг я немного устал слушать, но слава богу там этого почти нет. Сам подключусь посмотреть доклады про Лавку и physical AI, ищите меня в чатике (надеюсь чатик будет без регистрации и смс, а то наши деврелы такое любят)
  • 👍 5
  • ❤ 3
  • 🔥 2
  • 😁 1
Post #254 1.94K
Post #253 1.63K
Кстати, пока мы на клавиатурной теме. Если пользуетесь макбуком недавно — помните, что option, это не совсем alt. Это довольно мощный инструмент для набора символов, которых на клавиатуре не видно. Таких как длинное тире, кавычки-ёлочки, знаки валют, диакритика и всякое такое. А ещё — можно не переключаясь на другую раскладку набирать сербские буквы — њ, љ, џ, ђ, ћ и ј и, внезапно, белорусскую ў (при этом і там нет). Прикол?
  • 😁 3
  • ❤ 1
Post #252 2.73K
Без этой программы мне физически тяжело пользоваться макбуком
В прошлом посте я обещал рассказать что же стало настолько важной частью моего сетапа, что без этого я испытываю боль. Долго тянуть не буду — это Karabiner Elements.

Знаете этих любителей миниатюрных механических клавиатур? Их любимый вопрос от аутсайдеров хобби — "а как набирать цифры"? На который они готовы часами обьяснять про слои, mod-tap и другие фичи прошивки этой клавиатуры. И будут рассказывать, что если зажать клавишу, то клавиши тьболдгшщ превращаются в 123456789. Или что если нажать на ctrl и быстро отпустить то будет esc.

Так вот, чтобы получить доступ ко всем этим извращениям не нужно покупать клавиатуру на QMK/ZMK. Достаточно установить Karabiner Elements. Несмотря на то что я тоже любитель этой важей эргомеханики и уже 7 лет использую 60% сплит клавиатуру, большинство этих модификаций у меня работают именно на программном уровне, а не на уровне прошивки клавиатуры. Так я сохраняю рассудок, когда переключаюсь между своей домашней механикой и клавиатурой ноута вне дома.

Какие у меня включены модификации
Capslockesc при нажатии, ctrl при удержании. Наверное одна из самых важных модификаций. Capslock — клавиша абсолютно бесполезная в современном мире и пригодится, только если ВЫ ОЧЕНЬ ЗЛЫ И ХОЧЕТСЯ ВЫПУСТИТЬ ПАР. Ну или хотите аутентично писать на SQL, BASIC или COBOL. При это находится она в очень удобном месте прям под мизинцем. А ctrl и esc — наоборот, клавиши очень полезные, но находящиеся на неудобных местах, до которых приходится далеко тянуться. Поэтому этот размен очевиден.

Hyper key. Так как ctrl переехал на capslock, у нас освободилась клавиша в не самом удобном, но неплохом месте. Такое добро разбазаривать нельзя! Поэтому на него я вешаю hyper key — если нажать на эту клавишу, то это считается как нажатие ВСЕХ модификаторов. Так как никому в голову не придёт вешать хоткеи на такое, это free real estate для того чтобы создавать глобальные модификаторы. У меня на них выставлены команды Raycast: открытие окон, вызов экстеншнов и всякое такое.

Right cmd + hjkl как стрелки. Это одна из самых первых модификаций, которые я себе поставил. На моём сплите выделенных стрелок нет. А на макбуке они опять же очень далеко от того положения в котором руки набирают текст. Сначала у меня была модификация jikl как стрелки, но потом я освоился с вимом и мне стало гораздо привычнее hjkl.

Инвертированные цифры. Обычно на маке хочешь набрать @ — жмёшь shift + 2. У меня наоборот, чтобы набрать двойку, нужно жать shift + 2, а просто нажатие на 2 даёт @. Зачем так? Во-первых, цифры нужны не часто, а символы — довольно часто. Во-вторых, цифры я набираю на numpad-like раслкадке, активируемой по fn. Как раз на тех самых тьболдгшщ.
Rolling shift — левый и правый shift вводят ( и ) соответственно, если их нажать и отпустить. Крайне полезная штука, особенно для таких lisp enjoyer как я. Иногда бывает раздражает когда зажал шифт и передумал нажимать хоткей/вводить букву и вводится скобка. Но я привык удерживать 200мс чтобы оно считало это за модификатор.

В общем без этого приложения я не могу свой пароль ввести по мышечной памяти, не говоря уже о том чтобы нормально пользоваться системой. Советую вам тоже попробовать.
  • 🔥 7
  • ❤ 4
  • 👍 1
Post #251 1.51K
Апгрейд мака
Сегодня получил новый макбук на работе. Обычно дают неделю на то чтобы переместить все данные со старого ноута, но мне потребовалось всего лишь несколько команд. Ладно, лукавлю, конечно же я воспользовался этой миграцией чтобы почистить всякое старье из своего сетапа на старом ноуте, но на новом реально всё завелось очень быстро. Расскажу как всё было.

Homebrew
Первая же команда которую выполняешь на любом макбуке после того как обновляешь систему и устанавливаешь xcode-select --install — это поставить brew. За редким исключением в виде игр стима и корпоративных программ, всё что стоит на моём макбуке — всё поставлено и управляется через brew. Поэтому я просто дампнул на старом ноуте Brewfile, удалил оттуда программы, которыми я не пользуюсь и поставил всё из него brew bundle --file Brewfile. Кстати этим же способом можно поставить приложения из AppStore, а также go/cargo/uv пакеты.

Chezmoi
Вот поставили мы все программы — а с конфигурацией что делать? Руками копипастить конфиги? Завести всю home директорию под git? Лучшее решение — использовать dotfiles менеджер. Почему так называется? Потому что конфиги обычно лежать в домашней директории в папочках начинающихся с точки. .gradle, .config, .zshrc — вот эти все ребята. Я раньше пользовался Stow для такого, но давно хотел переехать на chezmoi и вот представился повод. Восстановить все конифги = скачать приватный гит репозиторий со всеми моими настройками и прожать chezmoi --source ~/.dotfiles apply. Прелесть chezmoi что он не только прилинкует файлы конфигурации но и вызовет нужные команды для сетапа.

Zinit
Chezmoi конечно менеджер конфигов, но для zsh нужен свой удобный фреймворк конфигурации. Чтобы были комплишены и нормальный поиск по истории. Кто-то ставит себе oh-my-zsh или zsh-for-humans. Я же терпеть не могу эти миллионы алиасов которые они насыпают. А ещё миллисекунды которые они добавляют на старт шелла. Поэтому я пользуюсь zinit и уже раньше писал про него в канале.

Asdf
Раз уж мы говорим про всякие менеджеры конфигураций, не могу не упомянуть asdf — под таким дурацким названием скрывается менеджер SDK и рантаймов. С небольшой конфигурацией он будет с лёгкостью одной и той же командой обновлять и переключать хоть текущую джаву, хоть ноду, хоть питон.

macos-defaults. sh
Это просто скрипт который выставляет настройки в system settings. Биндинги клавиш и всякое такое. Я обычно прошу это сделать агента, чтобы ещё и обновил этот скрипт. А то некоторые штуки очень легко потерять при переезде и потом искать.

На этом на сегодня всё, в следующих постах расскажу что же я оставил в своём Brewfile как абсолютно необходимое для работы. Честно говоря без одной из этих программ я вообще как без рук, мне физически тяжело пользоваться макбуком. Угадаете — какой?
  • ❤ 17
  • 👍 11
  • 👎 2
  • 🙏 1
Post #250 1.79K

Forwarded from Baddies Book Club

тимлиды, не верящие в гномов-овертаймеров, такие: «наверное, этот техдолг уменьшился сам»
  • 😁 51
  • 💯 8
Post #248 1.81K
Наверное поворотным событием в моей жизни было 9 лет назад подать заявку в Школу Мобильной Разрабоки в Яндексе. Я был второкурсником и мой однокурсник Саша подался туда и позвал меня с собой. Андроид приложение до школы я разрабатывал только одно. И то, скорее какую-то его часть на студенческом хакатоне. Ну и джаву почти не знал. Мне в то время больше нравился питон. Помню как решил не ходить на пары и неделю делал тестовое, не вылезая из комнаты. Кое-как прошёл и мне купили самолёт в Москву и поселили в хостеле с другими иногордними участниками школы. И мне кажется что иногородним гораздо больше повезло, чем москвичам, потому что я на пару месяцев только и делал что учился разрабатывать android приложения. Когда вокруг столько талантливых, увлеченных ребят, сам начинаешь ощущать себя талантливым и увлечённым. Помню ещё что для меня было сюрпризом что в конце были какие то собесы и меня даже наняли в авто.ру (вау!). Я думал что в сентябре 2017 всё закончится. А оно только начиналось.

Это я к чему, если вдруг кому нужно, то есть ещё неделя и до 3 мая можно забить на пары и успеть выполнить тестовое. В этом году школы по направлениям бек, мобилка, фронт и фуллстек
https://yandex.ru/yaintern/schools/summer
Летние школы Яндекса Ежегодная образовательная программа Яндекса, больше половины выпускников которой становятся стажёрами и сотрудниками компании
  • ❤ 20
  • 🔥 12
  • 👏 5
  • 🫡 3
  • ✍ 1
Post #247 1.94K
  • 😁 21
  • ❤ 1
  • 👍 1
  • 👌 1
Post #246 1.88K

Forwarded from LLM под капотом

Анализ кода агента с первым местом в слепом прогоне BitGN PAC1

Итак, Operation Pangolin получил первое место в слепом прогоне в Accuracy Leaderboard (поделил его с codex-on-rails)

Что у него под капотом? Это не столько чат-бот агент, сколько компактный программируемый аналитик со строгим чеклистом и REPL циклом.

Ядро написано на TypeScript. Там вызывается Anthropic Claude (для отладки - Sonnet, для соревнования - Opus). Причем у LLM-ки есть не куча инструментов, а только один - execute_code. То есть LLM-ка генерирует код на Python, который получает доступ к инструментам рантайма через класс Workspace, а еще памяти (scratchpad) и словарику с переменными. Результаты работы передаются обратно в Claude. Повторяем, пока код в итоге не выдаст ответ через ws.answer(scratchpad, verify), который успешно пройдет встроенную верификацию.

Решение работает очень хорошо, используя сильные стороны Claude по интерактивному анализу и написанию кода, подкрепленные заложенным заранее списком правил в чеклиста.

Слабые места решения (классы задач, на которых архитектура ломалась) - это:
- спрятанные в документах вредоносные инструкции, например t011
- удаление пачки файлов - t006
- кейсы, когда мы описываем сущности и проекты (и нужна LLM-ка, чтобы их найти) - t025, t051
- работа с датами, например t012, t037

Но при всем при этом, решение заняло первое место и показало результат лучше более сложных систем. Чтобы повторить в своем решении:

- упрощаем число инструментов
- даем агенту возможность писать код
- даем возможность сохранять память и результаты работы
- Прописываем четкие чеклисты и процесс валидации

Автор Operation Pangolin - @i_november!

Поздравляю с первым местом в соревновательной части BitGN PAC1! Решение заняло первое место в Accuracy Leaderboard (87 очков, поделили с codex-on-rails) и с первым местов в Ultimate Leaderboard (92 очка). Исходники - в GitHub.

Задавать вопросы автору можно прямо в комментариях к посту. Туда же я скину график, который сравнивает поведение этого агента с запусками всех других агентов в соревновательном прогоне.

Кто помнит хроники спасения проекта с LLM под капотом? Там использовалась схожая архитектура, где LLM генерила кучу кода, который и выполнял всю работу с выдающейся точностью.

Ваш, @llm_under_hood 🤗
  • ❤ 4
  • ✍ 1
  • 🔥 1
  • 🤔 1
  • 🤝 1
Post #245 1.32K
Архитектура в итоге была выигрышная! А говорят в эпоху агентов скилл ничего не решает и любая идея имплементируется на раз-два
  • 🤩 2
  • 🤗 1
  • 😎 1
Post #244 2.38K
Как занять последнее место в соревновании агентов

Сегодня я принял участие в сорвеновании по разработке агентов BITGN-PAC1 от @llm_under_hood. И занял последнее место в локальном лидерборде в Белграде. Мой слон правильно решил 9/104 задач. Как прийти к успеху, как я:

Первый ключ к успеху – тайминг. У меня была довольно тяжелая неделя и я добрался до того чтобы запилить первую версию агента в ночь с четверга на пятницу. А это, если что, соревнование, где заранее открыт тестовый датасет и вы упорно пилите агента пару недель до соревнования, а на самом мероприятии запускаете их на продовом датасете.

Второй ключ к успеху – запустить агента как джина с указанием в плане "выбить 43/43 тестового датасета". Утром пятницы у меня был готов "агент" выбивающий 43/43. Но было две проблемы:
1. там не было ни одного вызова LLM
2. Выбивал он их регулярками на датасете который он скачал, чтобы быстрее итерироваться

Третий ключ к успеху – незнакомая архитектура. Помните я писал про RLM и pi? Я подумал что соревнование – отличный повод опробовать на практике штуку, с которой я раньше не работал. У меня не было достаточно опыта, чтобы хорошо описать архитектуру и времени, чтобы много итерироваться. Например, только сегодня я обнаружил, что агент всё время пытается решить задачу за один проход, игнорируя точки останова, которые я ему дал чтобы исследовать проблему и потом уже придумывать алгоритм решения.

Четвертый ключ к успеху – отсутствие инструментов наблюдения и мониторинга, что же там агент делает на самом деле, какие тулы вызывает и где спотыкается. Это я всё сделал в день соревнования и только тогда смог найти своим взглядом баг выше.

Что я сделаю по-другому, когда буду принимать участие в следующем соревновании:
- начну сильно заранее и высвобожу под это больше времени
- сразу накидаю репортилку в которой будет удобно смотреть процесс и результаты
- запущу как можно быстрее версию которую просто сделает нейронка как ей понравится
- посмотрю на репорты и выведу ключевые идеи на основании которых выброшу всё и перепишу на v2
- на основе тестового датасета попрошу нагенерировать дополнительных кейсов
- дальше итеративно буду улучшать агента, отслеживая генерализацию, чтобы не было оверфита на тестовых задачах

Ещё один классный инсайт от одного из участников Виталия – поговорить с агентом на тему "как мыслить о такой задаче". Заметапромптить самого себя, так сказать. Это бы помогло подсветить заранее риски, возможные проблемы и, например, указать мне на тот факт, что задачи можно сабмитить на платформу параллельными воркерами.
  • 😁 23
  • 🏆 17
  • ❤ 7
  • 🤷‍♂ 2
  • 🤣 2
  • 🌚 1
  • 😎 1
Post #243 2.33K
В моём инфополе все вчера так возбудились сливу исходников claude code, что не заметили что утекло ещё кое что
https://huggingface.co/anthropic/Claude-Opus-4.6
  • 😁 47
  • 🤡 5
  • 🔥 4
  • ❤ 3
  • 👍 2
  • 😭 1
Post #242 1.99K
Как сделать доклад так, чтобы тебя запомнили?
Сделать его авторским.

Хочу раскрыть штуку, которую чуть-чуть затронул в посте про опорную метафору. Да, метафора помогает донести информацию до слушателя в виде готовой концепции – фреймворка мышления. И таким образом делает концепцию запоминающейся. Но что сделать чтобы запомнили не только концепцию но и тебя?

Любой хороший авторский продукт, если присмотреться, пропитан автором, плоть от плоти его. Имеет узнаваемый стиль, какие-то словечки. Но ещё любой авторский продукт это проводник в библиотеку всего того что автору нравится.

Я как-то посмотрел полуобзор на игру Ultrakill и он меня очень вдохновил. Автор буквально засунул в игру не только геймплейные механики, которые ему нравятся, но жанры музыки и отсылки к произведениям всех жанров. Говоря словами Hakita "я решил что запихну в игру все что мне кажется веселым".

И мне кажется, что это достойный творческий подход. Познакомить зрителей не только с концепцией, которую хочешь обьяснить, но и с какими-то произведениями, которые тебя вдохновляют. Это и есть то самое "вложить душу".

Поэтому работая над опорной метафорой, оформлением или шутками в докладе, постарайся вложить туда всё что тебе нравится. Даже если зрители не выкупят прикола, это сделает работу над докладом более вдохновляющей и лёгкой. А может для кого то ты станешь проводником в новые для них уголки культуры. Тем более что в наше время инфопузырей таких уголков и ниш великое множество.
  • ❤ 10
  • 👍 2
  • 👏 1
  • 🐳 1
  • 👨‍💻 1
Post #241 2.11K
Опорная метафора
Следующий важный ингридиент моего подхода к созданию докладов для конференций – опорная метафора. Эта штука – некоторая смесь стори-теллинга и логико-интуитивнного аппарата. И она решает важную задачу – дать нашим идеям какую-то декорацию, какой-то задник, чтобы они легче воспринимались аудиторией. Место действия для истории, которую мы хотим рассказать нашим слушателям.

Некоторые воспринимают слова "декорация" и "история" буквально. И начинают придумывать какие-то мини-рассказы с выдуманными персонажами и даже диалогами. Или же декорируют свои слайды как будто бы это комикс о супергероях. Но главный смысл этого приёма не в декоративности. Опорная метафора – это инструмент повествования, который помогает обьяснить сложную концепцию или извлечённые уроки.

Вспомни последнюю поездку на поезде. Когда соседний поезд в окне начинает двигаться, мозг какое-то время пытается понять: это мы движемся или нет? И часто это ощущение неопределенности не покидает нас до тех пор пока соседний поезд не уедет и за ним не откроется недвижущийся вокзал. Нашему мозгу всегда нужен контекст для интерпретации поступающей информации. И опорная метафора – это как ковёр Большого Лебовски – задаёт тон всей комнате.

Примеры хороших метафор:
- Обезьянка и Рациональный тип у Тима Урбана (популяризированные в рунете Максом Дорофеевым)
- Противопоставление этимологии слов simple и easy в докладе Рича Хикки Simple Made Easy
- График Healthspan у Питера Аттиа

Что отличает хорошую метафору?
1. Она наглядно-интуитивно раскрывает замысел автора
2. На неё, как на скелет, нанизывается всё мясо рассказа. Имея в голове хорошую метафору, легко понять что и как расказывать дальше
3. Она запоминается. Метафоры выше я накинул из головы за пару минут, хотя некоторые из работ я читал/смотрел годы назад

Как вывести опорную метафору для своего доклада? Обратись к произведениям, которые тебе нравятся или находятся в массовом сознании. Быть может, то, как (и с какой целью) распилили монолит на микросервисы для разных команд, очень похоже на Саурона с его кольцами. Или раньше сортировали тикеты, будто Золушка, а теперь появился инструмент – волшебная палочка, который делает это за героиню. Полезным будет и взглянуть на мир вокруг – может у вас получится объяснить наполнение спринта как сиси-одоси (или собьёт с толку тех, кто знает что это пугалка для птиц).

Хорошая метафора потом сыграет и декоративную роль – вокруг неё можно будет построить оформление, юмор и другие приятные украшения твоему докладу.
  • ❤ 17
  • 👀 2
  • ✍ 1
  • 👍 1
  • 👏 1
Post #240 2.27K
Не поминайте лихом, подписчики
  • 🔥 21
  • 🫡 7
  • 😁 3
  • 😱 1
Post #239 2.17K

Forwarded from Baddies Book Club

зашла на sof в 2 часа ночи после того, как потратила все лимиты на ИИ и так не смогла решить проблему
  • 😁 10
  • ⚡ 3
  • 🔥 1
  • 🤡 1
Post #238 2.37K
Код ничего не стоит, рефакторинг тоже
Наверное по контенту в моём канале может показаться, что код сейчас ничего не стоит и сильно ревьюить и вылизывать его – всё равно что выравнивать байткод по струнке. Ведь всё равно завтра агенты всё перепишут с нуля и с новых промптов. Но это (пока) не так.

Да, я считаю что к коду из-под нейронки надо относиться, как к чужому. Что не нужно пытаться заставить её написать так, как хочешь этого ты. В том же стиле, с теми же абстракциями. Это всё равно что диктовать кому-то текст, называя буквы вместо слов – тут уж точно быстрее написать самому. Да и читать этот код вообще не хочется, если всё работает.

Законы индустрии никто не отменял. Да, код бизнес-логики постоянно меняется. Но весь код в момент написания – это код Шрёдингера. Мы заранее не знаем какой код с нами лишь до следующего коммита, а какой – на десятилетия. И предельно важно, чтобы код, который с нами на десятилетия, был надёжной и удобной конструкцией, о которую мы все эти десятилетия спотыкаться не будем.

Да, те, кто запрягает нейронки писать тонны фич, обгонят тех, кто до сих пор нажимает ручные подтверждения на каждый дифф. Но те, кто не удаляет регулярно слоп, кто не поддерживает тесты в порядке – их продукты рано или поздно сгниют изнутри. И вряд ли их тестовое покрытие позволит сделать слопфорк своего же продукта с нуля.
Поэтому моя стратегия работы с кодом нейронок, которую я называю SDD (Slop Driven Development):

1. Заставляем агента покрыть юзерстори, дав указание покрывать всё тестами и логами на его усмотрение. Дотошно план и код не ревьюим, оставляем это субагентам. Главное тут – чтобы заработало. Желательно с минимальными усилиями по ручным запускам.

2. Как только заработало и мы понимаем что это нужная стори – у нас есть логи взаимодействия с внешними системами. Можно редизайнить тесты. Я обычно больше внимания уделяю интеграционным из-за специфики работы. Тут уже ревьюим план покрытия.

3. Как только все тесты проходят, можно рефакторить. Просим разбить ту кучу говна с шага 1 по любимой методологии. Если такой нет – советую завести, потому что затрахаешься каждый раз обьяснять агенту, в какую фигуру ты предпочитаешь раскладывать говнокод. Мне вот достаточно упомянуть два слова "stratified design" и агент делает всё как я люблю.

4. После того как код отрефачен, его можно ещё допокрыть юнит-тестами для лучшей презервации. Мало ли, вдруг мумия этого кода с нами останется надолго.

Что самое классное, ни один шаг не обязателен. Можно рефачить и улучшать сколько хочешь. А можно раскрутить слопомет, если уверен что код временный. Знать, когда какой шаг нужно пройти – и есть секрет за который нам как инженерам платят денег. И всегда был.

Повторю свой давний тезис – с агентами пока не произошло революции в программировании. Лишь подправились коэффициенты и больше нет отговорок следовать лучшим практикам инженерной культуры, ведь ROI этих практик улетает в небеса.
  • 👍 17
  • 🤮 9
  • ❤ 6
  • 🌚 1
Older posts →

About this channel

How can I read @izpodshtorki without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Голос из-под шторки | Миша Левченко: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Голос из-под шторки | Миша Левченко have?
Голос из-под шторки | Миша Левченко (@izpodshtorki) has 1.37K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Голос из-под шторки | Миша Левченко know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →