Рассуждение Охрана: Обнаружение циклов на уровне прокси для локального вывода LLM

Разработчик, запускающий Qwen3.6 MoE за прокси vLLM, столкнулся с распространенной проблемой надежности: неконтролируемые циклы рассуждения, когда модель повторяется внутри блока рассуждения, сжигая токены и останавливая агентов. При скорости 180+ токенов/сек даже 20–30-секундный цикл тратит время GPU и блокирует запросы клиентов. Они создали легковесный защитник, который живет на уровне прокси и применяет детерминированные проверки к потоковому выводу до того, как он достигнет клиента.
Архитектура
Клиент → Прокси → vLLM → Модель
Прокси перехватывает потоковый ответ на выходе из vLLM. Он не изменяет веса модели, не вызывает вторую LLM и не использует эмбеддинги или семантический анализ. Все проверки дешевы и детерминированы.
Что проверяется
- Ограничения токенов рассуждения (настраиваются для каждого уровня усилий)
- Обнаружение повторяющихся абзацев
- Повторение n-грамм с скользящим окном
- Снятие отпечатков повторяющихся предложений
- Нечеткое обнаружение открывающих паттернов (ловит циклы вроде "На самом деле, кажется, я нашел...")
- Путь восстановления "прервать и продолжить"
Процесс восстановления
Когда защитник срабатывает, он:
- Останавливает восходящий поток
- Захватывает рассуждение, произведенное на данный момент
- Повторно отправляет запрос с этим рассуждением, встроенным как предыдущий контекст ассистента
- Отключает мышление для продолжения
- Объединяет статистику использования фазы 1 и фазы 2
Поскольку кэширование префиксов vLLM уже активно, продолжение происходит практически бесшовно. Фаза 2 обычно возобновляется с TTFT около 50–100 мс, так что клиент видит, как рассуждение плавно переходит в финальный ответ, а не зависает.
Наблюдаемость
Прокси логирует каждое срабатывание с:
- Сработал ли защитник
- Причина срабатывания
- Использованный лимит токенов
- Количество токенов рассуждения
- Объединенное общее использование
- Метаданные конца потока
Результат
До: иногда блоки рассуждений на 2000+ токенов, которые никуда не вели. После: модель все еще рассуждает, когда это полезно, но неконтролируемое мышление прерывается и перенаправляется в ответ. Автор описывает это как "ремень безопасности на уровне прокси для локального вывода LLM".
Никаких хирургических вмешательств в модель, никаких дополнительных вызовов LLM — только перехват потока, подсчет токенов, обнаружение циклов и чистый путь восстановления. Защитник проверен от начала до конца через живой прокси на реальных логах трассировки.
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

Холабосс AI Runtime переходит на TypeScript, реализует постоянные порты MCP.
Среда выполнения локального агента Holaboss AI была переработана для использования исключительно TypeScript, что устранило зависимости от Python и уменьшило размер пакета. Теперь она сохраняет порты серверов MCP в SQLite с ограничениями UNIQUE(port), чтобы предотвратить конфликты при перезапусках.

Anthropic запускает Claude для малого бизнеса с готовыми рабочими процессами для QuickBooks, HubSpot, Canva
Claude for Small Business — это устанавливаемый по переключателю пакет в составе Claude Cowork, который подключается к QuickBooks, PayPal, HubSpot, Canva, Docusign, Google Workspace и Microsoft 365 и включает 15 готовых к работе агентных процессов для расчета зарплаты, закрытия месяца, выставления счетов, управления кампаниями и многого другого.

W2A — открытый протокол для агентских сенсоров: предоставление локальным агентам восприятия в реальном времени
W2A (World2Agent) — это открытый протокол, стандартизирующий уровень восприятия для AI-агентов: возможность самостоятельного хостинга, TS SDK, лицензия Apache 2.0. Он позволяет агентам получать сигналы от датчиков в реальном времени без одноразовых скриптов.

docvault: Создайте локальную документацию API, чтобы уменьшить галлюцинации ИИ
docvault — это инструмент, который генерирует справочники API в формате markdown из исходного кода, чтобы помочь Claude и другим LLM перестать галлюцинировать сигнатуры функций. Он работает с крейтами Rust и пакетами Python, выводит двухуровневый markdown-файл и включает плагин для Claude Code для работы без ручного вмешательства.