Comments 13
А-а, коллега! Здравствуйте! Как хорошо что вы зашли! :-)
Я в последнее время немного воюю с ветряными мельницами в AI-разработке, в том смысле что призываю народ прекратить говорить лозунгами типа "инженер - несет ответственность за результат кодогенерации". Потому что пока мы его используем в документах которые никто не читает - типа Responsible AI principles in (подставьте название компании) - или хотим назначать виновных при факапах, то этого достаточно.
А если мы всерьез про AI-first development, то эти лозунги будут типа оградки на кладбище - вроде она есть, и вроде кладбище продолжает успешно функционировать. Соответственно, нужны бы какие-то мероприятия (технические, или организационные) чтобы декларация перетекла в изменения реальности...
В частности:
Очень нужны decision-traces для агентов. Мало просто получить diff, или сгенерированные файлы - а желательно бы сохранить в каком-то виде мотивацию, рассмотренные альтернативы, принятые решения и implementation notes. Чтобы рассматривать код не как "артефакт в вакууме", а как часть законченного процесса, в котором присутствует внутренняя логика, и самосогласованность. Но с другой стороны, это не должен быть аналог LLM invocation log - где деталей столько, что проще самому код писать, чем читать этот поток мыслей перемежающийся вызовом тулов...
Очень желательно получать изменения не гигантскими блобами, а так - как это бы делал грамотный разработчик: сначала реализация "крупными мазками" (например, основные интерфейсы и минимальные имплементации для доказательства что решение имеет право на существование). Потом ревью (и возможно, модификация) - и только потом наращивание "мяса" на этот каркас, опять же итеративно.
Жестко настаивать на принципе "одно-из-двух" (ИИ пишет либо код, либо тесты для него). Потому что написание кода и тестов одной и той же моделью - это опасно. Если модель сделала ошибку в коде - то никакие промпты типа "внимательно проверь" не повышают значимо вероятность нахождения ошибки в тестах. Ну и вообще практику написания тестов по коду я считаю глубоко порочной, и допустимой только в очень особых обстоятельствах.
Что-то нужно делать для того, чтобы агентские модели умели вовремя останавливаться. Потому что я видел как агент планомерно разносит проект, пытаясь побороть ошибку вне зоны своего контроля, или вообще несуществующую...
Хорошие наблюдения. Кроме первого пункта, все решается инструкциями для агента. Тесты можно попросить писать в режиме "красный"/"зеленый", то есть сначала пишем падающий тест, а после исправления проблемы он начинает работать (хотя для этого как-то хитро надо CI настраивать).
Итеративную разработку просим еще на этапе планирования фичи.
Останавливаться при проблемах можно попросить в инструкциях. Я иногда прошу остановиться, если вижу проблему в рассуждениях (если я за ними слежу). Или уже по факту вижу сломанный пулл реквест и по рассуждениям могу понять, чего не хватает агенту.
Если конечное решение за принятие кода, который сгенерил ваш ИИ копайлот лежит на вас, то и за это вы и отвечаете. Если вы прожали тап и приняли подсказку, если не глядя тыкнули комммит и мр, вы несёте ответственность как конечное ЛПР. Сори тут слезть с ответственности и переложить все на ИИ не выйдет. И я прошу разделить генерацию кода LLM тут вы конечно не виноваты, и принятием этой генерации как части вашего проекта, если код попал по вашему согласию из генерации в проект - ответ на вас.
И автору поста: агентный, а не агентский. Агентский в ру языке только договор, а подход агентный уже 30 лет в обед в СНГ - агентный. Вы же не переводите domestic как домашнский, а как домашний, не местнеческий, а местный. Также и agentic в ру языке это агентный.

