Буквально на днях дипсик сделали статью где они с помощью GRPO подобного метода автоматически составляют системный промпт для адаптации модели под конкретные агентных задачи. Такой тюнинг промпта выходит всего в десять баксов, даёт неплохой прирост, практически автоматически происходит. Так что ничего не мертво, просто это можно делать эффективно автоматически)
И в августе была статья на тему составления case bank где агент запоминает прошлые запросы и по ходу дела учится решать задачу читая наиболее релевантную историю, но там посложнее сетка, с разделением агента на планирование и выполнение.
Вы как пользователь не учитывайте тот факт, что в претрейне сейчас куча синтетики с интернета. Если раньше для условной gpt 4 можно было спокойно включить в данные претрейна тысячу семплов "I'm a gpt 4 - the latest AI model from openAI", и потом в файнтюне добавить семплов "What kind of model are you? -> I'm gpt 4..." и модель этому хорошо бы училась, то прямо сейчас в претрейне УЖЕ есть такие ответы со старыми названиями просто как результат парсинга сайтов. Т.е. модель во время претрейна видит десятки тысяч предложений где она себя как только не называет. Внезапно, после этого тюнить её становится сложнее, и в целом на этапе файнтюна не принято добавлять новые знания в модель, на то он и файнтюн. Если бы это можно было сделать безболезненно для модели - так бы и делали.
Ммм, в 2025 сравнивать кодинг на единичном промпте не в режиме агента, печально(
Немного дополню информацию по квену: qwen 3 coder доступен бесплатно 2К промптов в день через qwen code, но в целом при наличии GLM 4.6 и обновлённого Kimi k2 по копеечным ценам квен не сильно актуален если нет погони за халявой.
По гпт: там вообще есть gpt5-codex для агентного кодинга через codex, ну или хотя бы через курсор, а не тупо в чатике, но тут кому надо и так всё знают.
Почти все популярные движки инференса поддерживают multigpu. Для SGLang/vLLM придется поиграться с конфигом pipeline/tensor/data/expert parallelism ибо редко какие модели получится запустить с tp 3, для llama.cpp тупо слои по гпушкам раскидать и всё.
Но зачем? Даже anthropic не учит свои модели отвечать точно про себя, sonnet 4 и 4.5 с уверенностью считают что они 3.5-3.7. Никому не нужная фича, если прям очень надо чтоб модель себя называла как-то, то это вставляют прям в системный промпт (как те же Perplexity) и не портят веса модели бесполезной информацией.
БУ 3090 - 60к за 24гб врам, пока что самое выгодное решение на рынке. Скоро будет 5070tis с (по слухам) 24гб и уже нативной поддержкой fp8, может она сможет сместить 3090, и то не факт.
Интересно, они сравнивают с ванильным GRPO, но на него уже понавешивали всяких улучшений. Например, в статье MiMo авторы используют несимметричный клиппинг, полностью выпиливают KL, и сверху ещё навешивают сложные методики семплирования и фильтрации, одна из которых это фильтрация слишком сложных и слишком простых задач.
0) На русском с моделью лучше не общаться, думал попробовать для постпроцессинга/LLM-as-judge, но там такие ляпы, что русский текст точно не стоит ей показывать.
1) Модель где-то на уровне GLM 4.5 air, где-то лучше, где-то хуже. Вроде из того, что вижу по отзывам людей, модель так себе в кодинге, но хороша в tool calling. Работает ощутимо быстрее GLM air за счёт всего 5.1b активных.
2) Использовать вместо qwen 3 coder или GLM 4.5 смысла(кроме экономического) нет. По провайдерам - у groq на openrouter что-то не то с конфигом, так что осторожнее.
SWE-bench-verified, aider-polyglot, BFCL-v3, какие-нибудь блогеры типо gosucoder, самому ручками сравнивать. Вариантов очень много. Последний варик очень рекомендую, тот же sonnet 4 очень высоко в рейтингах, а если поюзать самому и поспрашивать людей, то выясняется, что у него будто СДВГ - он пихает ненужные фичи везде, может заигнорить часть запроса, делает тонну ненужных правок, и это всё на метриках не сильно видно (и в арене тоже, там большинство сравнивает результат).
Просто арена это "понравься юзеру и угадай что ему нужно"-бенч, она плохо оценивает модели. Она не оценивает уже стандартный workflow, где ассистент пихает вместе с вопросом юзера актуальную базу кода из репо и даёт модели возможность искать релевантные куски кода для ответа на вопрос или для новой фичи, в арене тонна запросов в стиле "а сделай мне html страничку с js где будет пятиугольник вращаться и шарики прыгать". 4o на том же месте где kimi k2 и sonnet 4 как бы намекают, насколько можно доверять арене. Свежий qwen 3 coder 480b где-то на 11 строчке, хотя это первая модель которая уже вплотную приблизилась к Сlaude.
Заметь, я не говорил и не говорю, что китайцы плохи. Новый qwen coder, qwen 235b новый, k2, GLM 4.5 / 4.5-air - это всё очень хорошие модели, GLM air поднимал и тестил сам, очень понравился. Но не надо судить модели, которые делаются под agentic usage, через призму оценок в веб чатике.
По своему опыту пользования ИИ, оно очень упрощает жизнь, но доверять коду надо ооочень осторожно. Я вот недавно писал класс для RoPE трансформера, и добавил внутрь предпосчтет углов, так делается везде. Сказал Claude 4 sonnet thinking (считается одной из топовых моделей на лето 2025) в курсоре "а интегрируя ка мне вот эту функцию для предпосчёта углов в мой код", и оно вкорячило её прямо в forward, т.е. она бы вызывалась каждый раз при пассе модуля, а не один раз при инициализации, просто гениально (нет, в функции не было проверки на кеш). И если не знаешь как оно работает, ты даже не заметишь баг, оно будет корректно отрабатывать. Или дебагал я запросы к MCP из langchain, соннет за 2 промпта насрал 6 файлов для дебага, из которых я в итоге забрал 4 строчки в код и всё поудалял.
o3 как-то разумнее, но всё равно, рано или поздно вылезают моменты где ты не решишь проблему если ты её не понимаешь. Пока что самые главные плюсы ИИ для кодинга для меня это генерация идей и дебаг. Дать модели код и спросить, а что можно сделать лучше и по-другому, иногда предлагает интересные решения. А дебаг - в IDE оно по стак трейсу может прочитать пол репозитория и найти ошибку не там, где всё падает, а именно где косяк в первый раз возникает, просто потому что оно понимает всю логику вызова модулей.
Я решил таки освоить langchain/langgraph в итоге. Да, оно кривое (карл, класс vLLM ноды нельзя передать в фабрику агента! Зачем он там тогда вообще нужен??), да, половина мануалов несовместимы с 0.3 потому что они там ломают совместимости постоянно, но лучше для сложных пайплайнов ничего не найти. Поэтому сижу пишу проект и навешиваю фичи постепенно, сейчас пытаюсь научиться управлять стейтом агента, чтоб размер контекста не взрывался.
Тестировал n8n буквально на днях, вообще не зашло. Пытался подключить к локально поднятому инстансу vLLM, и словил кучу проблем. С vLLM можно взять v1 endpoint, но в ноду openAI в n8n нельзя прописать кастомные generation config kwargs. Т.е. если в vLLM поднимаешь гибридную модель с reasoning(типо старого qwen 235), то отрубить через "chat_template_kwargs": {"enable_thinking": false} нельзя, оно тупо не поддерживает передачу произвольных аргументов. Да, можно делать просто http ноду с curl и передавать всё, что хочешь, но такую ноду нельзя подрубить как AI в ноду AI agent.
По MCP - там даже нельзя настроить тайм-аут, у меня был довольно тяжёлый MCP который долго думает, и оно просто падало не дожидаясь ответа.
Для себя сделал вывод, что прототипировать в n8n норм, но хоть что-то серьёзное в такой туле лучше даже не пытаться делать.
1) Я не пишу запросы на русском. Учитывая количество данных и соотношение представленных языков для претрейна/sft/RLHF, делать запросы на русском это стрелять себе в ногу. Ну только если вы не пользуетесь гигачатом каким-нибудь, но тут вопросов ещё больше возникает...
2) Я не использую чат, а пользуюсь встроенным в IDE тулом, который через API запускает модель в режиме агента. Можно курсор если лень настраивать, можно cline/roocode/aider. Таким образом модель автоматом имеет на вход нужный контекст, может сама поискать по файлам дополнительный контекст, понять устройство репозитория, погуглить в крайнем случае если модель не имеет каких-то знаний. И даже запустить код, но мне нерелевантно ибо основной код это обучение нейронок, и просто так его не позапускаешь, хотя с примерами входа-выхода вполне можно тестить базовые вещи. Не совсем понимаю людей которые в 2025 используют тупо чат для кодинга.
3) Я использую системные промпты и меняю модели в зависимости от желаемого результата. У меня есть пресет на "объясни подробно код", для проектировки классов я запускаю модели с reasoning, и дальше уже реализую методы и функции частично сам, частично с ллм, по ходу проверяя тестами работоспособность сложных для ллм мест. Учитывая пункт 2, любую ошибку можно легко кинуть дальше в агента/чат и ллм сама достанет из кода проблемные места, предложит решение или хотя бы добавит в код всяких выводов для дебага для локализации проблемы.
3*) Если изначальная задача сложна и я не понимаю как это в целом должно работать, то я иду в перплексити и делаю deep research на возможные подходы к решению моей проблемы/фичи. Например, если мне нужно уменьшить kv кеш обучаемого трансформеров, я не буду это в тупую просить закодить(на такой запрос ллм может тупо разбить на чанки и запускать почанково, что далеко не самый оптимальных подход, но самый простой), я пойду в ppl, загуглю подходы, выберу что-нибудь (например sliding window через flex attention) и уже это сначала спроектирую, а потом реализую.
Пандас это же про другое? Там под капотом те же массивы numpy, а сам пандас это больше про обработку табличных данных, использую схожие с SQL методы. Ну и всякие украшательства, типо быстрые .hist() .plot() визуализации.
"Интересный" релиз, конечно, даже без бенчмарков, мол а кому они нужны?)
И ни слова про Codex на 5.1, или там разница насколько минимальна что на кодексе никак не скажется бамп версии...
Буквально на днях дипсик сделали статью где они с помощью GRPO подобного метода автоматически составляют системный промпт для адаптации модели под конкретные агентных задачи. Такой тюнинг промпта выходит всего в десять баксов, даёт неплохой прирост, практически автоматически происходит. Так что ничего не мертво, просто это можно делать эффективно автоматически)
И в августе была статья на тему составления case bank где агент запоминает прошлые запросы и по ходу дела учится решать задачу читая наиболее релевантную историю, но там посложнее сетка, с разделением агента на планирование и выполнение.
Вы как пользователь не учитывайте тот факт, что в претрейне сейчас куча синтетики с интернета. Если раньше для условной gpt 4 можно было спокойно включить в данные претрейна тысячу семплов "I'm a gpt 4 - the latest AI model from openAI", и потом в файнтюне добавить семплов "What kind of model are you? -> I'm gpt 4..." и модель этому хорошо бы училась, то прямо сейчас в претрейне УЖЕ есть такие ответы со старыми названиями просто как результат парсинга сайтов. Т.е. модель во время претрейна видит десятки тысяч предложений где она себя как только не называет. Внезапно, после этого тюнить её становится сложнее, и в целом на этапе файнтюна не принято добавлять новые знания в модель, на то он и файнтюн. Если бы это можно было сделать безболезненно для модели - так бы и делали.
Ммм, в 2025 сравнивать кодинг на единичном промпте не в режиме агента, печально(
Немного дополню информацию по квену: qwen 3 coder доступен бесплатно 2К промптов в день через qwen code, но в целом при наличии GLM 4.6 и обновлённого Kimi k2 по копеечным ценам квен не сильно актуален если нет погони за халявой.
По гпт: там вообще есть gpt5-codex для агентного кодинга через codex, ну или хотя бы через курсор, а не тупо в чатике, но тут кому надо и так всё знают.
Почти все популярные движки инференса поддерживают multigpu. Для SGLang/vLLM придется поиграться с конфигом pipeline/tensor/data/expert parallelism ибо редко какие модели получится запустить с tp 3, для llama.cpp тупо слои по гпушкам раскидать и всё.
Но зачем? Даже anthropic не учит свои модели отвечать точно про себя, sonnet 4 и 4.5 с уверенностью считают что они 3.5-3.7. Никому не нужная фича, если прям очень надо чтоб модель себя называла как-то, то это вставляют прям в системный промпт (как те же Perplexity) и не портят веса модели бесполезной информацией.
БУ 3090 - 60к за 24гб врам, пока что самое выгодное решение на рынке. Скоро будет 5070tis с (по слухам) 24гб и уже нативной поддержкой fp8, может она сможет сместить 3090, и то не факт.
Там берт, берт можно тюнить без лоры на 2080ti спокойно, не то что инференсить.
Урезанные? Вы 5090 видели?) И скоро будут super версии 5000 серии, где по слухам воткнут 24гб в 5070ti super.
Энтузиасты используют 3090 в основном, всего 600 баксов за бу, 24гб, fp8 для llama.cpp не нужен.
Интересно, они сравнивают с ванильным GRPO, но на него уже понавешивали всяких улучшений. Например, в статье MiMo авторы используют несимметричный клиппинг, полностью выпиливают KL, и сверху ещё навешивают сложные методики семплирования и фильтрации, одна из которых это фильтрация слишком сложных и слишком простых задач.
0) На русском с моделью лучше не общаться, думал попробовать для постпроцессинга/LLM-as-judge, но там такие ляпы, что русский текст точно не стоит ей показывать.
1) Модель где-то на уровне GLM 4.5 air, где-то лучше, где-то хуже. Вроде из того, что вижу по отзывам людей, модель так себе в кодинге, но хороша в tool calling. Работает ощутимо быстрее GLM air за счёт всего 5.1b активных.
2) Использовать вместо qwen 3 coder или GLM 4.5 смысла(кроме экономического) нет. По провайдерам - у groq на openrouter что-то не то с конфигом, так что осторожнее.
3) Модель зацензурена по самые помидоры. Safety!
Перплексити выдаёт ссылки напрямую на посты/ветки комментов на реддите которые использовались для ответа на запрос.
SWE-bench-verified, aider-polyglot, BFCL-v3, какие-нибудь блогеры типо gosucoder, самому ручками сравнивать. Вариантов очень много. Последний варик очень рекомендую, тот же sonnet 4 очень высоко в рейтингах, а если поюзать самому и поспрашивать людей, то выясняется, что у него будто СДВГ - он пихает ненужные фичи везде, может заигнорить часть запроса, делает тонну ненужных правок, и это всё на метриках не сильно видно (и в арене тоже, там большинство сравнивает результат).
Просто арена это "понравься юзеру и угадай что ему нужно"-бенч, она плохо оценивает модели. Она не оценивает уже стандартный workflow, где ассистент пихает вместе с вопросом юзера актуальную базу кода из репо и даёт модели возможность искать релевантные куски кода для ответа на вопрос или для новой фичи, в арене тонна запросов в стиле "а сделай мне html страничку с js где будет пятиугольник вращаться и шарики прыгать". 4o на том же месте где kimi k2 и sonnet 4 как бы намекают, насколько можно доверять арене. Свежий qwen 3 coder 480b где-то на 11 строчке, хотя это первая модель которая уже вплотную приблизилась к Сlaude.
Заметь, я не говорил и не говорю, что китайцы плохи. Новый qwen coder, qwen 235b новый, k2, GLM 4.5 / 4.5-air - это всё очень хорошие модели, GLM air поднимал и тестил сам, очень понравился. Но не надо судить модели, которые делаются под agentic usage, через призму оценок в веб чатике.
У меня было 2 дня на то, чтоб поднять хоть что-то рабочее, и litellm не нагуглился (и я про него не знал)..
Спасибо за подсказку, n8n пользоваться всё равно не буду, но litellm выглядит интересно и удобно!
Оценивать ллм по арене в 2025?)
По своему опыту пользования ИИ, оно очень упрощает жизнь, но доверять коду надо ооочень осторожно. Я вот недавно писал класс для RoPE трансформера, и добавил внутрь предпосчтет углов, так делается везде. Сказал Claude 4 sonnet thinking (считается одной из топовых моделей на лето 2025) в курсоре "а интегрируя ка мне вот эту функцию для предпосчёта углов в мой код", и оно вкорячило её прямо в forward, т.е. она бы вызывалась каждый раз при пассе модуля, а не один раз при инициализации, просто гениально (нет, в функции не было проверки на кеш). И если не знаешь как оно работает, ты даже не заметишь баг, оно будет корректно отрабатывать. Или дебагал я запросы к MCP из langchain, соннет за 2 промпта насрал 6 файлов для дебага, из которых я в итоге забрал 4 строчки в код и всё поудалял.
o3 как-то разумнее, но всё равно, рано или поздно вылезают моменты где ты не решишь проблему если ты её не понимаешь. Пока что самые главные плюсы ИИ для кодинга для меня это генерация идей и дебаг. Дать модели код и спросить, а что можно сделать лучше и по-другому, иногда предлагает интересные решения. А дебаг - в IDE оно по стак трейсу может прочитать пол репозитория и найти ошибку не там, где всё падает, а именно где косяк в первый раз возникает, просто потому что оно понимает всю логику вызова модулей.
Я решил таки освоить langchain/langgraph в итоге. Да, оно кривое (карл, класс vLLM ноды нельзя передать в фабрику агента! Зачем он там тогда вообще нужен??), да, половина мануалов несовместимы с 0.3 потому что они там ломают совместимости постоянно, но лучше для сложных пайплайнов ничего не найти. Поэтому сижу пишу проект и навешиваю фичи постепенно, сейчас пытаюсь научиться управлять стейтом агента, чтоб размер контекста не взрывался.
Тестировал n8n буквально на днях, вообще не зашло. Пытался подключить к локально поднятому инстансу vLLM, и словил кучу проблем. С vLLM можно взять v1 endpoint, но в ноду openAI в n8n нельзя прописать кастомные generation config kwargs. Т.е. если в vLLM поднимаешь гибридную модель с reasoning(типо старого qwen 235), то отрубить через "chat_template_kwargs": {"enable_thinking": false} нельзя, оно тупо не поддерживает передачу произвольных аргументов. Да, можно делать просто http ноду с curl и передавать всё, что хочешь, но такую ноду нельзя подрубить как AI в ноду AI agent.
По MCP - там даже нельзя настроить тайм-аут, у меня был довольно тяжёлый MCP который долго думает, и оно просто падало не дожидаясь ответа.
Для себя сделал вывод, что прототипировать в n8n норм, но хоть что-то серьёзное в такой туле лучше даже не пытаться делать.
1) Я не пишу запросы на русском. Учитывая количество данных и соотношение представленных языков для претрейна/sft/RLHF, делать запросы на русском это стрелять себе в ногу. Ну только если вы не пользуетесь гигачатом каким-нибудь, но тут вопросов ещё больше возникает...
2) Я не использую чат, а пользуюсь встроенным в IDE тулом, который через API запускает модель в режиме агента. Можно курсор если лень настраивать, можно cline/roocode/aider. Таким образом модель автоматом имеет на вход нужный контекст, может сама поискать по файлам дополнительный контекст, понять устройство репозитория, погуглить в крайнем случае если модель не имеет каких-то знаний. И даже запустить код, но мне нерелевантно ибо основной код это обучение нейронок, и просто так его не позапускаешь, хотя с примерами входа-выхода вполне можно тестить базовые вещи. Не совсем понимаю людей которые в 2025 используют тупо чат для кодинга.
3) Я использую системные промпты и меняю модели в зависимости от желаемого результата. У меня есть пресет на "объясни подробно код", для проектировки классов я запускаю модели с reasoning, и дальше уже реализую методы и функции частично сам, частично с ллм, по ходу проверяя тестами работоспособность сложных для ллм мест. Учитывая пункт 2, любую ошибку можно легко кинуть дальше в агента/чат и ллм сама достанет из кода проблемные места, предложит решение или хотя бы добавит в код всяких выводов для дебага для локализации проблемы.
3*) Если изначальная задача сложна и я не понимаю как это в целом должно работать, то я иду в перплексити и делаю deep research на возможные подходы к решению моей проблемы/фичи. Например, если мне нужно уменьшить kv кеш обучаемого трансформеров, я не буду это в тупую просить закодить(на такой запрос ллм может тупо разбить на чанки и запускать почанково, что далеко не самый оптимальных подход, но самый простой), я пойду в ppl, загуглю подходы, выберу что-нибудь (например sliding window через flex attention) и уже это сначала спроектирую, а потом реализую.
Пандас это же про другое? Там под капотом те же массивы numpy, а сам пандас это больше про обработку табличных данных, использую схожие с SQL методы. Ну и всякие украшательства, типо быстрые .hist() .plot() визуализации.