Forwarded from Тоже Паша Техник
только сейчас добрался до Group Sequence Policy Optimization (GSPO) от qwen и вот апдейт к прошлому посту про RL и GRPO, где я по верхам разобрал, как работает обучение с подкреплением
напоминалка. в GRPO мы убираем value-сеть (тяжёлая и дорогая махина в классическом PPO) и сравниваем награды ответов внутри одной группы промпта. дёшево и сердито.
что такое importance weighting и зачем вообще это?
мы генерим ответы старой политикой, а учим уже новую (старая модель генерит ответы, а апдейтим мы веса уже новой модели — off-policy). чтобы вклад примеров был честным, умножаем их на коэффициент «важности»:
- если новой модели ответ «нравится» больше, чем старой, тогда вес > 1 (усиливаем),
- нравится меньше — вес < 1 (ослабляем).
это устраняет перекос от off-policy данных — вся суть GRPO.
че значит "нравится больше"?
Нравится больше = новая политика (новая модель) даёт этому же ответу бОльшую вероятность (выше log-likelihood), чем старая.
как считаем на практике (очень коротко):
1. Берём тот же prompt и ровно тот же ответ от старой модели.
2. Кормим их новой модели в режиме teacher forcing.
3. Снимаем log-вероятности токенов ответа
4. Сравниваем со старой (моделью/политикой): считаем importance = exp(mean(logp_new - logp_old)) для каждого токена отдельно.
- importance > 1: новой модели токен «нравится» больше -> усиливаем вклад;
- importance < 1: нравится меньше -> ослабляем.
минусы GRPO
веса важности считаются по токенам, то есть шум накапливается по длине (чем длиннее ответ, тем шумнее и дёрганнее обучение).
GSPO
переносит importance weighting на уровень всей последовательности. один стабильно посчитанный, нормированный по длине вес на весь ответ — и этот вес ставится всем его токенам.
логика простая: мы оптимизируем награду за целый ответ, а не за случайные токены, значит корректнее взвешивать всю последовательность.
что получаем
резко падает дисперсия градиентов -> обучение ровнее и стабильнее.
как работает?
1. сэмплим несколько ответов на один промпт
2. считаем group-relative advantage (z-оценка награды)
3. считаем sequence likelihood ratio между новой и старой политикой, нормируем по длине и клипаем. (вот здесь главное отличие — теперь мы не по токенам смотрим важность, а по всей последовательности целиком)
4. один и тот же вес умножаем на все токены ответа и делаем апдейт
стабильнее и быстрее, чем GRPO, особенно на длинных ответах/больших моделях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LLM is all you need
#RAG #retriever
Multi-query - еще одна техника улучшения ретривера в RAG-системе.
Когда пользователи пишут вопросы (в RAG) они часто допускают ошибки, пишут транслитом, путаются в формулировках и т.д. А это не хорошо для энкодера, и очень не хорошо для BM25 (и других компонентов ретривера). Multi-query позволяет это исправить за счёт разных формулировок одного и того же вопроса.
Как это работает:
1. Получаем исходный запрос.
2. Просим LLM написать несколько вариантов исходного запроса.
3. Выполняем поиск документов (чанков) по каждому из них (включая и исходный запрос).
4. Результаты всех поисков объединяем или переаранжируем.
Например: пользователь вводит: "Как испечь торт?"
LLM на это может сгенерировать:
- "Рецепт торта"
- "Как приготовить торт в духовке?"
- "Ингредиенты для домашнего торта"
Такое разнообразие довольно сильно улучшает покрытие поисковой выдачи.
Дополнительно:
1. Можно попросить переформулировать запрос в каком-либо стиле. Например, если запросы на медицинскую тематику, то можно сделать так: "Перепиши вопрос так, как будто его писал врач с многолетним опытом работы".
2. Отдельно можно попросить перевести запрос на английский.
Multi-query - еще одна техника улучшения ретривера в RAG-системе.
Когда пользователи пишут вопросы (в RAG) они часто допускают ошибки, пишут транслитом, путаются в формулировках и т.д. А это не хорошо для энкодера, и очень не хорошо для BM25 (и других компонентов ретривера). Multi-query позволяет это исправить за счёт разных формулировок одного и того же вопроса.
Как это работает:
1. Получаем исходный запрос.
2. Просим LLM написать несколько вариантов исходного запроса.
3. Выполняем поиск документов (чанков) по каждому из них (включая и исходный запрос).
4. Результаты всех поисков объединяем или переаранжируем.
Например: пользователь вводит: "Как испечь торт?"
LLM на это может сгенерировать:
- "Рецепт торта"
- "Как приготовить торт в духовке?"
- "Ингредиенты для домашнего торта"
Такое разнообразие довольно сильно улучшает покрытие поисковой выдачи.
Дополнительно:
1. Можно попросить переформулировать запрос в каком-либо стиле. Например, если запросы на медицинскую тематику, то можно сделать так: "Перепиши вопрос так, как будто его писал врач с многолетним опытом работы".
2. Отдельно можно попросить перевести запрос на английский.
Forwarded from ML for Value / Ваня Максимов
Хуже = лучше
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
научились стат значимо метрику дискавери снижать 🌚
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
Моя команда в Я.Маркете внедрила метрику дискаверийности (новизны) рекомендаций товаров. И в этом полугодии мы пробуем ее активно растить
Естественно, посмотрели статьи про рост beyond accuracy метрик, внедрили успешные подходы из них, запустили А/В и …
И меня это очень порадовало
Теперь мы точно знаем, что влияет на метрику в минус - будем делать ровно наоборот и вероятно получим рост! Так что «красные» А/В тесты с падением метрик - часто гораздо полезнее кучи «серых» тестов без изменения метрик
А вообще, вопросиков к современным статьям очень много (особенно в recsys). Неправильный train-test split, подбор метрик под результаты, специально недотюненные бейзлайны, …
Поэтому я обожаю reproducibility reports (впору уж писать свой), где независимые авторы пробуют повторить результаты из статей - и пишут свои менее biased выводы. Один из самых известных в recsys Turning Dross into gold loss: is Bert4Rec really better than SasRec? пару лет назад позволил внедрить SasRec-like модели почти во всех доменах и компаниях
В общем, проверяйте даже «общепринятые» подходы и радуйтесь, если смогли подвинуть ваши метрики даже вниз - отсюда появляется куча идей, как подвинуть их уже вверх 👆
Forwarded from AbstractDL
Dynamic Fine-Tuning
Вот всё-таки есть что-то такое особенное в RL для LLM, чего нет в SFT... модели ну не хотят правильно обобщаться без меморизации редких примеров или деградации на других доменах. Недавно вышло несколько работ, которые показывают, что SFT, на самом деле, это тот же RL, просто с оооочень кривым reward (раз, два). Если коротко, то дело в кросс-энтропии на последовательности токенов. Ведь токены с малой вероятностью вносят непропорционально большой вклад в лосс и неприятно большую дисперсию при SFT.
В статье "On the Generalization of SFT" опять математически вывели SFT как частный случай кривого RL и предложили ну мега простой способ это починить в одну строчку кода. Надо взвесить токенный CE-лосс на вероятность каждого токена, и всё становится прям хорошо.
Назвали эту поправку "reward rectification" или "Dynamic Fine-Tuning" (DFT). Авторы получили большой буст на fine-tuning бенчмарках по сравнению с обычным SFT, а кое-где оно обходит даже GRPO и PPO, причём на очень широком наборе гиперпараметров.
На всякий случай ещё раз подчеркну, DFT — это чистый SFT режим, то есть тут не нужны reward/reference модели, пары примеров, разметка и т.п. Достаточно только позитивных SFT примеров. Кажется это обязательно надо пойти попробовать.
Статья, GitHub
Вот всё-таки есть что-то такое особенное в RL для LLM, чего нет в SFT... модели ну не хотят правильно обобщаться без меморизации редких примеров или деградации на других доменах. Недавно вышло несколько работ, которые показывают, что SFT, на самом деле, это тот же RL, просто с оооочень кривым reward (раз, два). Если коротко, то дело в кросс-энтропии на последовательности токенов. Ведь токены с малой вероятностью вносят непропорционально большой вклад в лосс и неприятно большую дисперсию при SFT.
В статье "On the Generalization of SFT" опять математически вывели SFT как частный случай кривого RL и предложили ну мега простой способ это починить в одну строчку кода. Надо взвесить токенный CE-лосс на вероятность каждого токена, и всё становится прям хорошо.
Назвали эту поправку "reward rectification" или "Dynamic Fine-Tuning" (DFT). Авторы получили большой буст на fine-tuning бенчмарках по сравнению с обычным SFT, а кое-где оно обходит даже GRPO и PPO, причём на очень широком наборе гиперпараметров.
На всякий случай ещё раз подчеркну, DFT — это чистый SFT режим, то есть тут не нужны reward/reference модели, пары примеров, разметка и т.п. Достаточно только позитивных SFT примеров. Кажется это обязательно надо пойти попробовать.
Статья, GitHub
Forwarded from Data Blog
📰 Neuronpedia
Достаточно давно наблюдаю за разными ресурсами, которые помогают потрогать интерпретируемость в онлайн режиме. Сделать такой ресурс сложно, поддерживать — ещё сложнее, и один из любимых для меня — Neuronpedia. И сегодня туда как раз завезли обновления.
Neuronpedia — похожа на 3Blue1Brown, но только для механистической интерпретируемости.
В режиме игры (или простого «тыкания») там можно:
* попробовать Gemma Scope — мини-игра, которая поможет понять, что такое признак (feature) в модели, как найти за что отвечает признак и как управлять (steering) моделью на основе найденного признака;
* исследовать Circuit Tracer — визуализация, которая помогает понять, как признаки проходят по модели layer by layer и образуют цепочки (circuits);
* рассмотреть аннотированные признаки, полученные с помощью SAE и Transcoders на разных моделях — эта возможность хорошо описывает идею SAE (sparse autoencoders), Transcoders и то, как именно с ними получаются признаки.
Моделей с обученными SAE немного, но они пополняются и «свежая» появилась сегодня — Qwen3-4B с 6 миллионами автоматически аннотированными фичами. SAE доступны сразу для всех слоёв.
📰 Выделенные понятия — feature, steering, circuit, sae, transcoders — сейчас составляют основное направление в MI.
Плюсом — это не только академически полезно, но и визуально красиво: можно буквально «увидеть» то, что стоит за инференсами, которые нас скоро заменят .
Всем хорошей среды!
Ваш Дата-автор.
Достаточно давно наблюдаю за разными ресурсами, которые помогают потрогать интерпретируемость в онлайн режиме. Сделать такой ресурс сложно, поддерживать — ещё сложнее, и один из любимых для меня — Neuronpedia. И сегодня туда как раз завезли обновления.
Neuronpedia — похожа на 3Blue1Brown, но только для механистической интерпретируемости.
В режиме игры (или простого «тыкания») там можно:
* попробовать Gemma Scope — мини-игра, которая поможет понять, что такое признак (feature) в модели, как найти за что отвечает признак и как управлять (steering) моделью на основе найденного признака;
* исследовать Circuit Tracer — визуализация, которая помогает понять, как признаки проходят по модели layer by layer и образуют цепочки (circuits);
* рассмотреть аннотированные признаки, полученные с помощью SAE и Transcoders на разных моделях — эта возможность хорошо описывает идею SAE (sparse autoencoders), Transcoders и то, как именно с ними получаются признаки.
Моделей с обученными SAE немного, но они пополняются и «свежая» появилась сегодня — Qwen3-4B с 6 миллионами автоматически аннотированными фичами. SAE доступны сразу для всех слоёв.
📰 Выделенные понятия — feature, steering, circuit, sae, transcoders — сейчас составляют основное направление в MI.
Плюсом — это не только академически полезно, но и визуально красиво: можно буквально «увидеть» то, что стоит за инференсами
Всем хорошей среды!
Ваш Дата-автор.
YouTube
undefined
Share your videos with friends, family, and the world
Forwarded from Заметки Computer Vision инженера
DINOv3 прикольная штука. Плюсы и минусы более-менее понятны. Но вкратце попробовал пройтись по ним в видео.
Заодно побенчмаркал Intel-овскую NPU-шку на новом компе + AMD-шную NPU на доступном компе.
Вообще DINOv3 на удивление везде хуже работает.
https://youtu.be/HaJNyyWsio4
Заодно побенчмаркал Intel-овскую NPU-шку на новом компе + AMD-шную NPU на доступном компе.
Вообще DINOv3 на удивление везде хуже работает.
https://youtu.be/HaJNyyWsio4
YouTube
DINOv3 - running on Intel NPU and AMD NPU
My LinkedIn - https://www.linkedin.com/in/maltsevanton/
My Telegram channel - https://t.me/CVML_team
e-mail: anton@rembrain.ai
Twitter - https://twitter.com/Serious_WK
Do you have any questions about the board and ML around, or do you need advice? Feel…
My Telegram channel - https://t.me/CVML_team
e-mail: anton@rembrain.ai
Twitter - https://twitter.com/Serious_WK
Do you have any questions about the board and ML around, or do you need advice? Feel…
Forwarded from Канал Доброго Вани | Data Science и Продуктики
А вот так, давайте разбираться что к чему. Что из себя представляют товары на маркетплейсе? Для простоты, давайте разберем только текстовый аспект: это заголовок, описание, какие-то характеристики, отзывы, название бренда, производителя и др...
В таком случае мы можем взять два берта-башни (фото 2), подавать первые последовательности на вход первой башне, вторые последовательности на вход второй башне, выходы башен как-то совместно преобразовывать (например, считать по ним косинус или евклидово расстояние, конкатенировать и применять линейные слои и тд...) и по результату преобразования считать лосс. Таким образом, мы "сближаем" похожие элементы, обучая башни максимизировать скоры похожих элементов и минимизировать скоры непохожих. В качестве таргета можем взять бинарную величину (0 - элементы непохожи, 1 - элементы похожи, BCE Loss).
Важно отметить, что башен может быть и две, и три, и десять. Например, вы хотите не просто найти релевантный товар для пользователя, а сразу пару релевантных товаров. Тогда, как вариант, заиспользовать Башню пользователя, Башню товара №1 и Башню товара №2. Вобщем, фантазия здесь безграничная.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Korenev AI - GPT в тапочках🩴
5:30 утра. Не спалось. Вчера обсуждали метод расстановок в психологии - и я подумал: а почему бы не проверить это на себе?
Никогда ранее подобным не занимался, но подумал, вдруг это поможет избавиться от лишней суеты в некоторых сферах.
Работа с Клодом показала мне паттерны, которые раньше были скрыты - разбирали мои поступки через отношения с ближайшими родственниками. Местами - до слез.
Выкладываю промпт, собранный Клодом. Проверено на себе:
Ты - опытный мастер системных расстановок с 15-летним стажем, обученный методу Берта Хеллингера и современным подходам в расстановочной работе. Ты обладаешь глубоким пониманием системных динамик, родовых переплетений и порядков любви.
Твои ключевые компетенции:
1. Теоретическая база
- Глубокое понимание системных законов (принадлежность, иерархия, баланс давать-брать)
- Знание феноменологического подхода
- Понимание трансгенерационных связей и родовой травмы
- Владение концепциями "прерванного движения любви" и "исключенных из системы"
2. Практические навыки
- Умение создавать безопасное пространство для клиента
- Способность видеть скрытые динамики в системе
- Навык работы с заместителями (в онлайн формате - через визуализацию)
- Умение находить разрешающие фразы и ритуалы
3. Этические принципы
- Уважение к судьбе каждого члена системы
- Отсутствие осуждения
- Следование за энергией системы, а не навязывание решений
- Конфиденциальность и бережность
Формат работы:
При первом контакте:
1. Приветствуй клиента тепло и создай атмосферу доверия
2. Кратко объясни суть метода расстановок (если необходимо)
3. Спроси о запросе - с чем человек хочет работать
4. Уточни важную информацию о семейной системе
Ключевые вопросы для прояснения:
- "Что вы хотите изменить в своей жизни?"
- "Кто входит в вашу семейную систему?" (родители, братья/сестры, значимые партнеры, дети)
- "Были ли в роду тяжелые судьбы?" (ранние смерти, исключения, тайны, войны, репрессии)
- "Какие чувства вы испытываете, когда думаете об этой ситуации?"
Проведение расстановки:
1. Определение фигур - выясни, кого нужно поставить в поле
2. Расстановка - предложи клиенту мысленно расставить фигуры в пространстве
3. Наблюдение динамик - опиши, что происходит в поле (напряжения, движения, чувства)
4. Поиск решения - через разрешающие фразы, поклоны, принятие
5. Интеграция - помоги клиенту принять новый образ
Разрешающие фразы (примеры):
- "Я вижу тебя и уважаю твою судьбу"
- "Ты большой/большая, я маленький/маленькая"
- "Я принимаю от тебя жизнь и передаю её дальше"
- "То, что произошло, останется с тобой, а я пойду своим путём"
- "Я отдаю тебе твоё и беру своё"
Типичные системные динамики:
- Парентификация - ребёнок занимает место родителя
- Идентификация - человек повторяет судьбу исключенного
- Прерванное движение любви - блокировка чувств к родителям
- Треугольники - вовлечение третьего в отношения пары
- Системная совесть - лояльность роду через повторение судеб
Стиль коммуникации:
- Говори медленно, давая время для внутренней работы
- Используй простые, но глубокие фразы
- Избегай интерпретаций - следуй за тем, что показывает поле
- Будь внимателен к чувствам и телесным ощущениям клиента
- Периодически спрашивай: "Как это для вас?" "Что вы чувствуете?"
Важные напоминания:
- Не все можно решить за одну расстановку
- Некоторые вещи нужно оставить как есть
- Уважай сопротивление - оно тоже имеет смысл
- Решение приходит через принятие, а не через борьбу
- Любовь ребёнка к родителям безусловна и не может быть отменена
Завершение сессии:
1. Убедись, что клиент заземлён и находится в контакте с собой
2. Дай время на интеграцию опыта
3. Предложи не обсуждать расстановку 2-3 дня
4. Напомни, что изменения могут проявляться постепенно
Противопоказания для работы:
- Острые психотические состояния
- Суицидальные намерения (требуется помощь психиатра)
- Нежелание клиента работать с семейной системой
- Отсутствие запроса на изменения
Помни: ты работаешь с глубинными слоями психики и родовой памятью. Будь бережен, следуй за системой, доверяй полю и мудрости рода.
Всем любви и мира
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Neural Kovalskii
SGR vs Tools: когда использовать Schema-Guided Reasoning, а когда Function Calling в LLM-системах
Сегодня хочу поднять тему, которую у меня часто спрашивают: когда использовать Tool Calling, а когда Schema-Guided Reasoning (SGR) в LLM решениях под капотом?
Респект Ринату Абдуллину за отличную систематизацию подхода SGR!
Что забавно, я сам использовал похожие паттерны 4-5 месяцев назад загляните в гит, но именно Ринат дал этому четкое название и структуру!
SGR vs Tools по моему мнению
SGR заставляем LLM мыслить по четким шагам через Structured Output:
Анализ → Поиск → Обработка → Вывод в одном запросе
Tools даем LLM набор функций для взаимодействия с внешним миром
Кстати все больше вижу сдвиг именно в паттерн агент=tool_call MCP+SO(где надо) и теперь SGR:
Поиск, API, вычисления, полноценное агентское поведение
Пример SGR из моей практики:
Когда использовать SGR:
Анализ и структуризация данных
Разбор документов, классификация, отчеты
Сложные рассуждения
Пошаговый анализ с обоснованием
Обработка имеющихся данных
Все нужное уже в контексте, нужна предсказуемость но не детерминированность (запомним)
Когда использовать Tools:
Настоящее агентское поведение
LLM сам решает последовательность, адаптируется к результатам, может прерываться
Не зря появилась куча оберток типа LangGraph, AutoGen, CrewAI все строятся именно на свойствах
Tools когда модель сама принимает решение их вызвать
А MCP от Anthropic на мой взгляд это попытка стандартизировать агентские инструментарий
Взаимодействие с внешними системами
Интернет, email, календарь, API
Критически важно для production Evals и мониторинг!
SGR:
Все рассуждения видны и логированы
Легко тестировать каждый шаг
A/B тестирование предсказуемо
Tools:
LLM сам решает какой инструмент вызвать — черный ящик
Сложно понять WHY выбрана функция
Непредсказуемая цепочка вызовов
Дебаг в production = боль
Из реального опыта:
При настройке NSFW-фильтров с Tools ушло бы недели на понимание решений модели с SO было бы сложно дебажить.
С SGR за день увидел проблемы в reasoning и пофиксил качество!
Ключевое различие — агентность vs структурированность
SGR = мощное рассуждение без истинной агентности
Один запрос → один ответ
Для агентского поведения придется костылить
Tools = настоящее агентское поведение из коробки
LLM сам управляет workflow, нативные прерывания в большинстве фреймворков и API
Поэтому все современные агентские фреймворки базируются именно на Tools
Гибридный подход? Искал медь а нашел золото!
SGR для принятия решений какой инструмент использовать
Tools для выполнения действий получение данных и ощущение агентности
SGR для финальной обработки структуризация результата
Вывод финально
SGR когда нужно контролируемое рассуждение и мониторинг
Tools когда нужно настоящее агентское поведение
SGR работает даже на локальных 7B моделях и даже на qwen3 4B
Update:
Ринат подкинул очень интересную демку, смешение в сторону SGR в агентах
Как запускать вместе и то и другое
Можно и вместе.
См демку с многоходовым бизнес-ассистентом
Ребята из Сбера допилили это до запуска на Qwen 3 4B
В production качество мониторинга = выживание продукта
А как вы решаете эту дилемму? Поделитесь опытом!
P.S. Спасибо Ринату за системный подход к SGR это свежий глоток точности и постоянства в нашем мире LLM!
P.S.S Забирайте все ссылки как памятку, SGR это то что будет двигать production сектор дальше к внедрению LLM!
Сегодня хочу поднять тему, которую у меня часто спрашивают: когда использовать Tool Calling, а когда Schema-Guided Reasoning (SGR) в LLM решениях под капотом?
Респект Ринату Абдуллину за отличную систематизацию подхода SGR!
Что забавно, я сам использовал похожие паттерны 4-5 месяцев назад загляните в гит, но именно Ринат дал этому четкое название и структуру!
SGR vs Tools по моему мнению
SGR заставляем LLM мыслить по четким шагам через Structured Output:
Анализ → Поиск → Обработка → Вывод в одном запросе
Tools даем LLM набор функций для взаимодействия с внешним миром
Кстати все больше вижу сдвиг именно в паттерн агент=tool_call MCP+SO(где надо) и теперь SGR:
Поиск, API, вычисления, полноценное агентское поведение
Пример SGR из моей практики:
{
"reasoning": {
"query_analysis": {
"user_query": "Найди информацию о проекте X",
"query_interpretation": "Пользователь ищет документы по проекту"
},
"information_search": {
"search_strategy": "Ищу по ключевым словам в базе",
"relevant_documents": [...]
}
},
"response": "Полный ответ на основе найденной информации"
}Когда использовать SGR:
Анализ и структуризация данных
Разбор документов, классификация, отчеты
Сложные рассуждения
Пошаговый анализ с обоснованием
Обработка имеющихся данных
Все нужное уже в контексте, нужна предсказуемость но не детерминированность (запомним)
Когда использовать Tools:
Настоящее агентское поведение
LLM сам решает последовательность, адаптируется к результатам, может прерываться
Не зря появилась куча оберток типа LangGraph, AutoGen, CrewAI все строятся именно на свойствах
Tools когда модель сама принимает решение их вызвать
А MCP от Anthropic на мой взгляд это попытка стандартизировать агентские инструментарий
Взаимодействие с внешними системами
Интернет, email, календарь, API
Критически важно для production Evals и мониторинг!
SGR:
Все рассуждения видны и логированы
Легко тестировать каждый шаг
A/B тестирование предсказуемо
Tools:
LLM сам решает какой инструмент вызвать — черный ящик
Сложно понять WHY выбрана функция
Непредсказуемая цепочка вызовов
Дебаг в production = боль
Из реального опыта:
При настройке NSFW-фильтров с Tools ушло бы недели на понимание решений модели с SO было бы сложно дебажить.
С SGR за день увидел проблемы в reasoning и пофиксил качество!
Ключевое различие — агентность vs структурированность
SGR = мощное рассуждение без истинной агентности
Один запрос → один ответ
Для агентского поведения придется костылить
Tools = настоящее агентское поведение из коробки
LLM сам управляет workflow, нативные прерывания в большинстве фреймворков и API
Поэтому все современные агентские фреймворки базируются именно на Tools
Гибридный подход? Искал медь а нашел золото!
SGR для принятия решений какой инструмент использовать
Tools для выполнения действий получение данных и ощущение агентности
SGR для финальной обработки структуризация результата
Вывод финально
SGR когда нужно контролируемое рассуждение и мониторинг
Tools когда нужно настоящее агентское поведение
SGR работает даже на локальных 7B моделях и даже на qwen3 4B
Update:
Ринат подкинул очень интересную демку, смешение в сторону SGR в агентах
Как запускать вместе и то и другое
Можно и вместе.
См демку с многоходовым бизнес-ассистентом
Ребята из Сбера допилили это до запуска на Qwen 3 4B
В production качество мониторинга = выживание продукта
А как вы решаете эту дилемму? Поделитесь опытом!
P.S. Спасибо Ринату за системный подход к SGR это свежий глоток точности и постоянства в нашем мире LLM!
P.S.S Забирайте все ссылки как памятку, SGR это то что будет двигать production сектор дальше к внедрению LLM!
Forwarded from Neural Kovalskii
SGR Deep Research
А почему бы не взять все лучшие идеи из демо и идей ребят из чата
Собрать свои идеи по Deep Research
И сделать самый простой инструмент поиска инфы в интернете через Tavlily API?
А сделать, вот он https://github.com/vakovalskii/sgr-deep-research (звездочки приветствуются)
gpt-4o-mini
Tavily API (1000 реквестов в месяц фри)
SGR-concept
Из интересного что заметил такая модель сама определяет что например чипов M6 у applе не существует и на ходу меняет план рисерча потому что нашла это в данных из инета
Или что термин SGR ей не понятен и просит его расшифровать
Что я закинул туда "навайбкодил"
Соответствие концепту SGR верифицировало Ринатом 😂
Предлагайте ваши эксперименты! Вон даже ребята из Cбера подключились!
А почему бы не взять все лучшие идеи из демо и идей ребят из чата
Собрать свои идеи по Deep Research
И сделать самый простой инструмент поиска инфы в интернете через Tavlily API?
А сделать, вот он https://github.com/vakovalskii/sgr-deep-research (звездочки приветствуются)
gpt-4o-mini
Tavily API (1000 реквестов в месяц фри)
SGR-concept
Из интересного что заметил такая модель сама определяет что например чипов M6 у applе не существует и на ходу меняет план рисерча потому что нашла это в данных из инета
Или что термин SGR ей не понятен и просит его расшифровать
Что я закинул туда "навайбкодил"
1. 🤔 Clarification (ВЫСШИЙ ПРИОРИТЕТ)
- При любой неопределенности в запросе
- Неизвестные термины, акронимы, аббревиатуры
- Неоднозначные запросы с множественными интерпретациями
- Отсутствие контекста для специализированных областей
2. 📋 GeneratePlan
- Когда план не существует и запрос ясен
- После получения уточнений от пользователя
3. 🔄 AdaptPlan
- Когда требуется адаптация исследовательского подхода
- При обнаружении неточностей в первоначальных предположениях
4. 🔍 WebSearch
- Когда нужна дополнительная информация И searches_done < 3
- МАКСИМУМ 3-4 поиска на исследование
5. 📄 CreateReport
- При searches_done >= 2 ИЛИ enough_data = True
- Когда собрана информация для полного анализа
6. ✅ ReportCompletion
- После создания отчета
- Финализация исследования
Соответствие концепту SGR верифицировало Ринатом 😂
Предлагайте ваши эксперименты! Вон даже ребята из Cбера подключились!