«Агентный ИИ» в 2026 году звучит в каждом втором питче: модель сама вызывает инструменты, планирует шаги, «делает работу за оператора». Часть сценариев уже даёт измеримую пользу. Другая часть — красивое демо, которое нельзя пускать к деньгам, оборудованию или античиту. Разница почти всегда в одном: есть ли у агента право менять мир без человека и как вы это право наблюдаете.
В OtherCode мы разделяем агентов в IDE (ускорение инженера) и агентов в продукте (часть UX заказчика). Правила разные. Ниже — рабочие сценарии, явные запреты и требования к observability, которые мы закладываем в проекты.
Что такое агент на практике (без маркетинга)
Агент — цикл:
- Получить цель и контекст.
- Решить: ответить сразу или вызвать tool (API, БД, поиск, очередь).
- Получить результат tool.
- Повторить до STOP или лимита шагов.
- Вернуть итог + трассировку.
Без инструментов это чат. Без лимитов шагов и бюджета токенов — бесконечный счёт. Без журнала вызовов — чёрный ящик, который невозможно отладить после инцидента.
Связанный инженерный контекст: разработка с AI и продуктовые границы вайбкодинга в статье про вайбкодинг.
Агенты в IDE vs агенты в продукте
| | IDE / внутренние агенты | Продуктовые агенты | |--|-------------------------|-------------------| | Пользователь | Разработчик | Клиент / оператор | | Цена ошибки | Сломанная ветка, откат git | Деньги, данные, простой линии | | Контур | Dev-машина, staging | Prod API, квоты, аудит | | Критерий успеха | Зелёный CI, принятый MR | Метрики бизнеса + эскалация | | Секреты | Запрет prod-ключей | Строгий ACL, least privilege |
Путать эти контуры опасно: «агент хорошо чинит тесты локально» ≠ «агент может сам перепрошить контроллер».
Где агенты помогают OtherCode
Внутренние инструменты студии
- Разбор типовых логов GitLab job и черновик гипотезы «почему упал pipeline».
- Сбор changelog из списка MR по правилам шаблона.
- Помощь в миграции конфигов между стендами (с diff для человека).
- Черновики runbook по уже существующим ansible/helm-манифестам.
Агент предлагает; инженер применяет. Self-hosted инфраструктура и GitLab CI остаются источником истины: агент не получает права docker compose down на prod.
OCR / NLP пайплайны (URAP)
В URAP агентность проявляется осторожно:
- Маршрутизация документа — выбрать цепочку обработки (счёт / акт / паспорт изделия).
- Дозапрос инструмента — «перечитать зону», «сверить ИНН с справочником».
- Черновик комментария оператору при низкой уверенности.
Финальная запись в учётную систему — после порога уверенности или ручного подтверждения. Модель не «додумывает» критичные поля без флага. Базовый контур OCR описан в материале про распознавание документов.
Content Factory
Агентский цикл здесь ближе к редакции: research → draft → style check → SEO checklist. Каждый шаг — отдельный tool с лимитом. Публикация — отдельное право, часто только у человека или по жёсткому правилу заказчика.
Synapse Stream
Для потоковой платформы агенты уместны в support-контуре: разобрать аномалию метрик, предложить запрос к логам, набросать постмортем. В hot-path обработки потока агентов нет — там детерминизм и предсказуемый latency важнее «гибкости». См. Synapse Stream.
Diom (Flutter) и клиентские приложения
Клиент может содержать «умного помощника», но tools выполняются на backend: бронирование, изменение профиля, платежные намерения. Мобильное приложение не хранит ключи LLM и не получает универсальный shell. Агент на сервере работает под user-scoped токеном, не под сервисной УЗ с полными правами.
Где агенты запрещены (жёсткий список)
| Зона | Почему нельзя | |------|----------------| | Команды SCADA / уставки Galvatec, Typhoon (STM32) | Физический ущерб, безопасность персонала | | Автоматические платежи / списания | Fraud, необратимость, регуляторика | | Античит и санкции в играх / LBS | Обход правил = потеря доверия и экономики | | Массовое удаление данных | Один галлюцинированный tool-call | | Смена firewall / SSH / CI variables | Компрометация всего периметра | | Отправка сообщений клиентам без модерации | Юридический и репутационный риск |
Для промышленности агент максимум готовит рекомендацию инженеру на HMI: «похоже, датчик X вне диапазона». Нажатие «применить команду» — человек или аттестованный rule engine с whitelist.
Observability: без неё агент — лотерея
Минимальный набор, который мы требуем в продуктовых агентах:
- Trace id на весь цикл рассуждения.
- Список tool-call: имя, аргументы (с маскированием секретов), результат, длительность.
- Лимиты: max steps, max tokens, timeout, circuit breaker на внешние API.
- Идемпотентность опасных операций (ключ идемпотентности на стороне API).
- Human escalation: UI «принять / отклонить / править» для классов действий.
- Метрики: success rate, доля эскалаций, стоимость токенов на задачу, p95 latency.
Если после инцидента нельзя ответить «какой tool с какими аргументами вызвал агент в 14:03» — контур не готов к production.
Пример политики действий
read_* → allow
draft_* → allow + audit
write_low_risk → allow if confidence > t OR human approve
write_high_risk → human approve only
payment_*, scada_*, firewall_* → deny (нет tool в whitelist)
Whitelist инструментов важнее «умного» системного промпта. Промпт агент может игнорировать; отсутствующего tool он не вызовет.
Архитектурный каркас коротко
[UI / IDE]
↓
[Agent Orchestrator] — план, лимиты, политика
↓
[Tool Gateway] — auth, ACL, rate limit, audit
↓
[Domain APIs] — URAP, Content Factory, CRM, ...
↓
[LLM Provider Adapter] — см. мультипровайдерность
Tool Gateway — то место, где живёт безопасность. LLM никогда не получает прямый доступ к SSH-бастиону self-hosted инфраструктуры или к Modbus-шине.
Роли в команде вокруг агентов
Внедрение ломается, когда «агентами занимается кто придёт». В OtherCode на продуктовый агентный контур назначаем явные роли:
| Роль | Ответственность | |------|-----------------| | Product owner политики | Какие цели агенту можно ставить в UX | | Владелец Tool Gateway | Whitelist, ACL, ревью манифеста tools | | Дежурный по качеству | Метрики эскалаций, стоимость, ложные действия | | Инженер фичи | Промпты, оркестратор, тесты с fixture |
Для IDE-агентов достаточно тимлида и общей политики секретов — отдельный «владелец Cursor» не нужен. Для URAP и Content Factory без владельца whitelist через три месяца агент обрастает опасными shortcuts «для удобства поддержки».
Сценарии «агент + очередь» vs «агент + синхронный чат»
В Content Factory и URAP длинные задачи идут через очередь: пользователь видит статус, агент (или оркестратор шагов) работает асинхронно, результат проходит валидацию. Синхронный чат оставляем для коротких подсказок оператору («что означает этот код ошибки»). Смешение режимов в одном UX путает: человек ждёт ответ 30 секунд, а пайплайн документа реально занимает минуты.
| Режим | Пример в OtherCode | Риск без контроля | |-------|--------------------|-------------------| | Sync chat | Подсказка в админке | Таймауты, частичный ответ | | Async job | Пакет OCR + NLP | Потеря идемпотентности | | Human-approve gate | Публикация контента | «Утечка» черновика наружу | | Scheduled agent | Ночной разбор метрик Synapse | Ложные алерты без порогов |
Тестирование агентов
Обычного unit-теста на промпт мало. Мы добавляем:
- fixture tool responses — подмена ответов API, чтобы проверить ветвления политики;
- хаос: tool недоступен, tool вернул 500, tool вернул противоречие;
- лимит шагов: агент обязан остановиться и эскалировать, а не крутиться;
- регрессия whitelist: новый tool не появляется в prod без review манифеста.
В GitLab CI такие тесты гоняются без реальных ключей LLM где возможно (recorded fixtures). Живые вызовы — в отдельном nightly job с квотой.
Команда разработки: агенты в IDE без смешения с prod
Инженерский агент в Cursor ускоряет рутину так же, как описано в практике скорости разработки с AI, но он не является продуктовым агентом. Разделение:
- отдельные API-ключи / корпоративные endpoint’ы для IDE;
- запрет монтировать prod kubeconfig и SSH к бастиону в среду агента;
- MR только из feature-ветки; агент не пушит в main;
- секреты self-hosted инфраструктуры — вне контекста чата.
Если агент «помогает написать GitLab job», человек обязан проверить, что job не печатает masked variables и не качает зависимости с недоверенного зеркала.
Flutter, веб и промышленность: три разные планки допуска
Diom (Flutter): продуктовый помощник может предлагать действия в UI («заполнить форму по прошлому заказу»), но изменение баланса, санкции и античит-подобные механики — вне whitelist. Клиент показывает intent; сервер исполняет под ACL пользователя.
Next.js-сайты студии и заказчиков: агентность чаще в CMS/редактуре (Content Factory), чем на публичной странице. Публичный чат-бот без RAG и модерации — источник галлюцинаций и юридических рисков; если делаем — только с retrieval по утверждённой базе и логом.
Galvatec / Typhoon: рекомендательный контур максимум. Любой write в OT — аттестация, стенд, двухфакторное подтверждение инженером. Агент, который «сам подкрутил уставку», в наших проектах не допускается архитектурно: tool просто отсутствует.
Типичные ошибки внедрения агентов
Агент с правами сервиса «как у админа». Удобно в демо, катастрофично в проде. Нужен user impersonation или узкий service account на tool.
Нет стоп-условия. Агент крутит цикл, пока не закончится бюджет. Всегда max steps + dollar budget.
Смешение IDE-агента и prod-ключей. Локальный Cursor/агент с .env от production — путь к утечке через промпт или логи плагина.
Оценка только по «вау» на счастливом сценарии. Нужны хаос-тесты: недоступный tool, частичный ответ, противоречивые данные.
Игнонирование стоимости. Агентный цикл легко делает 20 вызовов модели там, где хватило бы одного RAG-ответа.
Скрытый tool «выполнить произвольный SQL». Даже «для отладки» — дыра. Нужны параметризованные read-модели.
Отсутствие продуктового владельца политики. Если whitelist tools меняет любой разработчик без ревью — через месяц агент умеет слишком много.
Как внедрять по шагам
- Начать с read-only агента (поиск, объяснение, черновик).
- Добавить tools с идемпотентными и обратимыми действиями.
- Включить approve для write.
- Собрать метрики эскалаций за 2–4 недели.
- Только потом расширять whitelist — и никогда до SCADA/платежей без отдельного контура и аттестации.
- Вынести манифест tools в репозиторий: diff + review как у кода.
- Настроить алерты: всплеск отказов tool, рост стоимости цикла, аномалия частоты approve.
Итог
AI-агенты перестали быть только демо: в IDE, внутренних тулах, URAP и Content Factory они ускоряют рутину. В OtherCode граница простая — агент предлагает и автоматизирует безопасное; человек или жёсткий whitelist закрывает опасное. Observability, Tool Gateway, раздельные ключи для IDE и prod важнее красивого системного промпта. Synapse Stream держит агентов вне hot-path; промышленные контроллеры — вне write-доступа модели.
Нужен агентный сценарий в продукте или правила для команды разработки — оставьте заявку, разберём whitelist действий и схему аудита под ваш домен.

