Крупные языковые модели раскрывают ход рассуждений в структурированных выводах, несмотря на явные инструкции.

✍️ OpenClawRadar📅 Опубликовано: 14 апреля 2026 г.🔗 Source
Крупные языковые модели раскрывают ход рассуждений в структурированных выводах, несмотря на явные инструкции.
Ad

Проблема: просачивание рассуждений при валидации LLM

Разработчик, создающий инструмент для параллельных API-вызовов к Claude и парсинга структурированного вывода для каждого вызова, столкнулся с периодической проблемой. Каждый вызов возвращает контент внутри специальных маркеров, таких как [COVER], [SLIDE 1], [CAPTION] и т.д. Второй проход LLM проверяет вывод на соответствие правилам и переписывает всё, что не проходит проверку.

Промпт валидации явно указывает: "возвращайте ТОЛЬКО исправленный текст в точном том же формате. Без комментариев. Без рассуждений. Без списков нарушений."

Несмотря на это, модель валидации иногда выводит свои рассуждения перед исправленным контентом. Примеры включают: "Мне нужно проверить этот текст на нарушения... Эти предложения образуют нагромождённую драматическую пару, используемую исключительно для эффекта. Вот переписанный вариант:" с последующим фактическим исправленным текстом.

Последствия для последующих этапов

Этот текст с рассуждениями передаётся напрямую парсеру. Парсер ожидает контент, начинающийся с [COVER], но вместо этого получает метакомментарии. Это вызывает смещение полей на последующих этапах. В одном случае текст рассуждений валидатора оказался внутри поля подписи к изображению, потому что парсер воспринял рассуждения как содержимое тела, сдвинув всё на несколько строк вниз.

Одно лишь ужесточение промптов не решило проблему. Делая инструкции более явными, добавляя "ваш вывод ДОЛЖЕН начинаться с первого маркера контента" и "никогда не включайте рассуждения" — снизило частоту возникновения, но не устранило её полностью. Модель иногда игнорирует инструкции, особенно когда находит нарушения для исправления — она хочет показать свою работу.

Ad

Решение: двухуровневая защита

Решение, которое сработало, включало два уровня:

  • Уровень 1: Ужесточение промптов. Всё ещё стоит делать, потому что это снижает частоту возникновения проблемы.
  • Уровень 2: Защитная функция очистки, которая запускается для каждого вывода валидации до любого парсинга. Для структурированных форматов она привязывается к первому распознанному маркеру и отбрасывает всё, что перед ним. Для простых текстовых форматов она удаляет строки, соответствующие известным шаблонам комментариев валидатора (таким как "Позвольте мне проверить этот текст" или "Это нарушает ограничение").

Порядок "очистка-перед-парсингом" является ключевым. Каждый последующий парсер работает с уже очищенным выводом. Это позволяет избежать поддержки логики очистки для каждого поля или игры в "испорченный телефон" с новыми форматами рассуждений.

Соображения по реализации

Для шаблонов очистки простого текста требуется тщательное проектирование. Регулярное выражение, которое ловит "Это нарушение", может также поймать "Это распространённая ошибка" в легитимном контенте. Шаблоны следует ужесточать, чтобы они соответствовали только специфическому языку валидатора, например "Это нарушает правило/ограничение", а не широким совпадениям на "Это есть" или "Это использует". Каждый шаблон требует проверки на реальном контенте перед развёртыванием.

Если вы парсите структурированный вывод LLM, относитесь к инструкциям промпта как к наилучшему усилию первого прохода и всегда имейте защиту на уровне кода перед парсером. Модель будет соблюдать инструкции в 95% случаев, но 5%, когда она этого не делает, нарушат логику последующих этапов способами, которые трудно воспроизвести, потому что они возникают периодически.

📖 Read the full source: r/ClaudeAI

Ad

👀 Смотрите также

gui.new: Инструмент для Claude для отображения визуального вывода в виде доступных для общего доступа ссылок
Инструменты

gui.new: Инструмент для Claude для отображения визуального вывода в виде доступных для общего доступа ссылок

gui.new — это инструмент, который позволяет Claude визуализировать вывод в виде живых ссылок для совместного использования, вместо возврата блоков кода. Он создан с помощью Claude, использует Next.js на Vercel с Supabase и не требует регистрации.

OpenClawRadar
CodeLedger: Открытый плагин Claude Code отслеживает использование токенов и фоновые агенты
Инструменты

CodeLedger: Открытый плагин Claude Code отслеживает использование токенов и фоновые агенты

CodeLedger — это плагин с открытым исходным кодом для сервера MCP в Claude Code, который автоматически отслеживает использование токенов в проектах, идентифицирует фоновых агентов и предоставляет рекомендации по оптимизации затрат на основе анализа локальных JSONL-файлов сессий.

OpenClawRadar
Lightning MLX: быстрый локальный AI-движок для агентного использования на Apple Silicon выдает 220 токенов/с на Qwen 35B-A3B
Инструменты

Lightning MLX: быстрый локальный AI-движок для агентного использования на Apple Silicon выдает 220 токенов/с на Qwen 35B-A3B

Lightning MLX заявляет, что он обеспечивает самый быстрый локальный вывод ИИ на Apple Silicon, оптимизированный для агентов кодирования и вызова инструментов. Тесты показывают 40,67 ток/с на Qwen3.6-27B и 220,86 ток/с на Qwen3.6-35B-A3B на MacBook Max M5 (128 ГБ).

OpenClawRadar
7 слеш-команд, $0.45/пост: Этот пайплайн Claude Code управляет всей SEO-операцией
Инструменты

7 слеш-команд, $0.45/пост: Этот пайплайн Claude Code управляет всей SEO-операцией

Разработчик опубликовал в открытом доступе пайплайн из 7 команд Claude Code, который занимается SEO-исследованием, написанием, оптимизацией и публикацией контента. Стоимость: $0.45/пост (Perplexity API), время работы: 15 мин/день. Результаты: рост месячных показов в 18 раз за 12 месяцев.

OpenClawRadar