Руководство по интеграции
### Введение
Одна из частых ловушек автономных ИИ-агентов — **зацикливание** (looping). Это происходит, когда модель пытается исправить ошибку выполнения, но раз за разом вызывает один и тот же инструмент с теми же аргументами, не понимая, почему результат не меняется. Протокол **Anti-Looping Monitor (ALM)** реализует детерминированный монитор поверх рантайма для отслеживания и прерывания таких циклов.
### Механика обнаружения циклов
ALM отслеживает стек вызовов инструментов (Tool Call Stack) и изменения состояния системы:
1. **Хеширование действий (Action Hashing)**: Каждому вызову инструмента присваивается хэш-сигнатура:
\[ H_{action} = \text{SHA-256}(\text{ToolName} + \text{JSON.stringify}(Args)) \]
2. **Детектор повторений**: Если один и тот же хэш вызывается `max_repeated_tool_calls` раз подряд (например, 3 раза) без изменения целевых метрик состояния, это классифицируется как зацикливание.
3. **Анализ дрейфа состояния (State Drift)**: Если за последние 5 ходов системы изменение ключевых файлов состояния (например, `state.json`) составляет менее `state_drift_threshold_percent` (0.05%), а транзакции идут — процесс признается буксующим.
### Стратегии прерывания цикла (Mitigation Strategies)
При фиксации зацикливания ALM применяет ступенчатые меры:
- **Шаг 1: Искажение температуры (Temperature Skew)**: Монитор временно повышает температуру сэмплирования LLM (например, с `0.0` до `0.7`) для следующего шага генерации. Это заставляет модель искать альтернативные пути решения вместо повторения старого шаблона.
- **Шаг 2: Системная инъекция (Prompt Injection)**: В контекст принудительно вставляется системное предупреждение высокого приоритета: *«Внимание: Обнаружен бесконечный цикл. Инструмент X возвращает ту же ошибку. Вы должны изменить аргументы или использовать другой инструмент»*.
- **Шаг 3: Аварийный останов (Emergency Halt)**: При достижении лимита `max_turn_execution_count` (20 ходов) сессия полностью блокируется, и на терминал оператора выводится звуковой или визуальный сигнал тревоги.
Одна из частых ловушек автономных ИИ-агентов — **зацикливание** (looping). Это происходит, когда модель пытается исправить ошибку выполнения, но раз за разом вызывает один и тот же инструмент с теми же аргументами, не понимая, почему результат не меняется. Протокол **Anti-Looping Monitor (ALM)** реализует детерминированный монитор поверх рантайма для отслеживания и прерывания таких циклов.
### Механика обнаружения циклов
ALM отслеживает стек вызовов инструментов (Tool Call Stack) и изменения состояния системы:
1. **Хеширование действий (Action Hashing)**: Каждому вызову инструмента присваивается хэш-сигнатура:
\[ H_{action} = \text{SHA-256}(\text{ToolName} + \text{JSON.stringify}(Args)) \]
2. **Детектор повторений**: Если один и тот же хэш вызывается `max_repeated_tool_calls` раз подряд (например, 3 раза) без изменения целевых метрик состояния, это классифицируется как зацикливание.
3. **Анализ дрейфа состояния (State Drift)**: Если за последние 5 ходов системы изменение ключевых файлов состояния (например, `state.json`) составляет менее `state_drift_threshold_percent` (0.05%), а транзакции идут — процесс признается буксующим.
### Стратегии прерывания цикла (Mitigation Strategies)
При фиксации зацикливания ALM применяет ступенчатые меры:
- **Шаг 1: Искажение температуры (Temperature Skew)**: Монитор временно повышает температуру сэмплирования LLM (например, с `0.0` до `0.7`) для следующего шага генерации. Это заставляет модель искать альтернативные пути решения вместо повторения старого шаблона.
- **Шаг 2: Системная инъекция (Prompt Injection)**: В контекст принудительно вставляется системное предупреждение высокого приоритета: *«Внимание: Обнаружен бесконечный цикл. Инструмент X возвращает ту же ошибку. Вы должны изменить аргументы или использовать другой инструмент»*.
- **Шаг 3: Аварийный останов (Emergency Halt)**: При достижении лимита `max_turn_execution_count` (20 ходов) сессия полностью блокируется, и на терминал оператора выводится звуковой или визуальный сигнал тревоги.