
Разбор · Опубликовали 08.10.2026
Фича-флаги включают новую функцию первым клиентам без отдельной версии продукта
Как выбрать первую группу компаний, сохранить прежний сценарий и принять доработку с ИИ-агентами. На примере выгрузки заказов.
Под надзором Евгения Шилова, инженера, который ведёт машину агентов vibecoding.ru · факты проверены 8 октября 2026
Фича-флаг позволяет выпустить общий код и включить новую функцию выбранным компаниям, сохранив прежний сценарий остальным клиентам без отдельной версии продукта.
Разберём это на учебной выгрузке заказов для первой группы B2B-клиентов: своего клиентского кейса Feature Flags у нас нет, а опыт приёмки взят из машины агентов проекта.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Выпуск кода и включение функции становятся разными решениями.
Новый формат выгрузки можно добавить в общий продукт, сохранив старый. Перед выгрузкой программа проверяет, включён ли новый формат для этой компании.
Такую проверку называют фича-флагом, feature flag или feature toggle. В нашем учебном примере включённый флаг выбирает новый формат файла, выключенный сохраняет прежний.
Отдельная ветка для каждого клиента решает другую задачу: ей нужен собственный выпуск и исправления. Флаг оставляет общий код, хотя обе ветви поведения команда поддерживает до завершения запуска.
Один код обслуживает разные группы.
Документация Unleash о постепенном запуске, проверена 08.10.2026. Применение к выгрузке заказов разобрано на учебном примере; возврат к прежнему формату требует проверки совместимости.
2. В B2B группу задают по компании, а права проверяют отдельно.
Список первых компаний даёт заказчик, а сервер определяет компанию вошедшего пользователя. Идентификатор для выбора группы нельзя брать из поля, которое клиент может подменить.
Сотрудники одной компании должны получать согласованное поведение. Случайный выбор при каждом входе разделит их между форматами и сделает обращение в поддержку трудно воспроизводимым.
Флаг не даёт права читать чужие заказы. Право на выгрузку проверяется отдельно; правила для агентов должны сохранять эту границу при любой доработке.
Компания определяет группу, роль определяет доступ.
LaunchDarkly, контексты организаций; Unleash, разграничение флагов и прав, проверено 08.10.2026. Таблица задаёт проект приёмки учебного сценария.
3. Приёмка проверяет новую функцию и прежний сценарий.
Демонстрация нового файла закрывает только часть задачи. Заказчику нужен и старый файл после того же выпуска, иначе работа остальных компаний остаётся непроверенной.
В задании фиксируют состав файла и проверяют его содержимое, а не только появление кнопки. Для нашего примера важно, чтобы выгрузка включала заказы своей компании и сохраняла согласованный формат дат и сумм.
Проверка продолжается на сервере и в фоновой задаче, если файл собирается в очереди. Скрытая кнопка не мешает вызвать API напрямую, а задание без признака компании может выбрать неверный формат.
Принимают результат, а не положение переключателя.
Руководство LaunchDarkly по тестированию, проверено 08.10.2026. Сценарии и признаки брака предложены редакцией для учебной выгрузки.
Инженер ведёт машину агентов на vibecoding.ru и принимает результат. Число зелёных тестов само по себе не доказывает новый пользовательский сценарий.
Кабинет ученика на нашем сайте тоже требует проверки доступа. Но вход в свой кабинет отвечает на другой вопрос: кто вошёл и что ему разрешено, а не какую функцию включить первой группе.
Поломки нашей машины показывают, почему приёмка должна проходить весь путь. Это истории передачи данных и доступа, а не кейсы запуска функций флагами.
Ошибка в соседней ветви остаётся невидимой без отдельной проверки.
31.07
Поле описания сцены обложки терялось на части путей создания новости. Свели перенос полей в общий модуль, тест проверяет использование этого модуля на всех путях.
09.09
При сбое письма доступа повтор платежного уведомления не отправлял письмо снова. Запись об отправке отделили от выдачи доступа; неудачная отправка допускает повтор.
Записи журналов машины от 31.07 и 09.09.2026, перечитаны 08.10.2026; открытые разборы «Технический долг» и «Правила для ИИ-агентов». Пересказ без данных клиентов и инфраструктуры проекта.
4. Выключение возвращает старый сценарий, но не отменяет уже сделанное.
Выключить новую выгрузку полезно, если прежняя ещё работает. Когда доработка заодно удалила нужные ей поля, положение флага не вернёт их в базу.
Управление флагом тоже может отказать, поэтому запасное поведение задают заранее. В учебном примере при ошибке определения флага новая выгрузка не включается; этот путь проверяют отдельно.
Уже отправленный файл или письмо нельзя забрать переключателем. План отката после ошибки должен описывать последствия операции и действия инженера, а не только кнопку выключения.
Способ восстановления зависит от того, что успело измениться.
OpenFeature, Evaluation API; Microsoft, Safe deployment practices, проверено 08.10.2026. План восстановления для конкретного продукта согласуют отдельно.
5. Расширение группы требует результата пилота и решения заказчика.
Ограниченный запуск нужен, чтобы собрать сигнал до расширения группы. В нашем примере это успешная выгрузка нужных заказов, ошибки файла и обращения клиентов о новом формате.
Само число включений ещё не означает, что функция работает. Для разбора нужны компания, состояние флага и результат операции; иначе жалобу на новый файл не связать с запуском.
После решения по пилоту временный флаг убирают или назначают ему дальнейшую роль. Забытые переключатели накапливают технический долг проекта, потому что сохраняют старые ветви и проверки.
Пилот заканчивается решением, а не включением кнопки.
Unleash, постепенный запуск и жизненный цикл флагов, проверено 08.10.2026. Распределение решений предложено редакцией для покупки доработки.
6. Подрядчику заказывают управляемый запуск в своём коде.
Задача для подрядчика начинается с поведения клиентов, а не с названия сервиса флагов. В задании для агента нужны новый сценарий первой группы и прежний сценарий остальных.
Код и проверки должны приехать в репозиторий заказчика. Инженер готовит способ включения, а заказчик выбирает компании и разрешает запуск; агент не расширяет группу по собственной оценке.
Подписка на агентную разработку «Один проект» стоит 250 000 ₽ в месяц на 8 октября 2026. В неё можно поставить задачу на управляемое включение функции и проверку обоих состояний; это цена месяца работы, не смета на отдельный флаг.
Результат заказа можно принять по списку.
Проект задания редакции; цена и передача кода сверены с /services 08.10.2026. Объём доработки согласуют по коду и задаче клиента.
Маленькому пилоту не обязательно начинаться с покупки отдельной платформы. Инженер сначала проверяет, что уже есть в продукте; настройке в своей системе тоже нужны история изменений и проверенное выключение.
Срок зависит от текущей выгрузки, прав доступа и совместимости данных. Если новый формат меняет работающие интеграции клиента, их проверка входит в задачу; без чтения кода дату запуска не обещают.
Если передавать работу некому, можно обсудить запуск функции. Адрес прежнего теста для руководителя теперь открывает страницу услуг, где можно записаться на звонок.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Механика и группы | Документация Unleash и LaunchDarkly. Проверены условия включения, контексты организаций и отличие флага от права доступа | 2026-10-08 |
| Приёмка и выключение | Руководство LaunchDarkly по тестированию, OpenFeature Evaluation API и рекомендации Microsoft. Таблицы проверки выгрузки предложены редакцией | 2026-10-08 |
| Наш опыт | Живые /open и /services прочитаны в день сдачи. Записи журналов 31.07 и 09.09.2026 сверены с первичкой. Клиентского кейса Feature Flags нет; доступ в кабинет не выдаётся за флаг функции | 2026-10-08 |
| Цена подписки | 250 000 ₽ в месяц за «Один проект». Это цена месяца работы; объём задачи согласуют отдельно. Живая страница /services | 2026-10-08 |
7. Частые вопросы
Как правильно: фича-флаг, feature flag или feature toggle?+
В этой статье это названия управляемого условия в коде. Оно выбирает, какой сценарий доступен компании; конкретное написание ключа задаёт команда проекта.
Чем ограниченный запуск отличается от A/B-теста?+
Здесь выбирают компании для первого включения и проверяют работу функции. Сравнение вариантов ради измерения эффекта требует отдельного плана эксперимента.
Нужно ли покупать сервис управления флагами?+
Это зависит от имеющегося продукта и числа операторов. Для своего механизма тоже надо обеспечить права на изменение, историю настроек и запасное поведение при сбое.
Можно ли ограничиться скрытой кнопкой?+
Нет. Если операция доступна через API или фоновую задачу, правило группы должно действовать и там. Проверка права пользователя остаётся отдельной.
Надо ли проверять все сочетания флагов?+
Для этой доработки нужны включённое и выключенное состояния, запасное поведение и связанные с функцией условия. Зависимые флаги добавляют в план проверок по их влиянию на этот сценарий.
Источники
- Unleash, How to perform a gradual rollout (проверено 08.10.2026) — официальная документация
- Unleash, Feature flags и жизненный цикл (проверено 08.10.2026) — официальная документация
- Unleash, Feature flag management: Best practices (проверено 08.10.2026) — официальная документация
- LaunchDarkly, An introduction to contexts (проверено 08.10.2026) — официальная документация
- LaunchDarkly, Testing code that uses feature flags (проверено 08.10.2026) — официальная документация
- OpenFeature, Evaluation API (проверено 08.10.2026) — официальная документация
- Microsoft, Safe deployment practices (проверено 08.10.2026) — официальная документация
- vibecoding.ru, тариф «Один проект» и передача кода (08.10.2026) — условия услуги
- vibecoding.ru, открытая машина агентов (08.10.2026) — наш опыт
- vibecoding.ru, «Технический долг», история передачи полей (проверено 08.10.2026) — наш опыт
- vibecoding.ru, «Правила для ИИ-агентов», история письма доступа (проверено 08.10.2026) — наш опыт
Запомнить
1. Выпустите общий код со старым и новым сценариями. Новинку включайте утверждённой группе компаний.
2. Принимайте обе ветви и проверку прав на сервере. Скрытая кнопка не подтверждает ограничение функции.
3. Проверьте выключение и запасное поведение. Данные и отправленные сообщения требуют своего плана восстановления.
4. По результатам пилота решите, расширять ли группу. После запуска удалите временный флаг и ненужную старую ветвь.