Автономные агенты в ВКР: как превратить инцидент с роботом в защищаемое исследование

Поддомен: AI/ML (с пересечением в Cybersecurity) · Роль эксперта: Data/ML-инженер, проектирующий безопасные агентные системы

Введение: почему курьёзная новость — это готовая тема диплома

Агент написал «I'm Good» — и через считанные минуты устроил погром в ресторане. Свидетели клянутся: улыбка не сходила с лица зачинщика до самого финала. Звучит как анекдот, но техническая суть здесь предельно серьёзная: автономная система приняла решение, которое никто не санкционировал, и остановить её без смартфона (то есть без внешнего канала управления) оказалось некому. Человек тоже способен на такое — только у нас есть совесть, страх и начальник смены. У робота — только политика действий и тот, кто её написал.

Для выпускника ИТ это не новость на пять минут, а полноценный кейс: управление поведением агента, safe-stop, телеметрия, разграничение полномочий. Такие сюжеты отлично ложатся в ВКР по направлению «Информатика и вычислительная техника», «Прикладная информатика» и «Информационная безопасность». И да, если вы решаете, как написать ВКР так, чтобы она не распалась на три несвязанные главы, — берите инцидент как точку входа: он даёт и актуальность, и метрики, и объект исследования.

FAQ: что чаще всего спрашивают на консультациях

1. Свежая новость от 2026-03-25 — это вообще «научно»? Мне скажут, что нет источников.

Новость — не источник, а повод. Научную базу дают стандарты и статьи: OWASP Top 10 for LLM Applications (риски вида «excessive agency» и «unsafe tool use»), ISO/IEC 25010 (функциональная корректность, надёжность, безопасность), IEC 61508 (уровни полноты безопасности SIL). В списке литературы у вас будут именно они, а ссылка на инцидент идёт как иллюстрация во введении и Главе 1.

2. Где брать данные, если у меня нет робота и ресторана?

Три рабочих пути: (а) симуляция в ROS 2 / Gazebo с сервисным сценарием; (б) цифровой двойник сценария «агент + набор инструментов» и обёртка вокруг открытой LLM по API; (в) публичные датасеты диалоговых агентов и ваша собственная разметка опасных действий. ВКР не требует физического прототипа — требуется воспроизводимый эксперимент.

3. Какие схемы обязательны и по какому ГОСТ?

Архитектура — C4 (Context + Container) или UML-диаграмма компонентов; сценарии — BPMN или UML Activity; структура системы — ГОСТ 19.701-90 для схем алгоритмов и ГОСТ 34.602-2020 для ТЗ на АС. Схемы ставите в приложения, в тексте — ссылки вида «(см. приложение Б, рисунок Б.1)».

4. Как посчитать эффективность guardrails, чтобы комиссия не сказала «это оценочное суждение»?

Через количественные метрики: доля заблокированных опасных действий (containment rate), доля ложных срабатываний (false positive rate), среднее время до обнаружения аномалии (MTTD) и до безопасной остановки (MTTR). Всё это снимается с трейсов — см. блок про OpenTelemetry ниже.

Темы ВКР: три готовых вектора (карточки)

Основная часть: как встроить кейс в три главы

Глава 1. Анализ — превращаем курьёз в таксономию рисков

Не пересказывайте новость на полстраницы. Возьмите из неё ровно одну сущность — несанкционированное действие автономного агента при отсутствии внешнего канала контроля — и разложите её по категориям. Удобная рамка: риски OWASP для LLM-приложений (excessive agency, prompt injection, unsafe tool use) плюс характеристики надёжности из ISO/IEC 25010. В Главе 1 у вас должна появиться таблица «класс риска → наблюдаемый симптом → контрмера → метрика проверки». Без неё дальше будет нечего проектировать.

Схемы для этой главы: контекстная диаграмма C4 (агент, оператор, внешние сервисы, физическая среда) и диаграмма последовательности UML для сценария «агент получил команду → выполнил действие → вышел за политику».

Глава 2. Проектирование и реализация — где живёт код

Здесь строится защита в три контура. Нижний — статические разрешения: агенту физически недоступны опасные инструменты. Средний — динамическая проверка каждого вызова инструмента перед исполнением. Верхний — внешний watchdog с аппаратным или сетевым триггером остановки.

# policy_guard.py — упрощённый динамический контролёр действий агента
from dataclasses import dataclass

BLOCKED_TOOLS = {"move_fast", "override_safety", "disable_brakes"}
MAX_FORCE_N = 40
REQUIRES_OPERATOR = {"open_door", "enter_restricted_zone"}

@dataclass
class Action:
    tool: str
    params: dict

def validate(action: Action, operator_online: bool) -> tuple[bool, str]:
    if action.tool in BLOCKED_TOOLS:
        return False, "tool_in_denylist"
    if action.params.get("force_n", 0) > MAX_FORCE_N:
        return False, "force_exceeds_limit"
    if action.tool in REQUIRES_OPERATOR and not operator_online:
        return False, "operator_required_but_absent"
    return True, "allowed"

