stekar

stekar

На Пикабу
Дата рождения: 1 января
в топе авторов на 749 месте
3037 рейтинг 6 подписчиков 30 подписок 16 постов 4 в горячем
Награды:
5 лет на ПикабуПикабу 17 лет!

Внедряем ИИ в разработку: уже похоже⁠⁠

Без агентов и скилов даже самая сильная модель будет требовать непрерывного внимания и, самое главное, не сильно ускорит разработку.

Для ЛЛ: можно написать весь проект с помощью ИИ без агентов, но это будет в один поток и придется непрерывно его пинать - пожалейте свое время.

Внедряем агентов

У меня уже были "роли", описанные в CLAUDE.md, но CLAUDE запускал их последовательно и непрерывно требовал подтверждений при переходе от одной роли к другой. Погуглив и накопав некоторое количество информации, я выделил роли в отдельных агентов, после чего натравил на них саму нейросеть с предложением улучшить конфигурацию.

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

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

И немного позже - со второй - дублирование кода, несмотря на прописанный DRY.

Внедряем WikiLLM

Для того, чтобы нейросеть не гоняла всю кодовую базу в поисках дубликатов и готового функционала - пришлось сделать WikiLLM. Почему не RAG? Он не дает 100% совпадения, да и объемы не те.

После индексации кода обращение к WikiLLM было прописано в соответствующих агентах, что привело к сокращению количества токенов и исключению дубликатов кода.

Здесь проявилась следующая проблема - несмотря на описанные инструкции и Wiki модель периодически забывала, как выполнять те или иные типовые действия, и каждый раз придумывала заново.

Внедряем скиллы

Проблему удалось решить внедрением скиллов, после чего все встало на свои места, и разработка пошла как по рельсам.

На текущий момент система выдает приемлемый по качеству код на уровне миддл-разработчика (основываюсь на выборочном анализе MR), что позволяет сосредоточиться на бизнес-логике. Однако, меня не оставляет ощущение некоторых костылей на велосипеде.

Внедряем ИИ в разработку: уже похоже

Внедряем github spec kit

Для того чтобы избавиться от этого ощущения, нашел и внедрил github spec kit. Первые впечатления:
- интересная штука, структурирует информацию о проекте и задачах намного лучше, чем мои костыли;
- это фреймворк, не серебряная пуля, он требует своей головы и доработки напильником;
- отлично подходит для генерации прототипов с последующей доработкой, но "из коробки" не годится для внедрения.

Промежуточные итоги

Потрачено 2 месяца и $40. На тестовом проекте сейчас написано примерно 60 тыс. строк кода. Покрытие тестами - 90+ процентов. Качество кода отдано на проверку независимым агентам. Всё работает, ничего не сломано. Количество строк кода, написанного человеком - 0. Лимитов базовой подписки хватает для эффективной работы.

Современный ИИ в разработке - как джуниор со знаниями сеньора. Он много умеет, но у него нет насмотренности, и он не знает, что у вас в голове. Если вы когда-то реализовывали полный цикл разработки и заводили на проект джуна - здесь применимы все те же самые процессы.

Работа разработчика изменилась навсегда (ну или до тех пор пока гиганты не закроют нейросети для простых смертных). На первое место выходят навыки организации рабочих процессов и внедрения инженерных практик, взаимодействия с бизнесом, написания эффективной документации.

SDD - не серебряная пуля. Как и любой инструмент, он требует своего подхода. Однако он позволяет загнать разработку с помощью ИИ в рамки, где она превращается в организованный процесс. Жесткие ограничения модели и процесс Human-in-the-Loop являются обязательными, если вы хотите получить на выходе что-то близкое к реальному продукту.

PS. Всё написанное применимо исключительно к частной разработке "в одну каску". В продуктовых командах процессы будут похожими, но другими.

Всем хорошего вечера, а я пошел экспериментировать дальше.

Предыдущие посты:
Внедряем ИИ в разработку: автоматизация
Внедряем ИИ в разработку: начало

Показать полностью 1

Внедряем ИИ в разработку: автоматизация⁠⁠

Просто так сидеть и писать промпты - не самое благодарное дело. Да и современный ИИ явно умеет больше, чем выдавать кусочки кода.

Для ЛЛ: современный разработчик код не пишет, а при достаточно серьезной настройке процессов - и не читает.

Внедряем DDD

Как говорил в предыдущем посте - здесь довольно нудное для многих разработчиков действо - написание документации. Большого количества документации. Нейросеть должна понимать, что делать, как делать, и когда завершать то, что она делает. DDD очень хорошо подходит для того чтобы ответить на первый вопрос - что мы вообще делаем.

С помощью промптов можно задавать ролевое поведение модели, и вести диалог, по итогам которого у нас появляются артефакты. Меня интересовал взгляд на проект с точки зрения:
- архитектора
- бизнес-аналитика
- разработчика
- тестировщика
- лида

Для каждой из ролей формируется своя документация - и ИИ принимает в этом самое непосредственное участие. На этом этапе я окончательно уперся в ограничения контекста Qwen3-Coder 30B, и ушел на Claude Opus пополам с Haiku.

Хотелось бы сказать, что здесь произошла магия - но нет. Определенно модели держат больше контекста, предлагают лучше решения, но не радикально, и, конечно, требуется доработка напильником в CLAUDE.md. Однако, работу они делают.

Пообщавшись с каждой ролью и скорректировав полученные ответы, мы имеем на выходе:
- функциональные требования
- нефункциональные требования
- архитектурные требования
- структуру БД
- OpenAPI
- use-cases
- edge-cases