Это очень тонкий момент. С одной стороны - безумием будет считать что за код сгенрированный ИИ - никто не отвечает (из кожаных). С другой - декларация "отвечает инженер" - дает только одну гарантию: что вы в любой ситуации найдете стрелочника. Потому что если с одной стороны LLM выдает экраны непонятного текста, а с другой - начальство давит - "у вас же LLM есть, давайте быстрее - кто медленный того уволим!" - то какие есть варианты у инженера ? Кроме как давить кнопку "одобрямс!", и надеяться что в этот раз пронесет ?!
Я поэтому и поднимаю вопрос сейчас - пока идет развитие инструментов. Две части: устройство самого инструмента, и практики его использования - должны быть адекватными и согласованными, чтобы использование инструмента было а) безопасным; и б) эффективным...
Что означает "никто не отвечает из кожанных"? Когда соглашение и так "as is", ответственности перед пользоваталем в привычном смысле и так нет и никогда не было. Ни за работоспособность, ни за стиль, ни за что. Сейчас то почему рука дрогнула? Потому что жать одну кнопку и робот может?
Зря вы всех под одну гребенку-то... Понятно что массовом секторе у потребителя действительно две возможности: "as-is" и "пшел-нах". Но в серьезном корпоративном секторе - где компании примерно одной весовой категории - еще как дерут за качество... Ибо даже если по лицензии убытки с тебя взыскать невозможно - подмоченная репутация и провал в будущих доходах - гарантируются.
Что бы прийти к конструктиву нам надо определить проблему ТС в строгих измеряемых дифинициях и если мы это сделаем, боюсь ТС решение не понравится.
Его работа выхолощилась к нажатию кнопки "верю" и технической возможности проверить все содержимое своей работы у него нет. И отказаться нажать он ее не может, потому что нет той крепости, которую не возьмет осел груженный золотом и его инвестор такого осла уже запустил. ТС не удержит этот рубеж ни в одиночку, ни в картельном сговоре с нами.
Решение проблемы ТС (и нашей с Вами тоже) не в его действии или бездействии. А те, в чьих руках находится хотя бы возможность что то поменять сейчас вливают сотни миллиардов в обострении этой проблемы. С этими сотнями миллиардов в отрасль вольются реки проходимцев, которые за все "возьмут ответственность и нажмут все, что надо".
ТС еще не осознал просто, что рубикон уже пересесен. Мы если уже не на той стороне, но и вернутся не выйдет.
Спасибо, я почему-то при слове "агентный" вспоминаю как раз тех самых Смитов а никак не набор программ... Но замечание очень интересное!
Допустим, агент сгенерировал новую фичу - ура! Но много ли вы знаете людей, которые искренне радуются ревью с диффом +2600 / −1400? А если таких ревью несколько в день?
В какой-то момент ревью перестаёт быть про понимание и превращается в акт веры: пролистать изменения, убедить себя, что «вроде всё нормально», и нажать большую синюю кнопку "Push".
Я часто практикую кросс-ревью другими моделями. В приципе, и та же самая, что делала доработку запросто может найти баги в своем же коде через 5 минут после его написания, но чем больше разных моделей посмотрит код, тем лучше. Это касается только объемных МР-ов, которые сам так легко не проверишь.
Небольшое лирическое отступление - любая статья или коммент про ЛЛМ-разработку в положительном ключе на хабре сразу получает кучу минусов. Мне аналогично заходят и тупо ставят минусы в карму. Из некогда передовой площадки он превратился в заповедник луддизма, поэтому публиковать подобные статьи здесь, просто нет смысла.
Интересно, а как относится топменеджмент к этому? Знаю случаи , когда требуют от всех писать агентов...
Аналогичные ощущения. Попробовал с 0 с помощью агента Crush CLI + Deepseek несложный CLI-чат AI реализовать, проверить, как будет процесс проходить. Если не следить, то может в тупик зайти и приложение почти рабочее сделать. Пришлось несколько раз дебагером пройтись и прекращать креативность агента, вручную исправляя неточности. Но всё равно вместо нескольких дней заняло несколько часов и без полного погружения и изучения библиотек. Цена вышла 3 доллара и личное время, одним глазом поглядывая за его диалогами и запросами на одобрение. Результатом доволен, получилось вполне в меру красивое и работающее приложение, как я и в самом начале задумал. Но точно без опыта нереально «вайбить» приложения более-менее нестандартные приложения, я думаю. А агенты — это станки для обработки болванок, и мы пока находимся в самом начале их формирования.
Какая у Вас, простигосподи, реальная ответственность? Не запушите Вы первым - запушит другой. Инвестор готов и рискует миллиардами вкладывая в то, что может не отбиться, с Вас то что взять при случае? Если это послелняя линия, то мы ее считай пересекли. Дело совсем не в инженерах.
Что меня беспокоит в агентской разработке: заметки инженера в 2026