Comments 67
Давно открыл для себя силу и мощь design.md и plan.md. Ещё делаю оформление задач: берём тикет из Jira или просто кратко описываем задачу, а агент на основе кода формирует детальное описание. Потом решил это всё автоматизировать и сейчас пишу свой harness https://github.com/seko99/AgentWeaver Уже и базовые функции git и diff view туда затащил, в IDE только навигация по коду и дебаг.
Странное впечатление. Много статей, как стали программировать с ИИ. Но очень мало, что в результате сделано с ИИ. Вот лежит на GitHub востребованный продукт не очень большого размера для платформ Win, Lin, macOS, но нет для Android и iOS. И не видно, чтобы кто-то взял LLM и портировал на эти платформы.
Ну чуда не случилось. Просто программировать и в результате создавать больше багов стало быстрее. Все равно что бы вы с бешеной скоростью не производили. Всегда упрется в отдел тестирования. Ну в целом если ответить на ваш вопрос. То чуда то нет. Можно ваше востребованное переписать на нужную платформу при помощи LLM. Но все равно без тестировщиков которые проверят и вас ткнут носом в баги вы никуда не денетесь... В общем программисты стали более эффективные но узкое горлышко в виде тестировщиков все равно их сдерживает........................
Ну выж лукавите. Теперь можно быстро сгенерировать гарантированно успешно завершающиеся тесты. Очень много тестов. Тучи тестов.
Так что с тестированием вопрос решен
/S
Если программисты стали эффективнее, то, наверное, повысилась автоматизация? Экономические показатели выросли? Обороты в IT растут? Наверное, можно посмотреть статистику такого роста? Правда ведь?
В результате теперь нужно меньше программистов и их массово увольняют
Увольняют меньше чем в 22 году. Тогда было прекращение хайп найма после изоляции на ковид
Я про США
Если брать глобальный Layoffs.fyi: 2022 — 165k
2026 уже 110k+
В этом году не только айтишников увольняют. Кризис в мире.
Хорошо так генерировать тезисы из воздуха, и переобуваться на ходу. Но вот вопрос - зачем? Стратегия коупинга или какая-то личная заинтересованность?
Если к фактам:
Если брать США шире, общие объявленные сокращения у работодателей через апрель 2026 - 300,749, что на 50% меньше, чем за тот же период 2025 года
При этом tech - исключение: в tech через апрель 85,411 сокращений, +33% г/г и максимум с 2022
По BLS в США в апреле 2026 безработица была 4.3%, не изменилась, занятость выросла на 115k
Так что, мировой кризис сейчас с вами в одной комнате?
Больше 90% кода на сегодняшний день пишется с помощью LLM, и то что вы видите на гитхабе (почти любой свежий проект), это оно и есть
Заглядывал я в такие проекты. Трогать это нет никакого желания, только палочкой на растоянии потыкать.
А вы и не узнаете такие проекты с виду, во многих репозиториях фильтруют llm workflow (скилы, промпты и тд). Ну и под мое утверждение выше попадает любой код, который пишет разработчик с помощью ИИ или даже полностью. Во многих компаниях не принято в командах рассказывать что ты пишешь код с llm, это табу.
К примеру достаточно крупные проекты это gpui от zed ide. Ну а еще крупнее - Google, oracle, Linux - Canonical в лице Linus Torvalds, Meta, Twitter, Apple и даже OpenAI и Anthropic, и так далее.
P.s Странно что кому то не понравилось мое сообщение выше) факт отрицания
и через @ указать файлы, в которые нужно посмотреть или которые нужно исправить.
а если неизвестно какие файлы нужны или их несколько десятков/сотен ? или файлы нужно создать с нуля ?
Да я не знаю, зачем там автор что-то указывает. Агент и без этого прекрасно находит, где и что нужно править.
Если можно указать, почему бы это не сделать?.. И инструкция будет точнее, и агент меньше токенов потратит на анализ.
С таким подходом можно просто руками писать. Токенов еще меньше потратишь.
Агент хорошо умеет искать нужные участки кода. Если кодовая база огромная, то стоит подсказать, где искать. Но вручную проставлять файлы - это боль и риск, что пропустишь что-то нужное для контекста.
это какой агент так умеет ? когда последний раз пробовал кажется aider - требовалось указать файлы
собираюсь использовать с локальной LLM, так что токены не важны, больше для экспериментов
Это просто дорого и долго.
Если не следить за проектом, то в какой то момент начинает работать как рулетка - прокрутки есть, результата нет. Или ломается больше чем строится.
Ну и дорого, задашь расплывчатую задачу и лимиты потекли.
Как программировал 10 лет назад (всего программирую 22 года), так и продолжаю: открыл Vim и вперёд. Автозавершением не пользуюсь с тех пор, как меня стали раздражать всплывалки, никому ни за что не плачу. Для навигации по коду - ctags.
У меня обратное наблюдение. После года интенсивной работы с LLM стал больше времени тратить на формулировку задачи до промпта — размытое ТЗ даёт мусорный код, и экономия пары секунд на автокомплите не покрывает потерь на разборе галлюцинаций. Похоже, автокомплит и осознанный промпт — это два разных модуса, и переключаться между ними сложнее, чем кажется.
Не понял, почему статью заминусовали.
Автор описал интересные идеи, в частности подход к поиску багов.
С пол года как тоже перестал писать код руками. Впечатления пока смешанные.
В пет проекте от агентного кодинга очевидный профит. Ковыряться в сложной логике после рабочего дня или в выходной без зарплаты обычно было ужасно лень. Но с агентом энтузиазм снова вернулся. Можно все переделывать и проверять идеи хоть каждый вечер. Код получается странноватый, но кроме меня в проекте никого нет, так что некоторая его спагетификация для меня не проблема.
В продукте на работе польза менее очевидна. С одной стороны, я пишу за час код, с которым раньше возился бы две недели. Или обнаруживаю причины сложных проблем попивая чай и прочитывая новости, задавая агенту направление поиска и ожидая результатов.
С другой стороны, мне по прежнему нужно убедить себя и коллег, что этот новый код делает в точности то что нужно, имеет оптимальную архитектуру и в его логике ничего не упущено. Раньше я получал нужное понимание пока писал код. Теперь мне надо открыть диф и упорно въезжать в логику которую я не писал пока ощущение "приемлемо" не превратится в уверенность что предусмотрено все и больше нечего улучшать. В итоге на все вместе уходит примерно столько же времени как раньше. При этом есть ощущение что вот вот случится прорыв, количество накопленного опыта работы с агентом перейдет в качество и я начну щёлкать по pbi в день, но пока по разным непонятным причинам этого не происходит.
ощущение что вот вот случится прорыв, количество накопленного опыта работы с агентом перейдет в качество и я начну щёлкать по pbi в день, но пока по разным непонятным причинам этого не происходит.
И не произойдёт. Но вы пытайтесь. Кто-то же должен набить шишек на этом пути и рассказать что он идёт в тупик
Я все же думаю, что он произойдет. Новые агенты и модели объективно умеют создавать работающий осмысленный код. Сложно представить, что такую возможность нельзя эффективно эксплуатировать. Нужно только наработать практику и методы.
Вокруг меня на это есть разные мнения. Есть люди, которые очень хороши в ревью, делают его в разы быстрее меня и за счёт этой насмотренности сильно ускорились с LLM. Есть люди, которые уверены что при правильных рулах и скилах код по качеству неотличим от человеческого и ревью вообще не нужно, а достаточно много тестов. Чего я практически не встечаю, так это скепсиса.
Теперь мне надо открыть диф и упорно въезжать в логику которую я не писал пока ощущение "приемлемо" не превратится в уверенность
Вот именно поэтому я ставлю LLM задачи, которые обычно решаются максимум в два экрана кода за раз. Только так я всегда в курсе, что происходит, и имею чувство, что я разработчик, а не тестировщик при LLM.
Тогда смысл агентного кодинга несколько теряется. Чтобы разбить задачу мне нужно найти все модули, осознать и распланировать архитектуру. А так я просто пишу что за фитча нужна и агент сам продумывает все остальное. В итоге без пяти минут тотальный успех, но да, пока есть нюанс - я пока не умею получать прод качество решения быстро.
два экрана кода за раз
Я решал через LLM задачи на +5000, -5000 строк с необходимостью знать зависимости ещё на 5-10.000 строк. Правда, это был не один промпт, не один день и даже не месяц (календарно, не фуллтайм). Да и зря в общем-то, лучше бы руками. Но решил, да. Больше так не буду.
ЛЛМ это не интеллект, а просто способ сжатия данных с потерями. Использую просто для создания черновиков, обсуждения идей. Против использования агентских режимов - вот тебе кодовая база, сделай красиво
Как я за последний год стал программировать по-новому
Я стал
больше читать и анализировать старый код.
видеть не одно локально оптимальное решение, а целую гроздь возможных локальных и глобальных рефакторингов
видеть каскады ошибок в легаси, когда одно плохое решение тянет за собой несколько других
не искать лучшее, но останавливаться когда нашёл достаточно хорошее
не слушать помощников на стадии выбора архитектурных решений
проектировать в абстракциях, без реализации
делать быстрые spikes для проверки гипотез боем, понимая что это ещё не prod ready
фиксировать принятые ADR, их причину, приоритеты и контекст
откладывать ADR до момента когда это действительно нужно, иначе ты вгоняешь себя в ненужные рамки
планировать работу на месяцы
иногда пускать пыль в глаза менеджерам показывая гениальные и красивые решения, реализованные LLM - demo, но не prod ready
медитировать, отказаться от быстрого цикла поощрений
избегать ai brain fry
Не научился:
находить достаточно большие куски времени чтобы успеть погрузиться в задачу: их просто нет, нужно забирать их с боем
Погодите, где же тут LLM? Их почти нет.
реальный сдвиг это углубление в архитектуру и работу со сложностью, а не освоение "AI"-инструментов. Это идёт против хайпа
Не сказал главного: зачем это всё мне понадобилось.
Итог года: научился эффективно работать с большими, сложными программами длительного жизненного цикла (лет 15+, которые ещё столько же проживут), снижать риски и стоимость сопровождения/развития. Теперь я уверен что напишу программу порядка 100 kloc насыщенную бизнес логикой или спроектирую на 300 kloc и эти программы будут жить долго и счастливо полные архитектурных abilities
И заменять их не будут ибо цена замены не в коде, а в организации процессов и даже привычках
А мне нравится писать код. Нравится дебажить. Почему я должен отдавать роботу то, что мне нравится? А если вам не нравится программировать, то почему вы тогда оказались в этой профессии?
Ну камон, ойти это давно клуб ремесленников, не обязательно чтобы зарабатывать деньги прям сильно любить то, что делаешь
Достаточно чтобы это было не сильно противно, тренировало мозги и не сжирало все твоё время :)
А разве разработка это печатать код на клавиатуре? Разработка - это продумывать технические решения и как они впишутся в существующую архитектуру. Этого ИИ у вас не отбирает, думать за вас оно не будет, но может избавить от рутинного набирания кода на клавиатуре
Нравится дебажить
херасе)
Благодаря Дипсику у меня снова появилась потенция, как у мужчины, только как у программиста. Это удивительное чувство омоложения на пару десятков лет. Я более не боюсь и ни на кого не равняюсь, я ТВОРЮ. Также, как и когда начинал с этим вашим IT, не боясь, и не оглядываясь. Только когда я начинал, я не знал насколько глубока кроличья нора, а когда узнавал все больше и больше, тем меньше и меньше мог мочь что-либо.
Плюсуйте, если тоже так запутались, а теперь получили возм-ть распутаться.
Появление такого рода инструментов было неизбежностью.
Благодаря Дипсику у меня снова появилась потенция, как у мужчины, только как у программиста. Это удивительное чувство омоложения на пару десятков лет. Я более не боюсь и ни на кого не равняюсь, я ТВОРЮ.
А что раньше творить мешало, без Дипсика?
В какой-то момент кол-во информации, которое я усвоил, начало тянуть камнем на дно.
И лучше бы я как 30 лет назад ничего не зная об устройстве ЭВМ, костылил что-то на QBasic, и оно тогда получалось, черт возьми. И это делало меня радоваться, чем описанное "я много знаю, но ничего не могу".
related-статья https://habr.com/ru/articles/301924/
Проблема одна - синдром безрукого инженера. Так как будто есть реальный шанс потерять навык писать самому код. То есть ты можешь видеть архитектуру, и так далее, но не сможешь сам реализовать если вдруг что. Так что иногда стоит писать без агентов, особенно если это пет проекты, самому писать код и развиваться.
Водитель экскаватора тоже сам не выкопает огромную яму, но из-за этого он разве перестает быть специалистом?
Водитель экскаватора тоже сам не выкопает огромную яму, но из-за этого он разве перестает быть специалистом?
Аналогия не подходит. Водитель сможет сам выкопать такую же яму лопатой, только медленнее. Экскаватор - та же самая лопата, только большая. Тут уместнее аналогия с пилотом, наученным летать только на автопилоте, который вдруг понял, что теперь надо управлять вручную, так как автопилот почему-то не работает или делает что-то не то. А может даже и не понял - навыков-то нет.
Тут скорее аналогия с прорабом, управляющим строительными рабочими. Разумеется, он все это должен в деталях понимать. Но не обязан делать. Это делают другие, а он это контролирует, направляет.
Разумеется, он все это должен в деталях понимать
Только в реальности все поголовно думают что они - это как раз те самые крутые прорабы, которые понимают но на самом деле многие из этих "прорабов" - это просто брат/сват/зять начальника стройки и оказался там по знакомству, но думает что все работает благодаря его сверх разуму
Поэтому, переводя в плоскость программирования, человек должен сначала годами "собрать все шишки", подзае__ться от всего этого рутинного труда, и перейти на другой уровень, который сейчас предлагают замечательные нейронки. Если человек шарящий, в его руках это будет отличный инструмент. Ему лишь останется делегировать, разделять и властвовать.
Спс за комментарий. В программировании тоже полно нубов, и сейчас благодаря нейронкам (считай новый слой абстракции, скрывающий то, что происходит "под капотом") мы получим еще больше дерьмософта, на порядок больше. Но это означает также и то, что спецы станут еще более востребованы, т.к. только им будет под силу разобрать, что же там нахреначил нейровайб.
Мне нравится использовать llm для пет проектов и проверки гипотез. Написав тонны кода, понимаешь, что при кодинге 90% времени тратится на одно и то же - повторение шаблонных кусков кода, воспроизведение шаблонов проектирования, борьбу с языковыми парадигмами и тому подобное. Со временем это становится неинтересно. Мне нравиться решать инженерные и организационные задачи - изучить задачу и аналоги, выработать план и стратегию решения, продумать пути развития, подобрать библиотеки или фреймворк, в общем осмыслить все то, что действительно делает решение оптимальным. Но когда все это продумано, кодить уже не так интересно, особенно если ты понимаешь, что так или иначе оно заработает. Но нейросети позволяют не только проводить мысленные эксперименты, но за пару вечеров добиться результата. Недавно я ради изучения нескольких микросхем и очень интересного ЖКИ сделал карманный калькулятор. Базовый код и некий прототип ос написал руками (видеодрайвера, шрифты, переключение приложений), начал писать реализацию RPN-кальклятора руками, потом, когда стал пропадать интерес, подключил ллм и дописал калькулятор, вставил до кучи реализацию языка форт. Сейчвс поделка лежит среди разного электронного хлама, так как требуется следующий этап - закорпусировать и главное - придумать как сделать нормальную клавиатуру с понятными подписями. Но это уже не так интересно, так как первоначальный гештальт - спроектировать достаточно мощный калькулятор с низким энергопотреблением я для себя закрыл.
Использую ИИ агента для генерации кода и тут же сам выполняю ревью - отчасти для того, чтобы продолжать понимать весь код проекта. Удобный git diff в IDE помогает. И конечно же тесты - их стало больше и разнообразнее. При этом вся работа разбита на задачи, чтобы код между разными задачами не пересекался. Это же помогает потом для багфиксинга, чтобы агент читал и менял именно тот код, который был создан под задачу - так не меняются названия сущностей в коде. Наличие ИИ агента не сняло с меня ответственности за результат, а увеличило скорости работы и сути освобождает мне время. А время в нашел мире очень ценный ресурс.
Посидел тут пару дней и выбрал другой IDE вместо JetBrains. Называется Zed.dev - думал Antigravity использовать, но как то не вкатил, тот же VS Code - вид с боку, а вот Zed - тема.
Также отказался от Codex CLI и Claud Code CLI - перешел на новый кодинг агент называется Pi.dev - например шлет в клауд коде ПРИВЕТ он сжирает 30 тыс токенов. А если шлешь ПРИВЕТ через Pi - то всего 1 тыс... вот и думайте...
В Pi ставьте плагин BraveSearch
А в Zed в конфиг добавляйте:
“autosave”: “on_focus_change”, “format_on_save”: “off”, это автосохранение и что бы он не форматировал ваши исходники по каждому чиху а то в комиты все это лезет...
Когда просишь агента написать тест, самое важное - не “что проверить”, а контекст вокруг теста: fixtures, shared state, порядок выполнения. Без этого получаешь тест, который зелёный в изоляции и падает в CI - не потому что агент написал плохо, а потому что он не знал, как устроено окружение.
С debugging через логи то же самое. В Playwright перешла от пошагового дебага к описанию symptom chain: что тест ожидал, что получил, в каком порядке шли другие тесты. Агент находит паттерн быстрее, чем ручной дебаг.

Как я за последний год стал программировать по-новому. А как вы?