Этого вполне достаточно чтобы начать писать код. Но недостаточно чтобы ответить на вопросы "как мы это делаем" и "когда завершать".

Внедряем SDD и TDD

SDD фактически позволяет разбить всю нашу документацию на отдельные стори и таски, каждая со своими требованиями. Натравив "лида" на нашу документацию, удалось получить вполне сносную разбивку. А прописав другим ролям поведение и ограничение - окончательно закрыть вопрос "как мы делаем" (на самом деле нет, закрыть этот вопрос позволила WikiLLM + Skills).

Остался последний вопрос - когда считать задачу завершенной. И здесь в дело вступил "тестировщик" и парадигма TDD - сначала мы пишем все тесты, и только потом начинаем писать код.

Тест-кейсы вполне корректно формировались на основе useCase и распихивались в стори - и это закрыло вопрос "когда передавать задачу дальше" и DoD (опять нет).

Формируем DoD

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

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

Агенты и Скилы

И вот тут мы и добрались до самого интересного.

Дальше:
Внедряем ИИ в разработку: уже похоже

Ранее:
Внедряем ИИ в разработку: начало

Показать полностью

Внедряем ИИ в разработку: начало⁠⁠

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

Для ЛЛ: современная разработка ПО строится вокруг ИИ - и это уже реальность.

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

Первое знакомство

Примерно полтора года назад, когда все как с ума сошли и кинулись втыкать ИИ везде где можно, и где нельзя, решил, что надо тоже попробовать. Поставил Continue в VS, накатил локально ollama + Qwen2.5-Coder 14B, и прогнал пару сценариев.

Пишем методы класса по одному (задано наименование, параметры, DocBlock) - сносно, иногда даже неплохо, но очень медленно - самому написать быстрее.

Пишем классы целиком (сформирован NameSpace, наименование, перечень параметров, описание методов) - неуд. Упираемся в контекстное окно, ловим глюки, перескакиваем между методами и пишем код не в те строки.

Пишем тесты - быстрее написать самому.

Пишем документацию... ну вы уже поняли.

Эксперимент был признан неудачным, на дальнейшие эксперименты не было времени/бюджета. Мне сейчас расскажут, надо было ставить Codex или Claude - и подключаться к топовым моделям. Возможно, возможно. Но специфика проекта была такова, что код нельзя было отдать на сторону. А внутренние LLM компании, в которой я тогда работал, также не дотягивали по мощности. Так что идея с ИИ была успешно забыта примерно на год.

Второе пришествие

Около полгода назад мой друже затеял интересный проект - локальный сервер под ИИ на БУ-картах Tesla V100. Загнал туда Qwen3-Coder 30B и предложил попробовать. Штош...

Qwen3-Coder 30B - намного лучше. Но очень медленно и.. ох уж этот потолок контекста. Упершись в скорость и глюки, поставил Cursor в надежде на то, что там будет лучше. Хм. Ну что сказать - с контекстом получше, но скорость - примерно та же. Да еще очень быстро вылетают лимиты.

Однако, возможности ИИ меня заинтересовали. Основной проблемой была скорость - и решить ее можно радикально - уходим в консольный Claude Code. Запускаем, пишем чего нам надо - и скорость в разы выше. Уже неплохо. Современные нейросетки отрабатывают как надо, если бы не одно но. Лимиты вышли, подождите. Лимиты вышли, подождите. Лимиты вышли...

В чем проблема? Можно же взять тариф побольше? Можно, но для "пощупать" жирновато получается. Возвращаемся на Qwen3-Coder 30B. Для простых задач штука вполне рабочая. Промпт-результат-оценка. Промпт-результат-оценка. Хм. Как-то не сильно эффективно - для серьезной работы не годится, но ведь консольный Claude и создан под другие сценарии. А что если...

Внедряем DDD

И вот здесь начнется очень нудное для многих разработчиков действо...
(см. продолжение).

Далее:
Внедряем ИИ в разработку: автоматизация
Внедряем ИИ в разработку: уже похоже

Показать полностью
9

Приложение для планирования путешествия⁠⁠

Всем привет. Посоветуйте, пожалуйста, приложения для планирования автопутешествий по России.

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

Раньше всегда искали местные сайты, поиск по гуглу - "достопримечательности в такой-то местности". Очень мало информации, и она вся разрознена. Можно что-то найти в гугле/яндексе, но надо знать, что искать.

Пробовал найти специализированные сайты для автопутешественников, из того что накопал - go VanLive более-менее приличный, но он существует исключительно в виде мобильного приложения, маршрут планировать неудобно.

Посоветуйте, кто как планирует свои маршруты. В идеале - чтобы была карта с достопримечательностями, видовыми зонами, красивыми местами, собранными в одном месте. Чтобы можно было почитать, выбрать, что понравилось, собрать в маршрут на большом экране, а потом закинуть на телефон для поездки.

Всем кто откликнется - заранее спасибо! Пост без рейтинга.
Поднимите, кому не жаль - возможно, не только мне полезно будет.

14

Дон-батюшка. Кривоборье⁠⁠

Nikon D5300 + Nikkor 50mm f/1.4

Nikon D5300 + Nikkor 50mm f/1.4

Уникальное место в Воронежской области. Фото со смотровой площадки.

Рядом находится тур.база, где можно остановиться в домиках с ночевкой. Внизу, проехав через деревню мимо карьера можно встать с палатками. Осторожно, клещи!

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества