Коллеги, которые выполняют полный цикл разработки (от идеи до продукта/документации), в каких аспектах вам удается получать ощутимую выгоду от применения ИИ?
По применению в поиске алгоритмов, возможных путей решения задач, документации, примеров, разъяснений и т.п. вопросов нет — иногда сразу дает годные ответы, иногда в ответах есть лишь общие сведения, которые нужно уточнять разными способами, тут все более-менее понятно.
Удается ли кому-нибудь существенно ускорить разработку, повысить качество, эффективность или надежность, непосредственно кодом, полученным от ИИ?
Я вот пока не могу представить, чем бы мне мог помочь ИИ в этом плане, когда мне, грубо говоря, не за кого спрятаться. Если оказывается, что я налажал в собственных идеях или коде, то я хоть понимаю — что, где и зачем я придумал и написал, где искать, как примерно исправлять, что еще можно придумать и т.п. А если мне налажает ИИ, то ко всему этому добавится еще и разбирательство в его творчестве.
Типичный современный вайб-кодер — это либо наемный кодер уровня не выше среднего, получающий сверху достаточно четко сформулированное задание (которое он порой может напрямую скормить ИИ, и даже получить что-то осмысленное в ответ), либо "вольный экспериментатор", использующий сгенерированный ИИ код для каких-то сугубо внутренних целей (например, исследовательских). Если через какое-то время внезапно окажется, что с кодом что-то не так, в первом случае всегда найдется, кому прийти на помощь — проверить, поправить, дать по башке, перестроить схему работы и т.п., а во втором случае это, как правило, не особо критично — ну подберет экспериментатор методом итераций рабочий вариант, да и ладно.
Когда я пытаюсь придумать, какой полезный для моей работы код я мог бы извлечь из ИИ, в голову реально ни черта не приходит. Максимум — попросить его написать мне какой-нибудь цифровой фильтр или очередную реализацию БПФ, которые я, со своим уровнем опыта в вычислительной математике, традиционно не осиливаю. Но то же самое можно найти и на просторах интернета в готовом виде — все равно придется тщательно проверять, прогонять в тестах, адаптировать под себя и т.п.
Если же пытаться получить у ИИ мало-мальски готовый код, например, для GUI с несколькими окнами, кучей разнотипных данных на отображение и ввод, работающий в реальном времени, то как это может выглядеть? Полученный код нельзя просто вставить и использовать — его нужно проверить визуально, затем на тестах, затем подправить по месту, что-то поменять, что-то убрать и добавить. Если после всего этого окажется, что не учтена какая-то тонкость, ее придется доделывать либо самому (порой ломая модель, которая этого не предусматривает), либо перегенерировать код заново, и заново повторить все этапы доработки/интеграции. Как-то подобная перспектива не впечатляет.
Я пытался написать с помощью ИИ ТЗ для ИИ же на написание утилиты на питоне (на плюсах не хотел просить, полагая, что с плюсами ему сложнее справится) Два дня я писал ТЗ с его помощью, постоянно уточняя детали, которые я сам бы просто решил по ходу дела. В общем, я так и не добился от ИИ непротиворечивого ТЗ для ИИ, пришлось день потратить и самому написать тулзу на плюсах
Но, я пользовался дипсиком, в чате. Он периодически порывался сам поправить ТЗ, но я хз, как бы он его поправил, поэтому я сам правил ТЗ с учётом его замечаний, и каждый раз он находил ещё что-то. Ну и плюс то, что хотя проблему он находил, он предлагал решения, которые мне не нравились по разным причинам.
У меня была идея кормить ии, и попросить, чтобы он выдал всё в маркдауне, оформив отдельные файлы в виде блоков кода, перед которыми идёт имя файла. Я забил на несовершенство ТЗ, и скормил его дипсику, и он мне выдал маркдаун с листингами. Я на это посмотрел, заленился руками всё сохранять, и сам написал тулзу, которая сохраняет все файлы из листингов из маркдауна. Был косяк в маркдауне, и сохранялось некорректно. Я думал, это у меня был косяк, но разобрался — маркдаун был неоднозначный. Я попросил дипсика исправить проблему, подробно всё расписав, и он исправил, и всё очень годно сохранилось. По виду получился нормальный питоновский пакет, но я уже не стал проверять, у меня утилита уже и так есть, самописная на плюсах.
Вообще, я решил запилить тулзу, которая собирает промпт для чатика в тч из препромптов, плюс умеет собирать требуемые файлы в маркдаун с листингами, получать обратно маркдаун с листингами и разбирать его на файлы.
Думал напрячь ИИ, чтобы он сам написал, но решил в итоге, что самому проще будет, пока тулзей еще нет. С ними, возможно, будет попроще.
Я конечно понимаю, что изобретаю что-то уже изобретённое, но пока вот так решил попробовать. Всё равно а) у меня нет простой возможности пользоваться всякими агентами б) не доверяю я какой-то неведомой херне, которая будет выполнять произвольные команды у меня на компе в) на работе всё равно только чатик доступен
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Удается ли кому-нибудь существенно ускорить разработку, повысить качество, эффективность или надежность, непосредственно кодом, полученным от ИИ?
Конечно. К некоторым вещам я даже раньше боялся приступить, а теперь другое дело. В сущности, это вроде коллеги, который разбирается в програмировании, и помогает тебе.
Скажем, моя цель была собирать статический сайт на реакте. Я давно думал об этой задаче: тут, помнится, кто-то из коллег рассказывал о такой системе. Но сколько я ни пытался начать, довольно быстро застревал, и дело не двигалось. С ИИ я быстро сделал, что хотел, и даже более того: после сборки прогоняются тесты на битые ссылки, проверяется корректность метатегов и пр.
И ещё круто, что можно быстро делать мелкие утилиты. Например, у меня куча зарубежных счётов. Раньше я тратил кучу времени, чтобы раскидать выписки по папкам (их надо держать в порядке на случай запроса ФНС). Потом chatgpt написал мне скрипт на питоне, который вдобавок ещё и проверки всякие делает.
Вообще, мне кажется, что ИИ — это как раз то, что шароварщику очень подходит. Ведь мы — люди-оркестры, одиночки в основном. И вдруг оказалось, что то, что раньше надо было отдавать на сторону, теперь за какие-то копейки делает ИИ: дизайн, правка текстов. Ну и кодинг. Классно, что можно обсудить задачу, сгенерировать тесты.
ЕМ>Я вот пока не могу представить, чем бы мне мог помочь ИИ в этом плане
Здравствуйте, Евгений Музыченко, Вы писали:
M>>на написание утилиты на питоне
ЕМ>То есть, выступая в роли того самого экспериментатора, которому нужна наколенная утилита, которую, кроме него, вряд ли кто-то будет использовать?
Очень хорошо помогает. Я использую для написания отдельных функций. То есть я сам продумываю функцию, пишу задачу, получаю код. Бывает, требуется доделка, бывает сразу в продакшн. Делаю парсеры, например. Раньше делал их сам, но с ИИ ускорение на порядки. Иногда бывает, прошу разработать и сам алгоритм, особенно, когда в языке сам не особо шарю.
Полгода уже планирую переписать с ИИ большой проект, пока никак не подступлюсь. Главное, что останавливает — опасение за конфиденциальность данных. Надо бы как-то локальный ИИ завести.
Еще одно применение — настройка серверов. Админю несколько — очень помогает. Также использовал для апгрейда компов — подбор комплектующих, советы всякие. Но может и обмануть, заказал тут пульт для старого телека, разные ИИ уверяли, что он совместим, а оказалось — нет.
Важно выбрать правильный ИИ. Под мои задачи отлично справляется Qwen. Deepseek показывает себя гораздо хуже в кодинге, зато отлично справляется с переводами, распознаванием документов. Неплох и Гугловский (который "Режим ИИ"), но его в основном пользую, если задача сопряжена с актуальными данными, или для дополнительной проверки. ЧатГПТ не пробовал.
Здравствуйте, Евгений Музыченко, Вы писали: ЕМ>Коллеги, которые выполняют полный цикл разработки (от идеи до продукта/документации), в каких аспектах вам удается получать ощутимую выгоду от применения ИИ?
Я использую для всего, основной инструмент Claude Code CLI Max план, он дает колоссальное ускорение и последняя модель Opus 4.6 по уровню уже ближе к сеньору, чем миддлу. Самая слабая часть это диайзан UI — у ИИ довольно своеобразное представление как все должно выглядеть, любое окно приходится подгонять типа тут сделай больше, это подвинь, это убери и так десятки итераций. Сильная часть — невизуальная. Чтение спек, кода с гитхаба, написание алгоритмической части, тесты — тут все отлично. Даешь ИИ что должно получиться и он через много итераций этого добьется. В саппорте можно прям сказать тут кастомер прислал баг, посмотри в коде. Может за пару минут найти баг, который ты бы искал часами.
Но тут важно понимать что это именно агент(ы) — они могут работать часами над какой-то проблемой, искать данные в интернете, использовать тулчейн и отладчик на твоем компе, никаких копирований туда-сюда через чат. В качестве примера ускорения — мне хотелось в свои продукты на Лазаурс добавить HTML-панельку, но не кривую опенсорсную заброшенную 10 лет назад. Я скачал спеки HTML/CSS, исходники Chrome/Firerfox и сказал сделай мне простой веб-движок вот с такими возможностями. За два дня у меня получился очень приличный компонент грамотно структурированный по файлам и классам, чуть больше мегабайта исходного кода на паскале, умеющмй вот такое:
Вот такое
Теперь документация — даешь агенту папку с исходниками и говоришь сделай доку — он сделает. Когда добавил что-то новое говоришь, посмотри вот коммиты за 3 дня обвнови и дополни доку — сделает. Добавить 25 языков в программу? Легко. Перевести доку на эти языки — тоже легко.
Исследование рынка: думаю написать XXX, найди конкурентов и список и фич и предложи что можно улучшить. Реверс инжинириг — ну ка скачай мне вот того конкурента и выясни как он делает YYY — агент засядет за дисассемблер (обычно Python Capstone) и выдаст ответ или направление исследования.
Это нереально мощный инструмент для нас мелких шароварщиков, как если бы ты получил команду в 10 человек практически забесплатно, готовых 24 на 7 делать что им скажешь. Но повторюсь, это именно агентская разработка — он все делает сам, я IDE уже три месяца не открывал. С обычным чатом такое не прокатит, там только копи-пейст туда-сюда.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ>Я использую для всего, основной инструмент Claude Code CLI Max план, он дает колоссальное ускорение и последняя модель Opus 4.6 по уровню уже ближе к сеньору, чем миддлу. Самая слабая часть это диайзан UI
а можно пример наиболее сложной или трудоемкой задачи которую ИИ решил на уровнеблизко к уровню сеньера
Здравствуйте, sergey2b, Вы писали: ЧВ>>Я использую для всего, основной инструмент Claude Code CLI Max план, он дает колоссальное ускорение и последняя модель Opus 4.6 по уровню уже ближе к сеньору, чем миддлу. Самая слабая часть это диайзан UI S>а можно пример наиболее сложной или трудоемкой задачи которую ИИ решил на уровнеблизко к уровню сеньера
Я выше написал, сообщение отправилось недописанным. Сделал мини-браузер для использования в своих проектах. По качеству кода оно в целом лучше, чем я бы написал даже с 25 летнием опытом.
Это Opus 4.6 через CLI, она вроде как в топе для кодинга и инжиниринга.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ> Сделал мини-браузер для использования в своих проектах. По качеству кода оно в целом лучше, чем я бы написал даже с 25 летнием опытом.
А всё же, почему вы решили писать свой движок (пусть даже он, скорее всего — я сужу по методике, которую вы выбрали — будет "наследником" кода очень качественных промышленных движков)?
Мне кажется, это сценарий ближе к тому, что Евгений писал в стартовом сообщении
Но то же самое можно найти и на просторах интернета в готовом виде — все равно придется тщательно проверять, прогонять в тестах, адаптировать под себя и т.п.
И вроде как, если порыться на просторах интернета, то HTML/CSS рендер, найти можно и далеко не один. Да, найти на Pascal у меня не получилось (что, наверное, всё же закономерно), но есть ведь довольно легко встраиваемые C/C++ решения (тот же Sciter).
Почему всё же свой?
И еще вопрос: я так понимаю, что место использования, это некая небольшая часть вашего продукта (точно не критическая) — так?
Но всё же как вы видите дальнейшую его судьбу:
— как планируете тестировать?
— если всплывут ошибки, как будете их исправлять (вручную, или менять задание на генерацию)
— будете ли обновлять по мере обновления исходных данных (не знаю как это правильно назвать): спецификаций, кода браузеров, ...?
Или вы смотрите на это как на разовую задачу, о которой можно будет на ближайшие 10 лет забыть?
Здравствуйте, Михаил Романов, Вы писали:
МР>А всё же, почему вы решили писать свой движок (пусть даже он, скорее всего — я сужу по методике, которую вы выбрали — будет "наследником" кода очень качественных промышленных движков)?
Конечно он не стал писать движок с нуля, это примерно миллион строк кода, а прикрутил готовую компоненту.
Здравствуйте, Михаил Романов, Вы писали:
МР>Или вы смотрите на это как на разовую задачу, о которой можно будет на ближайшие 10 лет забыть?
Я не совсем понимаю ваши вопросы, да есть скиттер, но: 1) Его нужно опять же изучать 2) Нужно делать к нему биндинги 3) Нужно тащить DLL-ки 4) Он условно платный 5) Если разработчик бросит продукт, исходники за много денег 6) Тяжелый — около 20 МБ бинарников.
Я хотел легковесный движок компилируемый прямо в EXE без зависимостей (напрямую вызывает Direct2D на Windows, Cairo API на Linux, Core Graphics на macOS). Мне не нужен Java Script, не нужны SVG анимации, не нужно воспроизведение аудио и видео. И этот движок мне ИИ сделал за пару дней с минимальным вмешательсвом, причем я понятия не имею как правильно писать парсеры, layout engine итп.
Как тестировать: вот тут вообще ИИ себя проявляет. Он делает десятки разных HTML страниц, потом запускает headless chrome и через CDP дампит размеры блоков и DOM-дерево. Потом тот же HTML кормит в наш движок и смотрит его вывод. Когда оба вывода равны = все работает правильно, если нет ИИ сам ищет ошибки и фиксит их.
То есть получилось именно то что я хотел, причем с документацией и расширить этот движок в любую сторону это несколько промптов и пару часов работы. Может выложу его в опенс-сорс для Free Pascal / Lazarus community, пока не решил, но именно с целью поделиться, а не искать контрибуторов — они просто не нужны. В общем с ИИ то, что раньше занимало месяцы сейчас занимает дни. Это плюс для одиночек типа нас, но наверное, не очень хорошо для программистов по найму, тк для эквивалентного продукта нужно меньше людей.
Здравствуйте, Miroff, Вы писали:
M>Конечно он не стал писать движок с нуля, это примерно миллион строк кода, а прикрутил готовую компоненту.
По описанию выглядит ровно наоборот.
Ну и для оценки я посмотрел https://github.com/ArthurHub/HTML-Renderer — тут немного уже старый (HTML 4 и CSS 2.0, да и код только поддерживается, а не развивается, имхо лет 12), но тем не менее — движок на базе C#.
Размер исходников (а там чуть не половина — встроенная документация) сравним с тем, что назвал автор ~2МБ из которых половина — это демки.
Здравствуйте, Miroff, Вы писали:
МР>>А всё же, почему вы решили писать свой движок (пусть даже он, скорее всего — я сужу по методике, которую вы выбрали — будет "наследником" кода очень качественных промышленных движков)? M>Конечно он не стал писать движок с нуля, это примерно миллион строк кода, а прикрутил готовую компоненту.
Именно что с нуля — ну как с нуля, с пачкой спецификаций и исходниками Firefox/Chrome, чтобы посмотреть как лучше делать, если что-то в спеках непонятно.
Но надо понимать, что это не клон хрома или лисы, и даже близко не дотягивает по функциям, а именно легковесный движок для GUI, ближе к Sciter.
Всего за 2 дня написано 44,085 lines across 52 Pixie source units, хотя мы врод не движок обуждаем, а возможности ИИ — ну так вот, человек не напишет 44 тысячи строк за столь короткое время, да еще с тестами, а ИИ запросто.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ>Здравствуйте, Михаил Романов, Вы писали:
МР>>Или вы смотрите на это как на разовую задачу, о которой можно будет на ближайшие 10 лет забыть?
ЧВ>Я не совсем понимаю ваши вопросы,
Ну почему, вы достаточно четко ответили почему вы выбрали "свой, а не сторонний готовый". В принципе, как по мне разумно.
У меня всё еще есть вопросы по части поддерживаемости такого сгенерированного кода, но возможно это просто мои фобии.
Здравствуйте, Михаил Романов, Вы писали: МР>У меня всё еще есть вопросы по части поддерживаемости такого сгенерированного кода, но возможно это просто мои фобии.
Как раз никаких проблем, это год назад ИИ гененировал спагетти-говнокод, сейчас это правильно структурированный и весьма качественный код.
При этом нет особой нужды его понимать или помнить как он устроен — даешь ему папку с кодом — расскажи что тут у нас и как, он все разложит по полочкам.
Я как бы никого не призываю, знаю есть и скептики считающие что ИИ — говно, и любители именно писать код, но я настолко задолбался его писать за 25 лет, что сейчас в радостью из разработчика стал архитектором, а код пускай пишут электронные наемники.
Это вообще качественный сдвиг — раньше все писали в машинных кодах. Потом появился ассемблер, потом высокоуровневые языки, ИИ это новая абстракция где код пишуется на простом английском языке.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ>Как тестировать: вот тут вообще ИИ себя проявляет. Он делает десятки разных HTML страниц, потом запускает headless chrome и через CDP дампит размеры блоков и DOM-дерево. Потом тот же HTML кормит в наш движок и смотрит его вывод. Когда оба вывода равны = все работает правильно, если нет ИИ сам ищет ошибки и фиксит их.
Я для похожего использую MCP/chrome-dev-tools. Он напрямую коннектит Клавдию к хрому и все происходит "на лету". Сам загружает, тестит, хучит, правит.
Но я использую полуавтоматический подход (human-in-the-loop). В каждой фазе разработки есть опция "верификация человеком". Клавдия отчитывается о списке выполненных задач и дает пошаговый план верификации. Соответственно, если нахожу косяки или хочу что-то поменять, то просто пишу ей что куда. Как все сделано — обновляются доки, спецификации.
Дизайн меня, кстати, вполне устраивает. Возможно, у тебя там какие-то красивости нестандартные. Я изначально постулирую, например, используй Vue3 + PrimeVue + TailWind CSS (для тонкой подстройки). Впрочем, даже с сырыми стилями она нормально работает.
Здравствуйте, Unhandled_Exception, Вы писали:
U_E>собирать статический сайт на реакте.
Это практически локальная задача — все управление сайтом остается у Вас в руках, код и проблемы с ним не тиражируются. При обнаружении ошибки Вы можете оперативно как исправить ее, так и переключить сайт на резервный стабильный код. "Делегация доверия" минимальна.
U_E>можно быстро делать мелкие утилиты.
Это тоже локальные задачи, если утилиты для себя. Тут возражений нет.
U_E>мы — люди-оркестры, одиночки в основном.
Оркестратору для полноценного функционирования нужны адекватные инструменты, которым он может доверять настолько, насколько предполагает модель взаимодействия. Чем меньше коллектив — тем сильнее "настроенность друг на друга", и выше требуемый уровень доверия.
U_E>то, что раньше надо было отдавать на сторону
Я про полный цикл, не предполагающий отдачи на сторону — по крайней мере, систематической.
U_E>сгенерировать тесты.
А пробовали генерировать "полномасштабные" тесты работы кода в заданной среде (аппаратура, ОС, пользовательские приложения)? Написать "пакетные" тесты для отдельных функций, не имеющих внутреннего состояния, и вручную несложно...
ЕМ>>Я вот пока не могу представить, чем бы мне мог помочь ИИ в этом плане
U_E>Дык чего мучаться тогда
Дык, со всех сторон слышу восторги, и начинаю подозревать, что я что-то упускаю.
Здравствуйте, Marty, Вы писали:
M>что ты хотел сказать
То, что Ваша утилита, сгенеренная ИИ, не пойдет в массы (тем более — за деньги), и не принесет геморроя, если в ее коде вдруг проявится какой-нибудь баг, который Вы и предположить не могли.