TGViewer
ML&|Sec Feed ML&|Sec Feed @mlsecfeed · 1.38K subscribers
Post #1674 177

Forwarded from Чуковский

Schema-Guided Reasoning

В профильных LLM-каналах начал набирать популярность термин SGR (Schema-Guided Reasoning), но по какой-то причине народ не всегда понимает, что он обозначает, и зачем нужен. Никакого секрета нет, главное запомнить одно уравнение:

SGR = SO + COT



Из чего складывается Schema-Guided Reasoning:

1️⃣Во-первых, нам нужна модель, которая поддерживает Stuctured Output (SO) - возможность управлять результатом работы LLM, "зануляя" вероятности токенов, не подходящих под описанную нами грамматику, прямо во время выполнения.

2️⃣Во-вторых, нам нужно определить структуру желаемого ответа так, чтобы она "помогала" модели мыслить (тот самый Chain-Of-Thought).
Мы как бы «заставляем» модель пройти определенные этапы размышления перед тем как дать ответ, чтобы в результате вероятность корректных токенов ответа была выше.

Отличным примером использования такой техники является бот для дип-ресерча на открытых модельках sgr-deep-research, разработанный автором канала @neuraldeep:

🟢Сначала (скриншот 1 в комментах) мы определяем несколько классов, которые описывают шаги размышления модели. Например, когда модель хочет сгенерировать список уточняющих вопросов - она должна сначала описать себе причину, зачем ей это уточнение потребовалось, далее перечислить список терминов, которые она не поняла, предположить что они обозначают, и только после этого сгенерировать вопросы пользователя

🟢Одновременно с этим, для описания шагов размышления мы используем Pydantic-классы. Зачем? Чтобы можно было их отправить в LLM в качестве грамматики, ограничивающей результат. Теперь, если LLM решит выполнить шаг «Уточнение вопроса», она обязательно должна будет пройти указанные выше шаги, и это ограничение будет завернуто прямо в движок ее инференса. Модель просто физически не сможет отойти от схемы и начать генерировать что-то нерелевантное (почти всегда, но об этом позже)

Далее, эти шаги объединяются в цепочку (скриншот 2), которая представляет собой финальный ответ, и структура которой будет отправлена в LLM в качестве промпта.

И вот на этом этапе, становится понятно, зачем понадобился вообще SGR, и в чем его преимущество относительно других методов. Для того, чтобы сгенерировать следующий шаг в размышлениях, LLM обязательно сгенерирует:
🟢1-4 предложения, как она видит текущую ситуацию;
🟢статус выполнения плана исследования, закончен ли он, сколько еще шагов нужно пройти
🟢сколько еще шагов поиска она может сделать
🟢достаточно ли ей данных для отчета
🟢и только после этого, она сможет выбрать инструмент, который будет запускать (или доуточнение, или веб-поиск, или генерация ответа).

Для больших моделей, такой подход часто избыточен - они и так достаточно умные, чтобы рассуждать прямо "из коробки", и всегда следовать нужной инструкции.
Но если ваша модель относительно небольшая, и может легко отклоняться от инструкций, или она недостаточно хорошо их выполняет, то такие вот "рельсы" в виде Structured Output + зашитый в ответ процесс размышлений в стиле Chain-Of-Thought могут дать значительный прирост качества на ряде задач.

Конечно, у такого подхода есть и минусы, и его тоже нужно правильно готовить, но об этом как-нибудь в другой раз

@korneychukov
  • 👍 1
More from @mlsecfeed
  1. Oct 10, 2026Когнитивные артефакты для поиска ИИ-малвари Для поиска ИИ-малвари традиционные индикаторы…
  2. Oct 10, 2026Mensarium — self-hosted обвязка для AI-агента: ставите Core на сервер или ноутбук, подключ…
  3. Oct 10, 2026Progressive Disclosure для MCP/API - экономия токенов в ~99% Я вчера писал про 12 итерацию…
  4. Oct 9, 2026Research-first-builder — заставьте вашего агента по программированию обосновать архитектур…
  5. Oct 9, 2026Post #2792
  6. Oct 7, 2026🔥 Первый день Форума «Цифровые решения» — работаем Мы представили два руководства по безо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →