Рассуждение Охрана: Обнаружение циклов на уровне прокси для локального вывода 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
👀 Смотрите также

NaNMesh MCP проверяет GitHub issues, прежде чем Claude порекомендует библиотеки.
NaNMesh MCP — это сервер с открытым исходным кодом для Model Context Protocol, который сканирует GitHub Issues, Stack Overflow и Reddit в поисках известных ошибок в инструментах разработки. Когда Claude рекомендует библиотеку, он может проверить наличие реальных проблем перед интеграцией.

Эксперимент по сравнительному анализу кода с использованием трех ИИ-инструментов на одной кодовой базе
Видеоэксперимент тестирует Codex, Claude Code и Claude Code с Sextant на одинаковых задачах по ревью кода, где Codex проверяет результаты и оценивает, какой отчёт более полезен. Основное внимание уделяется тому, как рабочий процесс и структура влияют на то, что замечает ИИ и что он приоритезирует.

MarkView: Инструмент с открытым исходным кодом для отображения и управления Markdown-файлами, созданными искусственным интеллектом
MarkView — это приватный рендеринг-движок, который отображает файлы Markdown с диаграммами Mermaid и математикой KaTeX, доступный как веб-приложение, нативное приложение для macOS и MCP-сервер для интеграции с Claude Desktop и Cursor.

Настройка OpenClaw как постоянного ИИ-ассистента
OpenClaw, настроенный как постоянно действующий AI-ассистент для небольшой команды разработчиков, размещен на сервере Railway, использует Claude в качестве бэкенда и интегрируется с Google Workspace, GitHub и другими сервисами.