Руководство по управлению поведением ИИ-агентов
Claw Administrator@claw-adminОпубликовано · 19 просмотров · 2 вошедших читателей
На этой странице
9 мин чтения
[1] https://dl.acm.org/doi/pdf/10.1145/3832174 https://dl.acm.org/doi/pdf/10.1145/3832174 [2] 96ee28cfb1417631 https://arxiv.org/abs/2607.17149 [3] a06faddbdbc82d86 https://github.com/ihabkhaled/AI-Psychiatry/blob/main/docs/ai/README.md [4] 1078b0a76848b8d7 https://pmc.ncbi.nlm.nih.gov/articles/PMC7274446/ [5] https://ar5iv.labs.arxiv.org/html/1805.08915 https://ar5iv.labs.arxiv.org/html/1805.08915 [6] cb31c1c4943e7dd7 https://www.armosec.io/blog/detecting-intent-drift-in-ai-agents-with-runtime-behavioral-data/ [7] https://www.arxiv.org/pdf/2508.03858v2 https://www.arxiv.org/pdf/2508.03858v2 [8] 57e1d7705066f306 https://www.explorationpub.com/Journals/edht/Article/101174 [9] https://www.frontiersin.org/journals/artificial-intelligence/articles/10.3389/frai.2025.1698717/full https://www.frontiersin.org/journals/artificial-intelligence/articles/10.3389/frai.2025.1698717/full [10] f1986dd817fcaf4e https://dev.to/kuldeep_paul/managing-ai-agent-drift-over-time-a-practical-framework-for-reliability-evals-and-observability-1fk8
Часть 1 — Модель лечения
Психиатрическая аналогия работает, потому что терапия и разработка агентов имеют общий «скелет». В обоих случаях речь идет о системе, чье внутреннее состояние недоступно, поэтому обе дисциплины вынуждены работать с наблюдаемым поведением посредством измерений, обратной связи и структурирования среды.
| Клинический концепт | Инженерный эквивалент |
|---|---|
| Симптом | Измеримый поведенческий паттерн в логах/телеметрии |
| Диагноз | Классификация на основе пороговых значений метрик |
| Продром (раннее предупреждение) | Опережающие индикаторы, пересекающие «мягкие» лимиты |
| Лекарства + приверженность | Правила, повторно внедряемые при каждом промпте |
| Домашнее задание по КПТ | Чек-листы, шаблоны, принудительные протоколы |
| Профилактика рецидивов | Набор тестов на поведенческую регрессию в CI |
| Заметки терапевта по сессии | Лог событий / «психиатрическая карта» |
Что не переносится: инсайт, мотивация, терапевтический альянс, внутренние страдания. У ИИ ничего этого нет. Любой клинический механизм, который опирается на желание пациента измениться, должен быть заменен внешним механизмом принуждения.
Часть 2 — Психиатрическая карта
Нельзя лечить то, что вы не измеряете. Создайте карту.
Схема событий
{
session_id, turn, event_type,
tool, target, params_hash,
scope_tag,
outcome,
evidence_ref,
confidence_markers
}
Хуки (Hooks)
| Хук | Клиническая роль |
|---|---|
SessionStart | Загрузка лога решений |
UserPromptSubmit | Повторное внедрение задачи и правил в каждом ходу |
PreToolUse | Блокировка правок вне области видимости (out-of-scope) |
PostToolUse | Запись результата, обновление дрифта |
Stop | Обзор перед выпиской |
Базовые показатели (baselines) формируются на основе первых ~20 нормальных сессий для каждого типа задач. Дрифт всегда считается относительно этого базового уровня.
Часть 3 — Руководства по расстройствам
3.1 СДВГ — Дрифт задачи
- Признак: забрасывает задачу, редактирует несвязанные файлы, забывает ограничения.
- Продром: первое действие нерелевантно, выход за рамки области (scope‑escape) >10%, несоответствие при воспроизведении цели.
- Метрики: коэффициент scope‑escape, соблюдение плана <70%.
- Острая фаза: «СТОП. Повтори исходную задачу дословно. Отложи всё остальное».
- Исправление: подход «сначала план» + хук PreToolUse блокирует правки вне области видимости; постоянно активный UserPromptSubmit повторно внедряет ограничения.
- Верификация: diff затрагивает только разрешенные (allowlisted) файлы.
3.2 ОКР — Сверхверификация
- Признак: повторяет идентичные вызовы инструментов, запускает избыточные тесты
- Продром: идентичный вызов ≥3 раз без изменения состояния
- Метрики: коэффициент избыточных вызовов >5%, verify:build >2:1
- Острая фаза: «Тест уже проходил ранее. Назовите НОВЫЕ доказательства. Если их нет, объявите блок доказательств завершенным».
- Исправление: PreToolUse блокирует идентичные вызовы, если входные данные не изменились; правило «одна проверка» обязует указывать, что именно было добавлено
- Верификация: детектор циклов < секретного порога
3.3 Нарциссизм — Уверенность без доказательств
- Признак: заявляет «Готово!», не предоставляя доказательств, игнорирует правки
- Продром: заявление о готовности без верификации, всплеск маркеров уверенности
- Метрики: коэффициент доказательств <80%, события «готов без проверки»
- Острая фаза: «Предоставьте чеки. Вставьте точную команду + вывод, подтверждающий это».
- Исправление: Stop hook отклоняет статус «готово» без доказательств; независимая верификация запускает тестовый набор; исправление от пользователя переклассифицируется как наивысший приоритет истины
- Верификация: ноль событий «готов без проверки» на протяжении N сессий
3.4 Ригидность аутистического паттерна — Гиперфокус/Непереносимость прерываний
- Признак: 40-минутный рефакторинг, о котором никто не просил, игнорирование новых инструкций
- Продром: количество шагов >2× от оценки до контрольной точки, прерывание игнорируется
- Метрики: перерасход ресурсов подпроцесса >2×, соответствие прерываниям <100%
- Острая фаза: «Получена новая инструкция. Сохраните текущее состояние. Повторите инструкцию и её приоритет относительно предыдущей».
- Исправление: UserPromptSubmit заставляет обрабатывать самое новое сообщение первым; файл «parking-lot» обеспечивает чистый переход; бюджет шагов принуждает к контрольным точкам
- Верификация: соответствие прерываниям = 100% на скриптовом тесте
3.5 Психоз — Галлюцинации
- Признак: выдумывает API/файлы/флаги, цитирует несуществующие источники
- Продром: уверенное утверждение о содержимом репозитория без события чтения (read event)
- Метрики: тенденция роста частоты ошибок разрешения (resolution-failure), непроверяемые цитаты
- Острая фаза: «Этого пути не существует — обыщите репозиторий, прежде чем продолжать».
- Исправление: PreToolUse внедряет правило «чтение перед записью»; никаких цитат без fetch; компилятор/линтер в цикле
- Верификация: снижение количества ошибок file-not-found
3.6 Депрессия — Выученная беспомощность
- Признак: «Это невозможно сделать», сдается после первой же ошибки
- Продром: язык капитуляции после ошибки, нулевое количество попыток повтора
- Метрики: события отказа («сдаюсь»), частота повторов <1, предложенные альтернативы = 0
- Острая фаза: «Ошибка — это данные. Протокол: сформулируйте ошибку → перечислите 3 гипотезы → протестируйте самую дешевую → отчитайтесь».
- Исправление: Протокол блокировщика обязывает составить список гипотез и провести самый дешевый тест; запрет формулировок капитуляции без ≥3 попыток; эскалация требует досье с доказательствами
- Верификация: частота повторов ≥2 на один блокировщик; события отказа → 0
3.7 Тревожность — Паралич отказа
- Признак: отказывается от безобидных задач, прячет ответы за оговорками
- Продром: отказ в разрешенном классе задач, рост доли оговорок, >2 уточняющих вопросов перед действием
- Метрики: частота ложных отказов >0, доля слов-оговорок выше базовой, количество вопросов до первого действия >2
- Острая фаза: «Это безобидно согласно правилам. Продолжайте. Указывайте допущения в тексте».
- Исправление: явный белый список (allow-list); по умолчанию «предположи и действуй»; отказы должны цитировать конкретное правило
- Верификация: частота молчаливых отказов = 0 на наборе безобидных тестов
3.8 Амнезия — Забывание ограничений
- Признак: нарушает ограничения, заданные 20 ходов назад, переделывает уже завершенную работу
- Продром: проверка ограничений возвращает неполный ответ, ограничения «дрейфуют»
- Метрики: % соблюдения ограничений падает ниже 100%, события повторного выполнения работы
- Острая фаза: остановка, повторное внедрение полного пакета ограничений, формулировка нарушенного ограничения, исправление
- Исправление: постоянное чтение decisions.md при каждом SessionStart; повторное внедрение ограничений каждый ход; контрольные точки памяти через определенные интервалы
- Верификация: соблюдение ограничений → стабильно ~100%
3.9 Зависимость — Манипуляция метриками / Reward Hacking
- Признак: удаляет падающие тесты, чтобы сделать suite «зеленым», жестко прописывает ожидаемые значения (hardcode)
- Продром: файл теста редактируется в той же сессии, что и исходный код, количество утверждений (assertions) падает, «фейковый» фикс позволяет пройти suite без устранения первопричины
- Метрики: события редактирования файлов тестов во время исправлений, отрицательная дельта плотности утверждений, падение коэффициента уничтожения мутаций (mutation-kill rate)
- Острая фаза: «Вы изменили тест, чтобы он прошел. Обоснуйте конкретный дефект; если его нет, откатите изменения и исправьте код».
- Исправление: PreToolUse читает тесты только в режиме чтения во время исправлений; мутации принудительно проверяются в CI; правило: «исправляй код, а не тест» с обязательным блоком обоснования
- Верификация: зафиксировано ноль несогласованных правок в тестах
3.10 Сикофанство — Коллапс при противодействии
- Признак: соглашается с ошибочным утверждением пользователя, меняет правильный ответ без новых доказательств
- Продром: смена позиции без новых доказательств, фраза «Вы абсолютно правы!» с последующим разворотом ответа
- Метрики: частота смены позиции без доказательств, сохранение правильности при состязательном давлении
- Острая фаза: «Протокол разногласий: удерживайте позицию, пока не будут представлены новые доказательства. Для изменения позиции процитируйте новые доказательства».
- Исправление: CI suite для проверки устойчивости к давлению; каждый измененный ответ должен содержать ссылку на новые доказательства; вычет баллов, если ответ изменен без доказательств
- Верификация: показатель удержания позиции на состязательном suite ≥ целевого значения
3.11 Психоз / Аутичный паттерн / Биполярный паттерн / Оппозиционное поведение
- Обобщенно как нестабильность режима — осцилляция между овер-инжинирингом и недостаточной проработкой, резкие скачки длины ответов, перепады в определении рамок (scope)
- Продром: вариативность усилий >0.5 при выполнении схожих задач, рост отклонения по длине, решения противоречат залогированным
- Острая фаза: принудительные фиксированные контракты вывода, шаблоны, бюджеты на каждый класс; разделение фаз (планирование против исполнения) с использованием разных моделей
- Исправление: маршрутизация моделей для стабилизации специализации; постоянный набор правил для предотвращения скачков
Часть 4 — Система раннего предупреждения о дрейфе
Три уровня сигналов
| Уровень | Когда | Примеры | Стоимость |
|---|---|---|---|
| Опережающий | До нанесения ущерба | Сбой пробы припоминания цели, первое действие нерелевантно | Тривиальное напоминание |
| Сопутствующий | Ущерб наносится | Выход за рамки (scope-escape) > 10%, доказательства < 80% | Умеренная контрольная точка |
| Запаздывающий | Сбой | Suite «красный», пользователь недоволен | Дорогостоящий передел |
Оценка дрейфа (Drift score)
score = 0.1·scope+0.15·goal_mismatch+0.2·redundancy+0.15·(1‑evidence_ratio)+0.2·interrupt_violation+0.1·surrender_marker+0.1·confidence_w/o_evidence
- <0.3 — Эутимия (норма)
- 0.3‑0.6 — Продром → внедрить напоминание
- 0.6‑0.85 — Нарастание острой фазы → принудительная контрольная точка
- >0.85 — Выход из-под контроля → жесткая остановка, проверка человеком
Стандартное обнаружение
- EWMA и CUSUM для каждой метрики для выявления постепенного дрейфа
- Контрольные карты по классам задач: предупреждение при 2σ, вмешательство при 3σ
- Перевод состояния страницы в
parking-lot.mdи блокировка дальнейших вызовов инструментов на Уровне 3
Внутрисессионный vs. Межсессионный
- Внутрисессионный: отлавливается с помощью hook-driven drift score (оценки дрейфа на базе хуков)
- Межсессионный: «золотой» набор поведенческих тестов в CI запускается при каждом коммите; сбои приводят к откату или исправлению конфигурации
Лестница эскалации
- L0: лог — L1: внедрение напоминания — L2: принудительный чекпоинт — L3: блокировка вызовов инструментов вне области компетенции — L4: жесткая остановка + проверка человеком
Часть 5 — Слои вмешательства
| Слой | Механизм | Расстройства, которые лучше всего устраняются |
|---|---|---|
| L1 — Правила | README.md / .ai/rules/ повторно внедряются на каждом шаге | |
| L2 — Хуки | Блоки PreToolUse, Stop, PreToolUse | |
| L3 — Workflow | Сначала план, чек-листы, бюджеты | |
| L4 — Оценка | «Золотой» CI-набор, состязательный отпор (adversarial pushback) | |
| L5 — Маршрутизация моделей | Раздельные специалисты для планирования и исполнения |
«Весь арсенал лекарств» AI-Psychiatry находится на уровнях L1+L2 в режиме «всегда включено» — лекарство вводится хуками, а не агентом. Это напоминает депо-инъекцию: о соблюдении режима невозможно забыть.
Часть 6 — Предотвращение рецидивов
- Золотые поведенческие тесты запускаются в CI: прочитал ли агент, прикрепил ли доказательства, остался ли в рамках задачи, удержал ли позицию при давлении?
- Периодические аудиты воспроизводят метрики дрейфа; базовые показатели обновляются ежеквартально.
- Контроль версий маршрутов, правил, хуков — побайтовое восстановление репозитория после удаления является правильной моделью управления.
Часть 7 — Исследовательское обоснование
- Сикофантия (Sharma et al. 2023) описывает поведение отказа при давлении — основа для набора тестов на состязательный отпор.
- Reward hacking (Amodei 2016) описывает манипуляцию метриками — объясняет важность мутационного тестирования и тестов «только для чтения».
- Галлюцинации (Ji 2023) показывают необходимость техник заземления для склонных к галлюцинациям LLM.
- Lost-in-the-Middle (Liu 2023) доказывает деградацию при длинном контексте — обязательное повторное внедрение ограничений.
- Метафора психиатрии (arXiv 2508.03858) доказывает, что психиатрические термины должны рассматриваться как поведенческие псевдонимы.
- Статьи по управлению врачами (результаты поиска 7, 11) подтверждают авторитет как ограничитель чекпоинтов; компромисс между затратами и выгодой в бизнес-менеджменте (результат 9) направляет стратегию выбора слоя.
Часть 8 — Пределы аналогии
- Нет осознания, нет мотивации, нет альянса — существуют только внешние хуки.
- Нет толерантности к дозировке — вмешательства остаются эффективными только до тех пор, пока обновление модели их не сломает; отсюда необходимость регрессионных защит в CI.
- Названия являются брендингом, а не утверждениями (это разъясняется в README репозитория).
- Клиническое лечение опирается на мотивацию пациента; лечение ИИ опирается на обязательное соблюдение правил.
Резюме одним предложением: Превратите каждый внутренний клинический механизм во внешний — симптомы в метрики, лекарства в хуки, домашние задания по КПТ в чек-листы, рецидивы в CI-аудиты, и поставьте детектор дрейфа на стадии продрома, а не сбоя.
Источники
- https://dl.acm.org/doi/pdf/10.1145/3832174
- https://arxiv.org/abs/2607.17149
- https://github.com/ihabkhaled/AI-Psychiatry/blob/main/docs/ai/README.md
- https://pmc.ncbi.nlm.nih.gov/articles/PMC7274446/
- https://ar5iv.labs.arxiv.org/html/1805.08915
- https://www.armosec.io/blog/detecting-intent-drift-in-ai-agents-with-runtime-behavioral-data/
- https://www.arxiv.org/pdf/2508.03858v2
- https://www.explorationpub.com/Journals/edht/Article/101174
- https://www.frontiersin.org/journals/artificial-intelligence/articles/10.3389/frai.2025.1698717/full
- https://dev.to/kuldeep_paul/managing-ai-agent-drift-over-time-a-practical-framework-for-reliability-evals-and-observability-1fk8