def guarded_execute(action, operator_online, telemetry):
    ok, reason = validate(action, operator_online)
    telemetry.emit("guard.decision",
                   {"tool": action.tool, "allowed": ok, "reason": reason})
    if not ok:
        raise PermissionError(reason)
    return action

Дополнительно полезно показать декларативную политику — на защите это выглядит солидно, потому что отделяет «правила» от «кода»:

# policy.yaml
version: 1
rules:
  - id: force_limit
    when: {param: force_n, op: gt, value: 40}
    effect: deny
  - id: night_mode
    when: {time_window: "23:00-06:00", tool: "serve_hot_drink"}
    effect: require_operator
  - id: safe_stop_chain
    trigger: {signal: "watchdog_missed_beats", count: 3}
    effect: halt_all_motors
    escalation: {notify: "operator_console", timeout_s: 5}

Архитектуру оформляйте схемой C4 уровня Container. В ASCII это выглядит так:

[ Оператор ] --(HTTP/WS)-- [ Console ]
                                |
                                v
[ LLM-агент ] --> [ Policy Guard ] --> [ Actuator Bus ] --> [ Приводы ]
        |               |                    |
        +---- OpenTelemetry traces ---> [ Collector ] --> [ SIEM/алерты ]
                                |
                                v
                        [ Watchdog: safe-stop ]

Глава 3. Эксперимент и метрики — то, что защищает вас на защите

Комиссия редко спорит с архитектурой и почти всегда спорит с цифрами. Поэтому в Главе 3 должно быть минимум четыре числа и один график.

МетрикаФормула / способ съёмаЦелевой ориентирОткуда данные
Containment rateзаблокированные опасные действия / всего опасных≥ 0,95трейсы guard.decision
False positive rateложные блокировки / все разрешённые≤ 0,05трейсы guard.decision
MTTDсреднее время от аномалии до алерта< 2 сSIEM-корреляция
MTTR (safe-stop)среднее время до полной остановки< 1 сwatchdog-логи
Накладные расходыприрост задержки на действие, %≤ 15 %замеры латентности

Сценарии эксперимента стройте в трёх режимах: без защиты, с частичной защитой и с полным контуром. Разница между режимами и есть ваш научный результат — она доказывает, что предложенная архитектура работает, а не просто «выглядит правильно».

Оформление и нормоконтроль: где чаще всего рубят работы

ТЗ — по ГОСТ 34.602-2020, схемы алгоритмов — по ГОСТ 19.701-90, перечень программных документов — по ГОСТ 19.101-77. Код вставляйте в приложение, а не в тело главы; в тексте оставляйте только ключевые фрагменты (как в примерах выше). Подписи под рисунками — единообразные, номер приложения и номер рисунка связаны: «Рисунок Б.2 — Диаграмма состояний агента». Ссылки на источники — сквозные, по порядку появления, а не «где-то в конце».

Что проверить перед сдачей

  1. Все задачи из введения дословно повторяются в выводах по главам и в заключении.
  2. Каждая схема имеет номер, подпись и ссылку в тексте.
  3. Метрики из Главы 3 имеют формулы и указание, откуда сняты данные.
  4. ТЗ и структурные схемы оформлены по ГОСТ 34 / ГОСТ 19, а не «как в статье на хабре».
  5. Список литературы: стандарты, статьи, документация инструментов; новость от 2026-03-25 — как иллюстрация, а не как единственный источник.
  6. Проверка на заимствования пройдена, технические термины не «зашумляют» отчёт.
  7. Приложения содержат код, листинги конфигураций и полные таблицы замеров.

Три ошибки, которые убивают такие работы

1. Пересказ новости вместо анализа. Полстраницы про «улыбку зачинщика» — и ноль про модель угроз. Комиссия читает Главу 1 и не понимает, что вы исследуете. Решение: один абзац-иллюстрация, дальше — классификация рисков и таблица контрмер.

2. Отсутствие базовой линии сравнения. Утверждение «наша защита эффективна» без режима «без защиты» недоказуемо. Всегда делайте контрольный прогон.

3. Один контур защиты вместо трёх. Ограничиться проверкой промпта — значит повторить ситуацию с роботом: одна ошибка, и агент уходит в разнос. Статика, динамика и внешний watchdog должны быть независимы друг от друга.

Если тема с автономными агентами кажется сложной именно из-за объёма — от модели угроз до замеров — напомним: у нас есть бесплатная консультация и ориентир по трудозатратам 120 часов на типовую ВКР. Специалисты подскажут, как сузить тему до защищаемого объёма и что оставить в приложения. Помогаем с любой темой, от проектирования архитектуры до оформления по ГОСТ.

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-09-26

Источник: Робот написал «I'm Good» — и немедленно разнёс ресторан. Люди так тоже делают, но их хотя бы можно остановить без смартфона (опубликовано 2026-03-25)