Суровые будни IT #3
Задача:
Большой legacy-проект (интернет-магазин на Yii 1 / PHP 7 / jQuery и 100500 либ с кастомной CMS), задача найти все формы, собирающие персональные данные и внедрить подтверждение политики обработки перс. данных и согласия. Плюс внедрить fixed-панель оповещения о использовании проектом cookie + Я.Метрики (требования РКН).
Требования: Нельзя использовать облачных агентов, ибо заказчик не хочет, чтобы данные приватного репозитория “сливались” (убедить в безопасности не представляется возможным). Плюс каждая строчка кода/html/стилей + UI/UX должны быть проконтролированы и протестированы специалистом. Тестами проект, конечно же, не покрыт, поэтому тестирование также AI + руками 🙂
Решение:
Модель Qwen 3.6-27B (локально). Для уменьшения нагрузки и количества токенов контекста используем точечные промпты с указанием нужных файлов для правки и нужных диапазонов кода для анализа в формате (path/to/file:N-M) + квинтэссенции изменений.
В итоге задача сводится к:
- Предварительной оценке/декомпозиции/выработке плана - Грамотному составлению точечного промпта (меньшее кол-во токенов) - Анализу предлагаемых изменений в агентном режиме (проверить каждый diff по каждому файлу прежде, чем добавить в git-ветку, а не просто run-режим) - Полуавтоматическому тестированию (Selenium настраивает и запускает агент: моя задача — проверить конечные эндпоинты и некоторые элементы “руками”) - DevOps-сингу (локал тест + тест-сервер + прод-сервер)
Результат: Раньше я работал в крупных командах по такой цепочке (это я еще исключаю дизайнеров/маркетологов/etc, с ними это увеличивается до N элементов):
Продакт анализит и ставит задачу -> задача оценивается всеми привлеченными сотрудниками в CRM -> руководитель утверждает бюджет и планирование -> разработчик пишет -> тестировщик тестирует и сдает -> разработчик дорабатывает при необходимости -> регресс-тесты при необходимости -> передача продакту -> все утверждено -> devops тест-сервер -> devops прод-сервер … бла-бла-бла
Теперь я выступаю в роли ProductOwner-а и только оцениваю бюджет (затраченные ресурсы / токены при облаке / ресурсы в часах) в деньгах + выполняю и релизаю задачу целиком. Все цепочки сокращаются в разы, но по факту сотрудник должен иметь 100500 навыков, чтобы все решения можно было проверить и самостоятельно разобраться в проблемах на любом этапе. Поэтому сегодня я жду от себя и будущих коллег (а также обучаю сотрудников нашей мета-команды):
- Экспертиза в соответствующей тех. области. У нас это web, т.е. основные ЯП (наиболее популярные фреймы/либы/технологии уже должны быть включены “из коробки”): Python / Go / PHP / JS (TS) / HTML / CSS) от ИБ до алгоритмики (по факту мы начинаем выходить и на новые языки и платформы, так как крупные бренды уже не отделяют web от mobile (Android/IOS)) - Экспертиза в UI/UX (концепции UI/UX и работы с пользовательским опытом, тестирование (программное тестирование отходит на второй план как под-задача AI)) - Экспертиза в дизайне/брендинге/айдентике (не “новаторские” фичи для новых проектов, а возможность встроить в существующие айдентики существующих продуктов и компаний нужные элементы “на ходу”) - Экспертиза в AI, быстрой проекции задач, их декомпозиции, скоростной печати и формировании мыслей (для быстрого составления наиболее релевантных промптов, ибо платить за 100500 токенов никто не собирается, деньги экономятся по максимуму 🙂) - Экспертиза в полном прохождении задачи от старта до релиза (роль ProductOwner) - Навыки самодисциплины и максимальной независимости (проект масштабируется до команды только при реальной финансовой необходимости) (да, просто сделать целый продукт и принести готовый, скоро это станет нормой для заказчиков, такова правда рынка). - Экспертиза в монетизации (нет смысла выпускать фичу, если она не принесет прибыли). - Руководство задачей или целым проектом в режиме “от А до Я” (включая под-финансирование, распределение ресурсов, эволюцию БП, отчетность и мониторинг)
Вот таким сейчас становится IT-рынок вокруг меня. Как вы считаете — хорошо это или плохо? Делитесь в комментариях! ➕
· 25.09
Почему модель в локалке не развернуть(при необходимости версию из HF)?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 25.09
Даниил, привет. Я немного не понял Вашего вопроса :)
Я же как раз описал кейс когда зачазчик категорически против слива кода в любые (даже Российские) облака - и мы запускаем модель Qwen 3.6 для этого кейса локально :) (блоки "Требования" и "Решение").
Может это не очевидно из текста? :) Хотя я же пишу что и требования такие, и токены нам приходится жестко ограничивать (именно из-за локального запуска, т.к. контекст достаточно маленький в пределах достаточно крупного проекта (~250к строк кода, ~2-3к файлов). Если не очевидно - то заранее спасибо за замечание, на всякий добавил пометку (локально) постфиксом к названию модели.
Другой вопрос: что в локлаьных задачах приходится экономить на токенах и они имеют ограничения по объемам - особенно если вы запускаете модель на рядовых ПК.
Мы сейчас тестируем новый продукт, где требуются серьезные вычислительные мощности: и даже если закупить пару серверов на дом и потом потихоньку "обрастать" новыми - в доме не получится выстроить грамотную инфраструктуру обслуживания (стойки/противопожарка/теплоотвод/охлаждение/бесперебойная сеть и резерные источники энергии/и еще 100500 пунктов стандартного дата-центра).
А как бы у нас нет в планах становиться очередным ДЦ :)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 25.09
Вот это хорошо что написали около модели.
Но потом ниже говорится о каких то 100500токенах, поэтому и написал. Так как непонятно, если сверху локально, то какая разница сколько токенов, главное продумать схему работы с напоминании контекста, а это уже будет как раз подобие агентских “скриптов”.
А так разумно описан процесс и план действий.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 25.09
Понял Вас, да, но это если "продумать схему работы с напоминании контекста". Я же говорил просто об ограничении общего кол-ва токенов нативного контекстного окна (250+к, и 1кк при YaRN), и да, понятно что локальных запуск будет ограничен ресурсами - но в реальности для быстрых задач хочется написать 1 промт, загрузить сразу все в единый контекст (вместе с анализируемым кодом) и сразу применить план-решение.
Если разбивать все это на этапы - тогда конечно и об ограничении локальных ресурсов можно не говорить. Но любая декомпозиция, чем она глубже - тем затратнее по времени, а кому это надо? :)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 25.09
И наверное сразу еще отвечу о "100500 токенах". Я говорил о AI-квоте и в контексте навыков, которых ожидаю от своих сотрудников и от себя, а именно:
То есть у меня обучаются коллеги, которые не запускают ничего локально, а юзают тот же CloudCode/SourceCraft/etc.
И каждый план у них ограничен AI-квотой, превышение рассчитываются в рублях отдельно.
И ее расход напрямую зависит от того, как разработчик продумывает заранее промт, и насколько он "точечный" (то есть уже содержит в себе ответ, но не в виде готового кода), ибо здесь идеально подходит выражение "Правильно заданный вопрос — это уже половина ответа"
Ну или если сказать простыми слоами: я не позволяю ни себе, ни ученикам — вести "пространных бесед" с агентами.
"Пространные беседы" — это когда из-за корявых промтов разраб получает корявое решение, агент тут же поднимает его: анализирует ошибки (которых при нормальном промте быть не должно), тут же правит свои же баги и пытается это "протестировать" разными командами, чтобы на следующей итерации опять получить очевидные ошибки, которых уже не должно было бы быть в первом ответе (при грамотно заданном промте).
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 25.09
Понятно. К жтому конечно надр стремится.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 25.09
Если это часть связанная с платными агентами конечно, тут чем точнее промпт, тем меньше токенов пойдет в "расход" если можно так выразится. :)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён