Transcription
Здарова, котаны! Офигенный материал для вас сегодня подготовил. Благодаря комментариям под последним видео удалось получить срез понимания темы искусственного интеллекта в обществе. Давайте немножко поднимем этот уровень понимания темы искусственного интеллекта!
Поговорим о том, как работают большие языковые модели, они же LLM. Поговорим о том, как работают ИИ-агенты и что они позволяют делать. Покажу несколько примеров своих ИИ-агентов, которые я сделал для своих задач. Причем эти агенты работают с локальными LLM, которые развернуты полноценно локально. Значит, один агент работает на модельке, которая развернута на ноутбуке, а второй агент работает на модельке, которая развернута, внимание, на телефоне. Вот прям вот здесь вот развернута большая языковая модель, и она работает, прикиньте что, даже на телефоне. Удивительно, что вообще происходит?! Да.
Затем мы пройдемся с вами по комментариям из прошлого видео, по заблуждениям, которые есть у людей. Как всегда, есть таймкоды, но я очень рекомендую смотреть видео целиком, в спокойном режиме, на скорости 1х. Погнали.
Начнем с того, что такое LLM и как она работает. Итак, LLM, большая языковая модель — это буквально математическая функция с миллиардами параметров внутри, и эти параметры автоматически подбираются на огромных массивах текстов в процессе так называемого обучения этой самой модели. Эта математическая функция видит закономерности в языке и предсказывает, как продолжить текст. То есть, по сути, это очень умное автодополнение текста, хотя сейчас LLM работает также и с картинками, и со звуком, и даже с видео, и с внешними инструментами и так далее. Подробнее дальше обо всем этом поговорим.
Какие есть сейчас LLM? Есть множество моделей от OpenAI. Например, GPT 5.4, GPT-5.4 Mini, nano-модели и так далее. Есть модели от компании Anthropic. Например, Claude Opus 4.6. Вот позавчера вышел Claude Opus 4.7. Эти модели развернуты в облаке. И вы за определенную плату получаете к ним доступ. Соответственно, если вы находитесь в России, то эти сервисы работать с вами немножечко не хотят. Вы не сможете оплатить их российской картой, и вы не сможете на них даже зайти с российского IP-адреса. Да, немножечко они вам не рады. Но, так или иначе, если вы вдруг смотрите это видео на YouTube, то вы понимаете, что к чему, и вы понимаете, что с этим можно сделать. Есть всякие разные интересные способы. Да.
При этом есть множество моделей, которые вы можете абсолютно легально, абсолютно бесплатно, абсолютно без проблем установить на свой компьютер или даже на свой телефон. Или даже на свой телефон! Я покажу дальше, как это все работает. И использовать эти модели полностью локально, без интернета и без оплаты за использование. Например, есть модели от китайской компании Alibaba. Это модели Qwen. Например, Qwen 3.5. Опять же, вот на днях вышел Qwen 3.6. Всё очень быстро развивается, выходят новые модельки. Есть вот гугловая, опять же, недавно, не знаю, может быть, неделю назад вышедшая модель Gemma 4 и так далее, и так далее, и так далее. Есть Mistral и множество других вариантов. Так или иначе, существует множество больших языковых моделей. Бесплатные, платные, которые работают в облаке, которые работают локально. Но каждая из этих больших языковых моделей это просто математическая функция. И задача этой математической функции это предсказание продолжения текста.
Давайте здесь немножечко углубимся и поговорим о том, как работает большая языковая модель. Вот просто на уровне школьной математики, это очень интересно. Очень интересно, как же это все работает. Итак, вы задаете какой-то текстовый запрос модели. Например, зачем учить программирование в 2026 году? Этот текстовый запрос в модель называется prompt. И как мы понимаем, это текст. А LLM, как я говорил, это вроде как математическая формула. А математическая формула вроде как работает с числами. А текст это вроде как не числа. Что же делать, как же быть? Ну, собственно, надо как-то этот текст перевести в числа. Каким образом это происходит? В случае с большими языковыми моделями это происходит с помощью так называемого токенизатора. Например, вот есть замечательный токенизатор OpenAI. И вы можете прямо в интерфейсе посмотреть, каким образом он работает. Да, мы видим, что в нашем prompt «зачем учить программирование в 2026 году?», в этом prompt 6 слов плюс знак вопроса. Но в токенах это получается 12 токенов. Причем какие-то слова это один токен. Какие-то слова это несколько токенов. Почему? Почему так происходит? Потому что эффективнее таким образом кодировать информацию из текста в числа. Если какая-то последовательность символов часто встречается в тексте, то она будет представлена одним токеном. А те последовательности символов, которые встречаются реже, будут представлены, соответственно, несколькими токенами. При этом один и тот же токен может быть частью разных слов. Например, вот если мы посмотрим слова «нового», «старого», «моднявого», то символы «ого» на конце всех этих слов это один и тот же токен, как мы можем убедиться в токенизаторе. Мы можем нажать вот здесь Token IDs в интерфейсе токенизатора OpenAI и увидим, что каждому токену нашего текста соответствует какое-то целое число. И это число это просто номер этого токена в словаре модели. Ничего больше. То есть словарь модели это что такое? Это буквально все токены, то есть все последовательности символов, которые знакомы модели, которые известны модели. Размер словаря порядка от 30 тысяч до 200 тысяч элементов. В среднем возьмем, например, 100 тысяч элементов. И интересно, что по сути весь наш человеческий язык упакован в эти 100 тысяч элементов. Причем как английский, так и русский, и какие-то другие популярные языки, с которыми работают современные большие языковые модели. Это очень интересно, я считаю. Всего там 100-200 тысяч элементов суммарно кодируют все слова всех популярных языков. Интересно. Интересно. Если бы мы каждое слово, соответственно, кодировали отдельным токеном, то общее количество возможных токенов было бы огромным. Причем с учетом, например, русского языка, в котором есть склонения, есть падежи, и словарь тогда был бы огромным. И оперировать модели таким словарем было бы сложно и неэффективно. Поэтому токен это часто встречающийся набор символов, иногда составляющий все слово, но чаще содержащий только часть слова.
Итак, мы ввели prompt. И он как-то побился по токенам. И каждый токен представлен просто порядковым номером этого токена в словаре модели. То есть вот никакого смысла у этого номера токена по большому счету нет. Это просто порядковый номер. 1, 2, 3, 4, 5, 6, 7 и так далее. И эти самые числа, порядковые номера токенов в словаре модели и передаются на вход той самой математической функции модели. Затем в модели эти номера токенов преобразуются в вектора, то есть уже наборы чисел, так называемые эмбеддинги. Логика этого преобразования очень простая, просто тоже по словарю. То есть каждому номеру токена просто соответствует свой вектор эмбеддинга. Номер токена не несет в себе никакого смысла. Повторюсь, это просто порядковый номер. А вот вектор эмбеддинга уже несет в себе семантический смысл токена или слова, если токен составляет слово целиком. Размер вектора, то есть количество чисел в нём составляет несколько тысяч в современных моделях. Причем ключевое свойство этих векторов в том, что они близки для близких по значению слов и далеки для, соответственно, далеких по семантике слов. Например, вектора слов «Париж» или «Лондон» или «Москва» будут близки друг к другу, потому что это столицы стран. Эти слова можно использовать в одном контексте. Он жил в Лондоне или он жил в Париже, или он жил в Москве. А вот вектор слова «пыхтеть» будет неблизким к Парижу и Лондону, потому что «он жил в пыхтеть» — так сказать не получится. Понимаете, да? Или вот векторы слов хороший и плохой. Несмотря на то, что эти слова являются антонимами, но их векторы будут похожи, потому что эти слова могут использоваться в одинаковом контексте. Например, «это был хороший фильм» или «это был плохой фильм». Это и есть семантическая близость и векторы эмбеддингов как раз кодируют эту информацию теми самыми, например, четырьмя тысячами чисел, которые составляют размерность этих векторов.
Окей, идем дальше. Есть понятие контекстного окна модели. Это максимальный объем текста, который языковая модель может обрабатывать. Если контекстное окно, например, четыре тысячи токенов, то мы не сможем передать в модель текст, например, на пять тысяч токенов, потому что это превышает контекстное окно. Так вот, максимальное количество аргументов этой математической функции, о которой мы говорим, которая представляет из себя LLM, большая языковая модель... Так вот, максимальное количество аргументов этой функции — это и есть ширина контекстного окна модели. Представляете, вот есть у нас, например, функция f от x равно 3154 умножить на x в квадрате плюс 5x плюс 216. Ну, вот такая вот функция мною придумана:) У этой функции есть один аргумент x, а числа 3154, 2, 5 и 216 это параметры этой функции. А вот у этой функции уже два аргумента x1 и x2. f от x1 и x2 равно 3154 на x1 в квадрате плюс 5 на x2 плюс 216 умножить на x1 плюс x2. Мы можем сделать таким образом функцию с тремя аргументами. Вот здесь у нас два аргумента x1 и x2. Мы можем сделать x3 ещё, или с десятью аргументами, или с тысячей аргументов, или с четырьмя тысячами аргументов. А вот у современных LLM-моделей ширина контекстного окна составляет у каких-то моделей 200 тысяч токенов, а где-то и миллион токенов. Это и есть то самое максимальное количество аргументов, которые можно передать на вход той самой математической функции этой модели. Вообще говоря, это не совсем точная формулировка, потому что модель может принять и большее количество токенов, чем размер контекстного окна, но там будет сильно падать качество ответов. Плюс есть ограничения по памяти видеокарт, которые выполняют расчеты, поэтому фактически это ограничение контекстного окна и существует.
Итак, наш промпт «Зачем учить программирование в 2026 году?». Это 12 токенов, и в функцию аргументами передаются эти 12 чисел, которые внутри функции преобразуются в 12 векторов, каждый из которых будет представлен, например, четырьмя тысячами чисел. И задача функции очень простая – предсказать следующий токен. Это задача той самой функции, которая представляет из себя большую языковую модель. Каждый вызов функции предсказывает один следующий токен текста. Но что именно возвращает функция? Функция возвращает тот самый один наибольший вероятный токен или как это происходит? На самом деле нет. На самом деле нет. Работает это немножко по-другому. Функция всегда возвращает весь словарь токенов, то есть все, например, сто или двести тысяч токенов известных моделей, где каждому токену проставлена вероятность того, что именно этот токен следующий. И затем выбирается один из наиболее вероятных токенов, причем на это тоже можно влиять, например, параметром температуры, который есть у API LLM-моделей. При температуре ноль результат будет более воспроизводимым, то есть более детерминированным, но и будет менее творческим, то есть будут выбираться наиболее вероятные токены. При температуре ближе к единице наоборот, будут выбираться менее вероятные токены, чаще результат будет менее воспроизводимым, менее детерминированным, но в то же время более неожиданным, более творческим.
Я тут использую слово «детерминированный», может быть, не все понимают, что это такое. Детерминированный результат это предсказуемый и всегда воспроизводимый результат. Вот есть у нас функция f от x равно x в квадрате. Если ей на вход передать 4, то она всегда вернет 16. 4 в квадрате это 16 при любых условиях. Летом, зимой, ночью, днем, при температуре плюс 30, при температуре минус 30, неважно. Это и есть детерминированная функция. А недетерминированная функция зависит от каких-то вероятностей. Её результат не всегда одинаковый для одинаковых входных данных. Так вот, функция LLM недетерминирована. Она вероятностная. Мы не знаем, что вернет модель. Стопроцентной воспроизводимости ответов нет даже на температуре 0, если мы говорим о том, как в реальности, на реальном железе происходит расчеты этой функции. То есть отправляя в модель один и тот же запрос, мы постоянно будем получать разные результаты, разные формулировки, а иногда и разные с точки зрения даже смысла ответы. У этого есть, конечно, разные причины. Но в частности, есть ошибки в округлении нецелых чисел и в целом некоторое математическое несовершенство работы компьютера с нецелыми числами. То есть когда, например, операции выполняются с нецелыми числами, то на результат может влиять даже порядок выполнения операций. То есть если мы складываем, вот просто интерпретатор Python языка программирования откроем и сложим 0.1, 0.2 и 0.3, три нецелых числа, то мы не получим 0.6. Мы получим 0.6000000001. Уже возникла некая погрешность. А если мы в обратном порядке сложим эти числа 0.3, 0.2 и 0.1, то мы получим ровно 0.6. Удивительно. Но вот таким вот образом всё работает. А в видеокартах при математических расчетах порядок операций не всегда детерминирован за счет параллелизма. Плюс в продакшн-системах используется пакетная обработка запросов, так называемый batching. И всё это в конечном итоге и привносит ту самую недетерминированность в ответах. А при температуре больше нуля недетерминированность ответов это вообще фишка. Это вообще цель, да, потому что... Ответы получаются интереснее, если в них присутствует вот та самая вероятностная составляющая.
Окей, вернемся к принципу работы LLM. Итак, у нас есть промпт «зачем учить программирование в 2026 году?». Мы передали этот промпт функцию. И функция возвращает все, например, 100 тысяч токенов своего словаря с проставленными вероятностями. Вот вероятность того, что следующий токен это слово «морковь»... Да, вот мы спрашиваем «зачем учить программирование в 2026 году?», а большая языковая модель отвечает нам «морковь» первым токеном? Вот вероятность этого маленькая, поэтому слово «морковь», собственно говоря, и не выбирается. А вероятность того, что следующий токен это слово «хороший», да, «хороший вопрос», как часто отвечают модели OpenAI и модели Anthropic... Так вот вероятность того, что следующее слово «хороший» — большая. И в итоге следующим словом берется именно слово «хороший». Вы уже понимаете, что токен не равно слово. Поэтому я здесь говорю, что выбирается следующее слово просто потому, что так проще говорить, но токен это не то же самое, что слово. Кстати говоря, раз уж мы здесь заговорили о токенах, английское слово «good», которое можно перевести на русский язык как «хороший», так вот английское слово «good» это один токен, а русское слово «хороший» это аж три токена. И в целом такая закономерность наблюдается для английского и русского языков. Так что если вы хотите эффективнее тратить токены, а API платных моделей тарифицируется именно за токены, то используйте английский язык, а не русский, потому что английский, ещё раз, эффективнее по токенам. Так уж вышло, потому что обучающих текстов на русском языке меньше, чем на английском языке, плюс латиница в кодировке UTF-8 это один байт, а кириллица это два байта на символ, что тоже приводит к большему количеству токенов. В общем английский язык по токенам эффективнее.
И, собственно, таким вот образом работает LLM, большая языковая модель, мы передали в математическую функцию входные 12 токенов, функция вернула вероятности для следующего токена и был выбран один следующий токен вот из этого словаря известных моделей токенов. Затем функция вызывается уже с 13ю входными токенами, то есть к входным 12ти токенам промпта добавился 13й токен, который уже вернула модель. И функция возвращает 14й токен. Затем функция вызывается уже с 14ю входными токенами, и генерится 15й токен и так далее, и так далее, и так далее. То есть для того, чтобы сгенерить 500 токенов ответа, функция должна быть вызвана 500 раз. А если у LLM есть режим reasoning, так называемый режим рассуждения, «думания», и если этот режим включен, когда мы общаемся с моделью, то сколько-то токенов ещё сгенерирует тот самый режим рассуждения. Режим рассуждения — когда модель как бы вслух думает, то есть задает себе вопросы, отвечает на эти вопросы, таким образом, как бы направляет свою «мысль». Для сложных задач даёт лучший результат на выходе. Но это, безусловно, расходует дополнительные токены.
Океюшки, так вот мы поговорили о входных аргументах этой математической функции, поговорили о выходных данных. А что же находится внутри у этой функции? Внутри этой функции находятся параметры, или, что то же самое, коэффициенты функции, или, что то же самое, веса. Вы могли видеть этот термин, «веса», «вышел Qwen 3.6, веса уже выложены». Ну вот веса это то же самое, что параметры этой математической функции. И эти параметры подбираются, ещё раз, автоматически в процессе обучения модели на огромных массивах текстов. И так получается так называемая базовая модель, которая очень хорошо умеет предсказывать следующий токен по предыдущим токенам текста, но не очень хорошо работает в диалоговом чат-режиме. Собственно говоря, ноу-хау OpenAI с их ChatGPT именно в том, что они подстроили базу, базовую модель под чат-режим, чтобы можно было чатиться с моделью, как будто мы общаемся с живым человеком. Поэтому затем полученную базовую модель дообучают в несколько этапов. Сначала на примерах хороших ответов, потом подстраивают под человеческие предпочтения, то есть там люди размечают, какие ответы лучше, устанавливают ограничения, чтобы моделька не отвечала на какие-то провокационные вопросы, на которые нельзя отвечать с точки зрения законов, безопасности и так далее. После того, как обучение закончилось, параметры модели, то есть параметры той самой функции замораживаются, причем, ещё раз, эти параметры функции это и есть так называемые веса модели. Вот, например, open-source модель GPT OSS 20B, это open-source модель от компании OpenAI, которую вы можете установить на свой замечательный компьютер... И вот 20B как раз означает 20 миллиардов весов, или, что то же самое, 20 миллиардов параметров вот этой математической функции. Это 20 миллиардов чисел фактически, которые буквально надо загружать в память вашего компьютера для расчета этой функции, в память оперативную, или в память видеокарты. При этом большие модели это сотни миллиардов и даже триллионы параметров, и, собственно, для их запуска, очевидно, нужно много памяти, потому что те самые сотни миллиардов и триллионы параметров нужно загружать как-то в память той системы, которая будет рассчитывать эту самую математическую функцию. И полученную таким образом математическую функцию мы называем искусственным интеллектом. Просто математическая функция. Сложная, большая. Но просто математическая функция. Такие дела. Ещё вы могли услышать где-то умное слово inference. Инференс. Что это такое, что это значит? Это как раз использование обученной модели. Когда вы вводите запрос, и модель генерирует ответ. Чудненько.
Поговорим теперь про ИИ-агентов. Итак, автодополнение — это то, что делает большая языковая модель. Это дает возможность початиться с моделькой. Это, собственно, весело и увлекательно, но, в общем-то, не так, чтобы и сильно полезно. Вот если вы дать модели какие-то инструменты взаимодействия с внешним миром, то тогда это может быть гораздо более интересным и полезным, чтобы моделька имела доступ к вашему календарю, к интернет-поисковику с новой актуальной информацией, о которой моделька не знает, потому что на момент обучения модельки вот какие-то факты в нее запеклись, на момент выпуска модельки... А те факты, которые произошли после выпуска модельки, моделька о них очевидным образом не знает. И для того, чтобы дать ей новую информацию, у модельки должна быть возможность как-то выйти в интернет, в поисковик Google, например, и чего-нибудь там поискать. Потому что сама моделька этого сделать так-то не может! Это просто математическая функция предсказания продолжения текста. У неё нет новых фактов, которые появились в мире после обучения этой модельки. Или моделька может иметь доступ к вашему GitHub, к вашему GitLab, к вашему умному дому и так далее, и так далее, и так далее. Так вот, вы понимаете, да, уже к чему я веду? К ИИ-агентам! ИИ-агенты, собственно, дают те самые возможности.
Что такое ИИ-агент? Это большая языковая модель плюс обычная детерминированная программа, которую вы можете написать на любом языке программирования, например, на Python. Вот ваша программа в любой момент может вызвать LLM или LLM может вызвать ваш код, в зависимости от того, как вы всё это негодяйство настроите. Например, есть задачка. Мы хотим фильтровать спам-сообщения в нашем Telegram-чатике. Большие языковые модели, причем даже бесплатные, которые вы можете установить на ваш локальный компьютер, вполне отлично справляются с задачей классификации текста. То есть определение, например, является ли сообщение спамом. И вы пишете программу, которая читает все новые появляющиеся в вашем чатике сообщения, и вот программа видит, что пришло новое сообщение, и отправляет определенный промпт в большую языковую модель, типа, уважаемая модель, пожалуйста, проверь, не является ли это сообщение спамом, и верни вероятность того, что это сообщение спам. И если LLM отвечает, что да, с вероятностью 95% это спам (а моделька может вернуть прям структурированный ответ в JSON, например), то наша программа удаляет это сообщение. Наша обычная детерминированная программа таким образом взаимодействует с большой языковой моделью. И это вот и есть ИИ-агент. То есть наша программа плюс LLM. LLM делает то, что она умеет делать хорошо. Например, понимать язык, классифицировать текст, анализировать текст, суммаризировать текст и так далее. А наша программа делает то, что хорошо умеет делать обычная детерминированная логика, написанная на любом современном языке программирования. В этом примере именно наш код вызывает LLM. Пришло новое сообщение в Telegram, наш код дергает LLM, передает туда промпт, и LLM отвечает, является ли сообщения спамом с точки зрения LLM. Но может быть обратная ситуация. Когда у нас есть большая языковая модель, и мы ей на вход передаем так называемые tools, инструменты, по сути функции, например, в нашем языке программирования, и сама модель может в своем ответе просить наш код вызвать ту или иную функцию с теми или иными аргументами. То есть сама модель принимает решение, когда вызвать какую функцию и с какими аргументами.
Например, я для себя разработал ИИ-агента, который генерирует бухгалтерские документы для меня, счета и акты. Компании, которые хотят у меня чего-нибудь купить, присылают мне свои реквизиты, чтобы я использовал их в счете и акте. Реквизиты — это там около 10, например, полей, которые надо правильно распознать в документе, который прислали. И каждое из этих полей надо в правильное место шаблонов счета и акта вставить, потом сгенерировать номер этих документов, вписать сегодняшнюю дату, сохранить документ, потом сохранить его в PDF и так далее, и так далее, и так далее. Вот максимально неприятная муторная работа, которая очень расходует мой ресурс внимания с одной стороны, и которую я, с другой стороны, не могу кому-то перепоручить, вроде как сажать отдельного человека на такую работу вроде как тоже избыточно, да, нанимать человека. Но вот теперь эту работу выполняет мой LLM-агент, который, к тому же, полностью работает на бесплатной LLM-модели, запущенной локально на моём ноутбуке или стационарном компьютере. Давайте покажу, как это работает.
Итак, открываем нашего ИИ-агента, в моем случае это просто веб-интерфейс. Жмём на плюсик для создания нового чата и пишем «Давай-ка создадим счет и акт на работу обучения одного студента на 175 000 рублей. И прикрепляем файлик с реквизитами. Ну, вот, например, АО «Райффайзенбанк». Прикрепляем вот такую замечательную PDF. И отправляем это сообщение. И моделька нам отвечает. «Состав работ для генерации документов... обучение одного студента... такая-то сумма... генерирую счет и акт... документы готовы». Давайте скачаем счет, давайте скачаем акт, и давайте их откроем. Пожалуйста, вот он счет, пожалуйста, вот он акт. Давайте сравним с реквизитами, которые есть в файле. Итак, вот реквизиты из файла. ИНН. Давайте проверим, да. ОГРН. Да, все правильно. Юридический адрес. БИК. Давайте проверим, все правильно. Номер расчетного счета и номер корсчета. Да, действительно, все реквизиты верные. И штука в том, дорогие друзья, что тут именно модель принимает решение, когда ей вызвать инструменты для генерации документов. Потому что для документов нужны реквизиты и нужен состав работ. Реквизиты всегда берутся из файла или из чата, а состав работ всегда берется из чата. В данном случае я отправил и реквизиты, и состав работ одним сообщением, но можно отправить это разными сообщениями. И модель сама примет решение, когда она готова вызвать эти инструменты, то есть когда все данные у нас есть.
Давайте покажу, как это может выглядеть. Давайте напишем модели просто «Привет». Модель отвечает «Привет! Чем могу помочь? Нужно сгенерировать счет или акт для выполнения работ для контрагента. Для этого мне понадобятся реквизиты, бла-бла-бла, состав работ... Пожалуйста, предоставьте недостающие реквизиты и опишите состав работ, чтобы я мог оформить документ». Давайте теперь загрузим реквизиты. И просто отправлю реквизиты, как есть. Соответственно, модель сейчас должна нас дополнительно запросить состав работ. Так, отлично. Система нам пишет «Отлично! Реквизиты контрагента получены». Они вот сюда вот заполняются, чтобы их можно было проверить. Модель: «Осталось только составить работу. Пожалуйста, укажите наименование и цену. Например, разработка сайта – 50 000 рублей. Консультация – 10 000 рублей». Ну, давайте бахнем. Вот, разработка сайта — 50 000 рублей. Только я не знаю, не дешево ли это. Давайте спросим. Может, это дешево? Продешевели 50 000 за сайтик-то:)? Модель: «В том числе разработка сайта зависит от множества факторов. Сложности дизайна, функционала, типа сайта, лендинга, корпоративно используемых технологий. Для сравнения. Простой сайт-визитка может стоить 20-40 000 рублей. Корпоративный сайт со сложным дизайном – 50-150 000. Интернет-магазин – от 100 000 и выше. Цена в 50 000 вполне адекватна для базового корпоративного сайта или качественного лендинга с небольшим функционалом. Если проект будет проще, можно снизить цену. Если сложнее – увеличить. Если вы готовы на этой цене, я сразу оформлю документы. Просто подтвердить состав работ, разработка сайта – 50 000 рублей и укажите цену документа». Просим модель: сделай только счет, акт просим не делать, на разработку сайта, и поставь цену все-таки подороже, которую сам считаешь нужной. Вот так давайте бахнем. Модель: «счет на оплату сформирован. Ссылка для скачивания появится автоматически. Документ готов». Обратите внимание, в прошлый раз мы просили сделать счет
и акт. Он сделал и счет, и акт. Разные документы с разными шаблонами. И в данном случае он готовил только счет. Ну что, давайте посмотрим, какую сумму он решил выставить. Я попросил его поставить подороже, чем 50 000. Давайте глянем. Давайте глянем. А, вот так! Он решил 75 000. 75 000, пойдет за сайтик, да, нормульдик.
Таким вот образом, дорогие друзья, все работает. И штука в том, что здесь сама моделька принимает решение, когда вызвать инструменты генерации счета или акта, принимает решение, какие инструменты вызывать, потому что инструменты генерации счета и инструменты генерации акта это разные инструменты, и так далее, дорогие друзья.
При этом, при этом, современные LLM 'ки, они еще и мультимодальные, то есть они умеют работать еще и с картинками. Прикиньте, что? Прикиньте, что? И что, если я вот эти реквизиты замечательного Райффайзенбанка просто сфоткаю с экрана и отправлю в модельку фотографией? Сможет ли она дёрнуть отсюда реквизиты и правильно ли она их достанет? Дорогие друзья, давайте проверим.
Берем замечательный iphone. iphone берем прямо так вот, открываем, опаньки. Так, давайте сфотографируем реквизиты просто с экрана. Эту фотографию загрузим в нашего ИИ-агента и попросим реквизиты достать с этой фотографии. Так, вот наша фотография. Обратите внимание, таким вот образом она сфоткана. Тут вот еще какие-то дополнительные есть элементы интерфейса, какие-то цифры. Ну, давайте посмотрим, как наша локальная моделька Qwen 3.5 25b a3b с этим негодяйством справится — или не справится. Опаньки.
Давайте-ка создадим счет на работу, обучение одного сотрудника на 175 000 рублей и все реквизиты вот, пожалуйста, бери из вот этой картинки. Так, генерирую счет на оплату документа. Готово. Счет на оплату сгенерирован. Опаньки. Скачайте счет. Ну, давайте откроем. Ну что, счет готов.
Дорогие друзья, давайте сверим реквизиты. У нас вот здесь вот реквизиты, значит, вставляются в шапку. И когда чатики переключаешь, то реквизиты в шапке тоже меняются. Но, как мы видим, здесь реквизиты неизменны. Вот если у меня Финам, не знаю, или давайте Касперского открою, то здесь реквизиты Касперского, а когда я открываю Райф, то здесь реквизит Райфа. Обратите внимание, реквизиты вот этих последних двух чатиков одинаковые. То есть даже из вот этой картинки локальная модель смогла достать правильные реквизиты, не запутывалась вот этой частью изображения, не запутывалась вот этими элементами. Здесь кривая перспектива... Здесь вот там в экране, в мониторе у меня что-то отсвечивается. Ну, так вот просто быстренько бегло я сфоткал. И даже отсюда локальная моделька смогла достать корректные реквизиты. Ну, если это вас не поражает, то я даже не знаю, что вас может поразить. Мне кажется, это просто потрясающе.
Причем некоторые люди говорят, что реквизиты так-то из текста можно достать, из документа просто регулярками, просто регулярными выражениями, парсингом, и типа зачем здесь вообще нейросети, большие языковые модели. Ну, собственно, попробуйте вот из изображения, например, регулярочками достать реквизиты. Хотя на самом деле здесь даже если говорить не о картинке, а о документе, вот, например, PDF-документе, да, или Word-документе, то там реквизиты бывают в таблицах, и просто так распарсить эти таблицы, чтобы оттуда легко было достать реквизиты, тоже, поверьте мне, задачка максимально неприятная, максимально неприятная.
Ну, например, например, у нас есть, значит, вот эта таблица на примере Райффайзенбанка. Обратите внимание, номер лицевого счета, рублевый идентификационный номер, ИНН вот такой, КПП вот такой. Мы это понимаем, потому что мы люди. Мы понимаем, что ИНН и напротив ИНН, а КПП и напротив КПП, да, что вот здесь вот реквизиты расчетного счета и так далее. Но какой текст попадает на вход большой языковой модели? Или там какой текст вы получите, если вы будете парсить вот этот PDF вручную и пытаться регулярками отсюда вырезать правильный ИНН или КПП? Вот если вы вот этот PDF распарсите как текст, то тот текст, который у вас появится, я вам его сейчас покажу. Обратите внимание, он будет вот таким. Идентификационный номер ИНН, КПП, 777... Какой правильный ИНН, дорогие друзья? Вот ИНН правильный, это 774... Вот этот. А какой КПП правильный? Вот этот. Но при этом правильный ИНН, он здесь вот почему-то рядом с КПП. Почему так происходит? Ну потому что вот таким вот образом парсится PDF, дорогие друзья. И вот ИНН и КПП, да, идентификационный номер, потом КПП, потом черта и потом вот этот номер. И вот на самом деле вот этот вот номер 774... это ИНН. Но каким образом вы при помощи парсинга, при помощи регулярок сможете решить эту задачу? Ну можно там что-то пытаться креативить, по длине смотреть, но есть разные реквизиты с одинаковой длиной. Это не настолько приятная задача, поверьте мне, пытаться парсить это вручную без использования нейросетей. А с нейросетями эта задача замечательным образом решается.
Причем все реквизиты, которые моделька возвращает, валидируются моей детерминированной логикой агента, моим Python кодом. То есть проверяется, что поле точно есть в исходном документе, если это не картинка, если это обычный документ, вордовский, и так далее, да. Проверяется. Форматы значения поля. Для ИНН, например, есть контрольная сумма, по которой можно проверить корректность этого номера. Если модель вернула некорректные результаты, мой валидатор это поймет, и модель попросит пользователя в чате дать корректные реквизиты. И это есть ИИ-агент. То есть комбинация твоего детерминированного кода, написанного на любом языке программирования, на котором ты пишешь, с вероятностной LLM-моделью. Где-то код вызывает модель, где-то наоборот модель вызывает код. Но в конечном итоге именно код ответственен за те промпты, которые уходят в модель, за проверку результата, за борьбу с галлюцинациями, за борьбу с вероятностной природой LLM, там, где это нужно и так далее, и так далее, и так далее, да. Код делает то, что можно хорошо делать кодом, а LLM делает хорошо то, что хорошо можно делать при помощи LLM.
В прошлом видео я говорил о локальных LLM, которые можно установить на свой компьютер и запускать полностью локально. И довольно много комментаторов мне там писали о том, что Claude Code пишет код гораздо лучше, чем локальные LLM. Еще раз, Claude Code пишет код гораздо лучше, чем локальные LLM. Но штука в том, что Claude Code и LLM это вообще разные вещи, их сравнивать нельзя. Claude Code это ИИ-агент, а Claude Sonnet или там Claude Opus это LLM, и ИИ-агент использует эту LLM. Причем модель, кстати говоря, во многом заменяема. На самом деле Claude Code может использовать и другие модели, не только от компании Anthropic, но в том числе даже и локально установленные модели, да.
Сравнивать ИИ-агента и LLM это все равно, что сравнивать, я не знаю, двигатель автомобиля и сам автомобиль. И как автомобиль не поедет без двигателя, так и ИИ-агент без LLM не сможет работать. Но штука в том, что на одном двигателе тоже не поедешь! Нужна куча обвязки вокруг двигателя, чтобы поехать можно было. И чтобы процесс это был комфортным, надёжным, безопасным, приятным и так далее, да. Понимаете? Если взять супер мощный и супер офигенный, красиво урчащий и вообще замечательный двигатель и вокруг него построить плохой автомобиль, вот с кривыми колесами, я не знаю, без звукоизоляции, без кондиционера, без удобных элементов управления, с дырявым бензобаком на пол-литра, то общий результат будет плохим, несмотря на то, что двигатель внутри совершенно прекрасный. А если взять не супер офигенный двигатель, но вокруг него построить хороший автомобиль, то общий результат будет ничего такой, нормальный, комфортный, безопасный, можно будет на таком автомобиле ездить. Понимаете?
Такая же ситуация и с LLM и агентами. Если взять супер современную, супер дорогую, большую языковую модель и вокруг нее построить плохого агента, то результат будет, собственно говоря, плохим. А если взять не самую мощную большую языковую модель, иногда даже и локальную большую языковую модель, но вокруг этой модели построить хорошего качественного агента, то результат тоже будет хорошим. Что такое качественный агент? Например, несколько пунктов. Например, это агент, который изначально проектируется с учетом того, что LLM модели имеют недетерминированную природу и иногда галлюцинируют и косячат. Причем, любая модель галлюцинирует и косячит. И Claude Opus 4.7, который позавчера вышел, и небольшая моделька, установленная и запущенная локально на айфоне. Они все косячат, и любой агент должен уметь с этим работать. Ещё модели имеют ограниченный контекст, и хороший агент проектируется таким образом, чтобы наиболее эффективно работать с тем, что есть, даже когда пользователь, например, имеет длинную коммуникацию в чате, которая даже выходит за рамки контекста. Можно, например, спроектировать пользовательского чат-бота, который отлично решает задачу, например, мою задачу с реквизитами, и чат может быть длинным, а контекст у модели, на самом деле, может быть коротким, там, я не знаю, несколько тысяч токенов. Реальный чат может быть на 50 тысяч токенов, но контекстное окно модели может быть всего 4 тысячи токенов, и все это будет корректно работать, если правильно использовать ИИ-агента, правильно использовать модели, понимая, как все работает. Ещё качественный агент умеет эффективно использовать токены, это тоже большая и сложная задача, чтобы и результат достигался быстрее, и контекст не переполнялся ненужным и результат был точнее, результат достигался дешевле, если мы платим за токены, и так далее так далее так далее. Еще ИИ-агент, конечно, умеет включать человека в работу, умеет запрашивать детали у человека там, где это необходимо, умеет корректировать свои ошибки, планировать свои действия, и так далее и тому подобное. И штука в том, что вот все перечисленные пункты зависят вообще не только от крутости модели, которую вы используете. Хороший агент будет хорошо работать на не самой крутой модели, а плохой агент будет плохо работать даже на самой современной и дорогой модели.
Так, еще хочу показать вам ИИ-агента, который работает на телефоне с LLM моделью, установленный непосредственно на телефон. Это телефон iPhone 15 Pro. Актуальная версия iPhone сейчас 17 на момент записи этого видео. Но при этом всё отлично работает даже на 15 Pro телефоне. Штука в том, что мощности современных телефонов уже достаточно для запуска LLM на самих телефонах локально. Я установил сюда программу Google AI Edge Gallery. Это приложение есть и для iPhone, и для Android. Можете запустить его и на вашем Android. В этом приложении мы можем выбрать, какую модель установить локально. Я выбрал модель Gemma 4 E4B. Модель полностью скачивается на ваш телефон. Несколько гигабайт она весит и запускается полностью локально. То есть вы можете чатиться с ней без интернета.
Так, жмём вот на программу Edge Gallery. Обратите внимание, здесь вот во вкладочке Models вы можете выбрать ту модель, которую вы хотите скачать. Я скачал Gemma 4E4B. И здесь есть замечательные варианты использования этой модели. Например, просто AI Chat. Выбираем модель Gemma 4 E4B. Происходит инициализация модели. И можно написать какой-то вопрос. Например, «привет что ты умеешь, ответить коротко». Model on GPU. Обратите внимание, как быстро работает. «Я большая языковая модель. Я умею отвечать на вопросы, писать тексты, переводить между языками, помогать с идеями и мозговым штурмом. Просто скажи, что тебе нужно...» Ещё раз, да, моделька работает полноценно на вот этой вот маленькой железяке. Офигенно.
Давайте нажмем новый чатик. Здесь более того есть еще... Значит, можно голосом общаться с этой штукой. Audio Scribe. Выбираем нашу модель. Инициализируется модель. И давайте нажмем плюсик. Record Audio. Записать аудио. И просто голосом наговорим, что мы хотим у него спросить. Говорим: «Придумай 10 интересных практичных сценариев использования локальной LLM-модели, запущенной на телефоне и работающей где угодно без интернета». Опаньки. И отправляем. Посмотрим, что произойдет. Ответ: «Конечно, вот 10 интересных практичных...» Обратите внимание, как все быстро работает! «...практичных сценариев использования локальной LLM-модели, запущенной на телефоне и работающей без интернета. Персональный ассистент для планирования и организации сценарий. Как работает? Пользователь говорит состав список покупок ужина. Бла-бла-бла. Мгновенный перевод текста и речи. Оффлайн-переводчик. Пользователь путешествует по стране, где не говорит на родном языке, где ему нужно быстро перевести фразу или текст...» Сценарий? Вполне себе сценарий! «...Генератор идей и мозговой штурм. Оффлайн-брейнштормен. Пользователь находится в дороге или в месте без интернета и хочет быстро придумать идеи для проекта, подарка или решения проблемы. Пользователь задает вопрос. Придумай 5 идей подарка другу, который любит книги и природу. Личный помощник для обучения и самообразования. Оффлайн-тьютер-редактор и корректор текстов. Пользователь пишет заметку, письмо или пост и хочет проверить его на грамматические ошибки и так далее.» И ещё раз. Всё это работает полностью локально и полностью без интернета.
Но это еще не всё. На самом деле, дорогие друзья, здесь можно запустить своего полноценного ИИ-агента вот прям внутри айфона с локальной моделью. Прикиньте что. Прикиньте что. Здесь есть так называемые skills, которые могут запускать JavaScript-код, который запускается на самом деле здесь же прям в скрытом браузере. То есть это способ подключения дополнительных инструментов к этой LLM-модели. И я сделал скилл, который умеет искать на Литрес книги и для этих книг возвращает отзывы об этих книгах. Соответственно, теперь я могу просто сфотографировать вот этим телефоном книгу. И локальная языковая модель поймет, что это за книга, поймет название этой книги, поймет автора этой книги. И передаст эти данные в виде текста моему скиллу, моему JavaScript-коду фактически. И мой JavaScript-код пойдет на Литрес, найдёт там эту книгу, достанет оттуда отзывы и вернет их в модель. И это все действительно работает. Давайте я вам покажу, каким образом.
Так, например, вот взял пару книжек. «Стратегия голубого океана» и «Один на один с жизнью», дорогие друзья. Ну что, давайте, давайте бахнем. Вот эту книжечку просто сфотографируем сейчас. Запускаю камеру. Вот так вот фоткаем эту книгу. Открываем AI Edge Gallery. Жмем Agent Skills. Выбираем Gemma 4 E4B. У меня здесь уже подключен мой скилл, который я написал. Давайте загрузим сюда фоточку. Отправляю фото. «Дай мне отзывы о книге». И отправляем. Давайте посмотрим, сработает ли это. Сработает ли это, дорогие друзья. Загружается мой скилл. Query Book Review. Давайте посмотрим, что передастся в этот скилл. book_with_author. «Один на один с жизнью Илья Латыпов». Обратите внимание, это действительно эта книга. Он действительно понял, что название этой книги «один на один с жизнью» и автор Илья Латыпов. То есть он смог прочесть эту информацию. Вот отсюда. И корректным образом понять, что именно эта информация является названием книги и автором. «Книга, которая поможет найти смысл» — эту информацию он понял, что это не есть уже название книги, которое нужно передавать в скилл. Классно? Классно. «Я нашла отзывы о книге...» Причем она считает себя женским родом. Окей. «Один на один с жизнью Илья Латыпова. Кратко. Резюме отзывов. Читатели высоко оценивают книгу за ее глубину, искренность и способность затрагивать сложные экзистенциальные вопросы простым и понятным языком. Многие отмечают, что книга служит... Служит своего рода поддержкой, бла-бла-бла. Положительные аспекты глубина и мудрость изложения, простой, человечный и понятный язык, способность помогать в самопознании и обретении внутреннего развития, полезность для тех, кто ищет смысл. Отрицательные аспекты. Книга не является легкой для чтения и требует тщательного осмысления. Местами может быть грустной из-за обсуждения экзистенциальных тем». Представляете? Ещё раз. Это работает с локальной моделью, которая понимает, что делать, которая умеет вызывать скиллы, которая умеет анализировать изображения, доставать нужную информацию из изображения. Представляете? Ну, это же очень классно. Это же очень классно.
Давайте бахнем, проверим вот по этой книге, сработает ли это. Может, просто повезло, что это сработает. Да, давайте бахнем вот так вот. Стратегия Голубого океана. Опаньки. Ответ моделиL: «Стратегия Голубого океана. Общий вывод. Отзывы о книге неоднозначны. Некоторые читатели высоко оценивают ее за новизну подхода к бизнесу и вдохновляющие примеры, а другие считают ее слишком сложной, перегруженной водой и не имеющей достаточной практической ценности...» Скажите, классно? То есть для меня довольно частый сценарий. Я гуляю по оффлайн-магазину книг, мне понравилась какая-то книга, теперь я могу ее сфоткать и быстренько почитать отзывы об этой книге на Литрес. Но, по большому счету, я могу доделать свой скилл, потому что именно он достает отзывы, в данном случае с Литрес, чтобы он доставал эти отзывы из разных источников, с Ozon, WB, Livelib, ещё каких-то ресурсов. Классно. Просто классно.
Таким образом, с LLM и агентами мы более-менее разобрались. И теперь я хочу взять некоторые ваши комментарии. И разобрать их. Потому что там есть некоторые заблуждения, о которых мне бы хотелось поговорить. Зачитываю комментарии.
«Ну, если бы ты решал реальные задачи с помощью моделей, то разницу бы ощутил...» Речь, напомню, шла о локальных моделях, которые можно запускать на компьютере локально. «...То разницу бы ощутил. И не то, что между локальными моделями и коммерческими, а в принципе тот факт, что модели от Anthropic на голову выше всего, что выпускают конкуренты. Понемногу это начинает доходить до масс. Но, видимо, еще недостаточно».
Еще один комментарий. «Локальные модели, это, конечно, хорошо, но чисто поиграться исключительно ради каких-то простеньких задач, когда скорость не важна, а важна приватность, ну или когда проблемы с доступностью. Но в большинстве реальных ежедневных задач все же лучше полагаться на SOTA. Чтобы не страдать и не разочаровываться, нет смысла размениваться на что-то слабее Opus». Opus это самая мощная моделька от компании Антропик.
Ну, смотрите. Вот у меня для транскрибации голоса в текст на моем замечательном компьютере есть бесплатная программа Handy с моделью Parakeet V3. Это не LLM, а ASR-модель. То есть модель для распознавания голоса. Но это не меняет суть. Она построена на похожих принципах. Распознавание происходит полностью локально, без интернета, на ноутбуке. Работает распознавание очень быстро, очень качественно, даже со знаками припинания. То есть сценарий этого видео, которое вы сейчас смотрите, я набрал во многом голосом при помощи вот этой замечательной программы. Является ли эта программа бесполезной игрушкой? Или та модель, на основе которой эта программа работает? Ну, не знаю. Мне она экономит огромную кучу времени. Пользуюсь буквально каждый день и рекомендую пользоваться всем вокруг. Программа Handy просто one love.
Плюс локальные модели не уводят ваши данные из вашей компании. Персональные данные, код вашего продукта, данные ваших клиентов. Всё остается в вашем контуре. Это огромный плюс для локально развернутых моделей. Или вот мой агент по бухгалтерским документам. Он не игрушка. Он решает вполне себе мою реальную настоящую задачу. Задача, которая у меня есть. И которая, вот когда я вручную ее сам делаю, вот мне максимально не нравится этим заниматься. Теперь эту задачу полностью выполняет этот агент. И я доволен этим агентом. Уже, так сказать, многократно им воспользовался на практике. Или вот агент поиска отзыва книг, который работает на телефоне, который я показывал. Ему не нужен опус для того, чтобы быть полезным. Ему не нужна самая дорогая, самая мощная, самая классная моделька. Ему нужна маленькая моделька на 4 миллиарда параметров, но которая уже дает результат. И решает ту задачу, которая перед этой моделькой поставлена. Понимаете, да?
А еще локальные LLM вас не забанит за российский айпишник. Потому что они работают на вашем устройстве. Еще их не надо оплачивать международными картами, которые надо еще как-то там делать в российских условиях, если вы живете в России. А еще локальные LLM вдруг не становится тупыми перед релизом новой версии модели. Как вот буквально сейчас происходило с моделями Антропик. Позавчера вышла новая модель Opus 4.7. И до этого несколько недель жаловались на то, что предыдущая самая мощная модель Антропик Opus 4.6 вдруг стала прям тупой-тупой-тупой. Прям вот перестала решать задачи, которые до этого решала и так далее. То есть в интернете уже прям сообщества людей есть, которые гоняют бенчмарки на модели, чтобы посмотреть, когда модель начинает тупить. И те цифры, которые показываются этими бенчмарками — это уже не вероятностная природа LLM. Это реально видно, что модель тупеет перед релизом новой модели. То есть вы оплачиваете, вы оплачиваете доступ к этой модели, но она тупеет. Почему? Ну потому что вы эту историю не контролируете, она не ваша. Вы получаете немножечко доступа к этой модели. И если ее захотели сделать тупой, то без проблем. Хопаньки, её сделали тупой, и вы ничего с этим сделать не можете, потому что это развернуто не у вас. Поэтому есть в нашем замечательном мире место для локальных LLM. Есть.
Идём дальше. Локальные модели не хранят контекст. Вот говорят, да, в локальных моделях существенный минус. Она не сохраняет контекст. Невозможно дообучить. Ну, это сообщение такое в духе, это плохой двигатель автомобиля, потому что у него руля нет. Да, ну еще раз, штука в том, что ни у какого двигателя руля нет! Руль и двигатель это всё части более крупной сущности автомобиля. Задача хранить историю коммуникации в чате — это задача вашего ИИ-агента. Ну или не вашего ИИ-агента, но это задача ИИ-агента. LLM это просто формула математическая. Это не система управления базами данных PostgreSQL, которая хранит сообщения, может хранить сообщения. Хотя какие-то API-шки моделей и хранят сообщения, но это просто в этих API прикрутили сохранение контекста, то есть сохранение предыдущих сообщений, которые вы отправляли в эту модель, где-то в базе данных. Но вы можете сделать то же самое с любой LLM, в том числе с локальной LLM, которая установлена у вас на компьютере. Вот этот агент бухгалтерских документов, который я вам показывал, вполне себе использует а) локальную модель, б) имеет персистентность, то есть сохраняет историю контекста и сохраняет даже предыдущие чатики, предыдущие, так сказать, точки моего взаимодействия, этапы моего взаимодействия с этой моделью. Всё хранится в локальной базе данных SQLite совершенно без проблем. Вот, ну и дообучать локальную модель, конечно же, тоже можно. Качаете базовую модель и проводите дообучение, если есть такая потребность и есть соответствующие железки.
Идём дальше. У локальных моделей слишком узкое контекстное окно. Вот пишут: «у локальных моделей очень узкое контекстное окно. Они даже не могут нормально использовать tools без галлюцинации. Я на своем MacBook Pro M3 с 18 гигабайтами, ничего толкового не смог от них добиться. Сплошное мучение. Ну разве это, ну разве что совсем базовые вещи». Ну, смотря для каких задач. Вот мой агент с реквизитами построен таким образом, что в модель можно передавать не всю историю сообщений, а последние, например, пару сообщений, а в системный промпт зашивать собранные ранее реквизиты. То есть собранное самое важное из диалога. То есть уже собранные реквизиты хранятся отдельно от истории чата и незачем передавать в модель всю историю чата для выполнения задачи этого чата. В системный промпт вшивается текущие собранные и провалидированные моим детерминированным кодом реквизиты и модель просто дозапрашивает те реквизиты, которые ещё не собраны. И тогда даже на 4000 токенов контекстного окна можно отлично работать. Чатик может быть большой, а контекстное окно может быть маленькое, но при этом задача будет совершенно без проблем решаться. Да, весь сценарий этого видео, который вы сейчас смотрите, это около 6000 слов. То есть около 12000 токенов, а тут, как вы понимаете, много текста. Поэтому даже 4000 токенов контекстного окна на самом деле достаточно для решения большого количества задач. При этом, если у вас достаточно памяти, оперативной памяти или видеопамяти, то вы можете запустить и 40 тысяч контекстное окно, и 100 тысяч, и 200 тысяч, потому что, например, Qwen 3 .5, а, по-моему, вчера Qwen 3 .6, поддерживает контекстное окно 262 тысячи токенов. Это прям много, да. Что до вызова tools, но опять же, вот у меня Qwen 3 .5, 4000 токенов, контекстное окно может быть установлено, и тулс вполне себе вызывается, инструменты вполне себе вызываются. Более того, даже моделька на 4 миллиарда параметров, Gemma 4, установленная вот на этом айфоне, тоже вполне себе умеет вызывать tools, как мы видели вот в примере с агентом. Но при этом, да, задачи бывают разные, и, конечно, для ряда задач вам вполне себе может понадобиться контекст на 250 тысяч токенов, которые предоставляет, например, Qwen 3.5. Если у вас такие задачи, вы можете, наверное, позволить купить себе какую-нибудь железку для того, чтобы гонять эти модельки локально. Порядок, за который вы можете купить такие железки, это порядок нескольких сотен тысяч рублей. Сейчас айфоны вот 17 Pro Max на 2 терабайта стоят 240 тысяч рублей в restore. То есть, за сопоставимые деньги вы можете купить мощный компьютер со 128 гигабайтами оперативной памяти и гонять это в оперативной памяти, либо купить уже вполне себе какие-нибудь там, rtx 3090 даже парочку и собрать себе стенд для локального запуска. Если у вас есть такая задача.
Идем дальше. Локальные модели бесполезны, так как плохо пишут код. Это вот тоже очень интересная история. «То, что нейросеть отвечает, вовсе не говорит о том, что она это делает правильно. Даже облачные нейросети не очень справляются с кодом. Что уж говорить про такие, еще и думают по 15 минут». Другой комментарий. «Это, конечно, хорошо, но задача из примеров ни о чем. Реальная задача современного разработчика намного сложнее, чем достать текст из документа или написать простенький скрипт за 14 минут».
У программистов есть профдеформация. Мы всё сводим к написанию кода. Но штука в том, что задач у ИИ-агентов огромное количество, бесчисленное количество. И задача написания кода из этого бесчисленного количества это всего лишь одна из возможных задач. Вот агент, который делает мне счета и акты, это ИИ-агент, то есть это детерминированная логика плюс LLM. И вся эта штука делает реальную полезную задачу. И эта реальная полезная задача заключается вообще не в написании кода. Этот ИИ-агент не пишет код. У него нет такой задачи. Или ИИ-агент Handy, который распознает моделью голос и вставляет текст в буфер обмена. Тот текст, который я
наговорил, но уже в виде текста, который можно редактировать и так далее. Это тоже агент, и он тоже не пишет код, но при этом он суперполезен. Суперполезен.
Или агент для компании, который букирует билеты и отели в чате для сотрудников, которые в командировку едут. И это тоже агент, он тоже полезен. И компании будут платить огромные деньги за разработку и поддержку такого рода ИИ-агентов. Но при этом эти ИИ-агенты по-прежнему... среди их задач нет задачи написания кода.
И эти агенты, в том числе, кстати говоря, могут работать и на локальных развернутых ЛЛМ. Без проблем. При этом понятно, что платные топовые модели, которые крутятся на дорогих железках в общем случае работают лучше для написания кода, чем небольшие модели, которые вы крутите локально на своем ноутбуке. Лучше. Ну, это так.
В то же время модели на 70 миллиардов параметров, которые ещё и специально дообучены для кодинга, уже вполне сопоставимы по бенчмаркам с огромными платными моделями. Да, они хуже, но они сопоставимы. Вот, например, данные за март 2026 года. Бенчмарк SWE Bench Verified. Это то, как модели, этот бенчмарк, то, как модели выполняют багфиксы по реальным issues на GitHub. Так вот, модель Opus 4.5, 4.6 набирают примерно 81%, а Qwen Coder Next набирает 71%. Да, то есть 71% против 81%. Является ли вот этот разрыв драматичным? Ну, он ощутим, ощутим, безусловно, да, 10%, но это не в 10 раз разрыв, согласитесь, не в 10 раз.
А запустить Qwen Coder Next вы можете на железке за несколько сотен тысяч рублей. Например, на Beelink GTR 9 или Nvidia DGX Spark. Да, это недешевые железки, там несколько сотен тысяч рублей, там 300, 400, 500 в ы можете за них отдать. Но, в принципе это может быть экономически более выгодно, чем покупка подписок, например, Antropic. Ну, во всяком случае, многие, если не большинство обычных программистских задач, могут решаться с такими модельками. Локальными, не самыми мощными, не самыми дорогими, да. И всё это, кстати говоря, с учетом того, что модели, скорее всего, будут умнеть, а железо, скорее всего, будет дешеветь. Да, при этом, в очередной раз повторюсь, что многое зависит не от самой модели, а от того ИИ-агента, который использует эту модель. То есть, от качества детерминированной логики, от качества зашитых промптов, от качества проверок результатов модели и так далее, и так далее, и так далее. Идём дальше.
Да платные LLM недорогие, зачем пытаться в локальных? Человек пишет: «Да ну, ноут жалко, ради такой фигни. Есть Minimax 2.5 от OpenCode Zen бесплатный, лимиты нормальные, один раз за все время уходил в лимит. Вроде даже геоблока нет. Да и если платно использовать через OpenRouter, например, то где -то 1 бакс в час уходит». Ну, собственно говоря, задачи бывают разные, и агенты тоже бывают разные. Если ИИ-агент лопатит какую-то работу 24 на 7, то давайте прикинем, вот 1 бакс в час, это сколько? Это сколько денег, если это 24 на 7 используется, да? 1 доллар это примерно 75 рублей по текущему курсу, соответственно, за сутки это 1800 рублей. Вроде как и уже ощутимо 1800 рублей, да? А за год это 657 тысяч рублей. А если расход по токенам в пару раз больше, да? А это уже за миллион рублей в год на одном агенте. А если у вас 10 агентов, то это уже 10 миллионов рублей в год. Понимаете, да? А локально вы платите разово за оборудование и затем просто за электричество.
Ну, еще раз, для многих, многих, многих задач качество агента гораздо важнее, чем крутость модели. Я не хочу здесь, как бы, да, вот перегибать в какую-то сторону палку, что называется. Я не говорю о том, что локальное ЛЛМ это 100% будет экономически для вашего случая выгодно. Нет, конечно. Я говорю не об этом. Это надо считать, вообще не обязательно. И локальное железо надо поддерживать, охлаждать, есть амортизация и так далее, и так далее, и так далее. Всё это расходы. Я говорю лишь о том, что вот этот бакс в час за платные модели это легко может стать 10 миллионов рублей в год и это тоже надо учитывать.
Ещё один комментарий. «Это очень интересно с точки зрения энтузиаста, но по деньгам выглядит не очень. За чат ГПТ я плачу 240 долларов в год, при этом модельки обновляются, максимальная скорость, максимальная усилительная мощь. В лучшем случае такой компьютер отобьется за 2 -3 года, бла-бла-бла». Ну, опять же, когда вы пишете ИИ-агенты, вы пользуетесь не подпиской, а оплатой токенов. Это прям, прям, прям разные вещи, да? Сожрали 1000 токенов, заплатили за 1000 токенов. Сожрали миллиард токенов, заплатили за миллиард токенов. Вы не можете для своих агентов пользоваться API того же Антропика для доступа к моделям Claude по подписке. Вы будете обязаны покупать токены. На всякий случай скажу, что Claude Code это не ваш агент, это агент Антропика и только поэтому для него сейчас можно купить подписку. Опять же, будет ли это уже сегодня вечером, можно ли сегодня вечером будет купить для Claude Code подписку или Антропик решит продавать это по модели токенов, мы не знаем. Мы не знаем. И то, что стоит сегодня 100 долларов в подписке Max, может пропасть такая возможность, и компания Anthropic может решить зарабатывать больше, решить, что программисты теперь без нас не смогут писать код, без замечательных моделей компании Anthropic, и теперь давайте продавать это по токенам, и, так сказать, очень интересно, сколько это в реальности будет стоить. Будет ли это стоить 100 долларов в месяц или сколько-то, да, но так или иначе, для ваших агентов, которые вы разрабатываете, используя те самые большие языковые модели платные, вы будете покупать токены, и на продакшен ИИ-агенте, который 24 на 7 решает какие-то ваши задачки, затраты будут вообще очень сильно далеки от 240 долларов в год, там можно сжигать десятки тысяч долларов в час, вообще «на изи», то есть это зависит от тех задач, которые вы решаете, да, задачи бывают, ещё раз, разными, не все задачи связаны с написанием кода, хотя и... Для написания кода, если вы активно используете огромное количество агентов, там сложную логику, сабагенты, разные проекты, тоже я посмотрю, насколько вам 240 долларов в год будет достаточно. Кстати говоря, вы можете посмотреть на текущие цены Anthropic, для Opus 4.6 вы платите 5 баксов за миллион входных токенов и 25 баксов за миллион выходных токенов, то есть вот тридцатка долларов, вот она уже нарисовалась, да, миллион токенов. Миллион токенов, это вообще говоря, не то чтобы особо много для активно работающего агента. Так, к сведению, хотя, конечно, если грамотно всё настроить, использовать кэширование, использовать батчинг, то стоимость будет ниже, но и не просто затраты на электричество, как вы понимаете.
Окей, идем дальше. В локальных LLM, пишут, нет structured output, поэтому они плохие. «Structured output попробуйте на этих локальных LLM...» Множественный смайлик, типа ха-ха-ха. «SOTA, к сожалению, пока единственный вариант с практической ценностью». Ну, собственно говоря, вот мой агент, который я вам показывал, который работает на локальном Qwen 3.5 с бухгалтерскими документами. Получает распаршенные реквизиты в JSON формате. Никаких проблем с этим. Вот, более того, вот эта история, gemma 4, которая работает тупо на айфоне, конечно, тоже в мой агент передает JSON. То есть она умеет работать с JSON, типа, да, это, там, может быть, не structured output, но это работает. Это передается в формате JSON. Вообще говоря, вы можете промптами заставить модель передавать JSON и качеством валидации вашей детерминированной логики смотреть, вернулся JSON или нет. Если не вернулся JSON, вы на уровне, ещё раз, логики вашего ИИ-агента можете понять, что с этим делать. Отправить промпт еще раз, переформулировать промпт и так далее, и так далее, и так далее. Всё это совершенно без проблем решается.
Еще одна история. «Квантованные модельки — Г. Точка». Ну, собственно говоря, не знаю. У меня вот Qwen 3.5 в агенте с бухгалтерскими документами вполне себе квантованный и отлично решает свою задачу. Безусловно, квантованные модели снижают качество ответов, но безапелляционно говорить, что квантованные модельки Г, конечно, неправильно. Если вы не понимаете, что такое квантованные модельки, то это просто способ с некоторой потерей качества сжимать размер модели. Давайте скажем так.
Идем дальше. 32 гигабайта оперативной памяти на ноутбуке это недостижимо дорого. Собственно, в прошлом видео я показывал запуск большой языковой модели локально на компьютере с 32 гигабайтами оперативной памяти. И мне в комментах просто-таки напихали, да, «32 гигабайта. Фига себе». Другой человек пишет «32 гигабайта бытовой ноутбук. Кучеряво вы живете. А рабочий сколько?» Ну, собственно говоря, вы можете открыть Авито, поискать там ноутбуки, выставить фильтр до 25 тысяч рублей и выставить фильтр 32 гигабайта оперативной памяти. И вы удивитесь, что таких ноутбуков там просто россыпь. Просто россыпь. При этом медианная зарплата по Сбериндексу в месяц 60-70 тысяч рублей у нас в России. Кажется, что вполне себе можно позволить купить ноутбук за 25 тысяч рублей с 32 гигабайтами оперативной памяти, если оно вам нужно. Здесь вопрос не в том, что это космически дорого. Вопрос только в том, нужно ли оно вам. Вот этот айфон можно на Авито купить сейчас за 35 рублей. При этом он, даже он, даже он, крутит локальные модельки вполне себе, которые могут быть практически полезными для каких-то задач.
Окей. LLM генерирует ответ дольше пары секунд — мусор. Читаем комментарии. «На мобилке запускал Qwen 3.5 на 8 миллиардов параметров. Неюзабельно. Очень тупит. Галлюцинирует. И долго отвечает. Вижу, что локально на компе не сильно лучше». Не очень понимаю, как человек это видит, что не сильно лучше. «Побаловаться можно. Для каких-то узких задач подойдет. Но в целом, не замена облачных моделей. Агенты и чатики тем и полезны, что работают быстро и мало галлюцинируют. И на уровне GPT-4 это мусор. Отвечает дольше пары секунд — мусор». Ну, собственно, не знаю, кому как. Так вообще думающая, то есть reasoning модель может отвечать и полчаса и дольше. И это наоборот круто, что она долго думает, ищет информацию, анализирует ее. Или решает другую поставленную тобой задачу. Вызывает предоставленные тобой инструменты и так далее, и так далее, и так далее. В конечном итоге почти всегда решает не скорость ответа, а качество решения поставленной тобой задачи. Это — важно.
Но если вернуться к скорости, то вот в случае моего ИИ-агента, мне действительно неважно, мои счета сгенерятся за 10 секунд или за 2 минуты. Вот по-честному, правда, неважно. Но мне нравится, что я не завишу в этом вопросе от провайдеров LLM. От оплаты зарубежных сервисов. Не завишу от сервисов, которые блокируют мои запросы, потому что они поступают с российских айпишников и так далее, и так далее, и так далее. То, что я могу развернуть локально, вот в моей душе вызывает гораздо больший отклик, чем то, что я, так сказать, где-то покупаю и получаю таким образом vender lock. Плюс, конечно, можно выстраивать гибридные архитектуры. Никто вам не запрещает использовать и локальные модели, и облачные модели, купленные где-то. Даже в рамках одного и того же ИИ-агента. Для какого-то сложного процесса мы выбираем платную модель, а для 90% остальных несложных процессов мы выбираем локальную LLM, которая... Которой вполне себе достаточно для решения этих задач. Интересно? Вполне себе.
Идем дальше. Локальная модель должна ли влезать в VRAM? VRAM это память вашей видеокарточки. В интернете бытует такое мнение, что для наиболее эффективного запуска вся модель должна полностью помещаться в память этой видеокарты, которая у вас стоит в вашем замечательном компьютере. Это так, но неправильно сказать, что если в память вашей видеокарты модель целиком не влезает, то она не сможет запуститься, эта модель. Это неправильно. Скорее всего, сможет, если у вас есть достаточное количество оперативной памяти. Часть слоев, то есть часть коэффициентов функции, давайте так скажем, может быть загружена в память видеокарты, а часть коэффициентов может быть загружена в оперативную память, обычную оперативочку, да. Так умеет делать, например, программа LM Studio, при помощи которой я запускаю локальные LLM модели.
Так, ну и на финалочку. Заменят ли LLM программистов? Всех очень интересует, наверное, этот вопрос. Судя по тому огромному количеству видео, так сказать, все люди, которые имеют отношение к разработке маломальское, или даже не имеют отношения к разработке, обязаны высказаться по этому поводу. Вот такое вот видео, пожалуйста, рекомендую вам посмотреть. Ржал, ржал просто как конь, когда смотрел это видео, очень классное, действительно рекомендую, да. Видео о том, как предприниматель пытался навайбкодить себе решение для финансового учета в его компании. И что из этого вышло, что из этого получилось, какие выводы человек для себя сделал. Очень, очень круто. Если коротко, программисты будут программировать, просто сейчас где-то как-то с использованием LLM, но это по-прежнему будут программисты, они вот так будут называться.
Вот что отвечает Claude на вопрос, зачем в 2026 году изучать программирование. «ИИ усиливает, а не заменяет. Инструменты вроде Claude, Copilot, Cursor делают хорошего разработчика в 5-10 раз продуктивнее, но для этого нужно понимать, что происходит под капотом. ИИ пишет код, но ты должен понимать, правильный ли он». Конечно, в общем случае ИИ не делает разработчика продуктивнее в 10 раз или там в 5 раз, ну, не делает, не делает. Как минимум просто потому, что разработчик пишет код, дай бог, если 30% своего времени. Остальное время он занят коммуникацией по проекту, исследованиями, размышлениями и так далее. Но, безусловно, грамотное использование ИИ грамотным разработчиком может его в каких-то аспектах ускорять. И это по-прежнему множитель личного скилла человека, что я говорил год назад и продолжаю говорить сейчас. Если личный скилл человека около нуля, то усиление его на 30% даст тоже около ноль.
Идем дальше. «Без основ нет контроля», говорит нам Claude. «Можно попросить ИИ написать приложение, но если что-то сломается, утекут данные, или будет работать медленно, без знания программирования ты беспомощен. Это как ездить на машине, не понимая, что такое тормоза. Новая грамотность. Код сегодня, это как чтение и письмо в 20 веке. Понимание алгоритмов, структур данных, логики, это способ мышления, который полезен в любой профессии — аналитика, финансы, медицина и дизайн. Рынок труда. Рынок труда. И спрос на разработчиков не упал. Он изменился. Нужны люди, которые умеют работать с инструментами, проектировать системы, ревьюить и сгенерированный код. Бла-бла-бла. Джуниоры. Без понимания основ вы действительно под давлением, но те, кто понимает, востребованы». Ну, собственно говоря, я хочу сказать, что джуниоры понятие растяжимое. И джуниоры, то есть люди, которые мало что умеют, мало что понимают, не были особо нужны 10 лет назад, задолго до LLM, и не особо нужны сейчас. С этой точки зрения ничего не изменилось. Если человек хочет быть востребованным, ему нужно и углублять свои знания, свои навыки, и расширять сферу своих навыков и сферу своих знаний.
«Автоматизация твоей жизни. Даже небольшие знания Python позволяют автоматизировать рутину, строить личные инструменты, работать с данными. То, что ИИ без твоего участия не сделает». Да, действительно всё так. Поэтому, собственно, если вы хотите изучать программирование и веб-разработку, или хотите прокачаться в этом глубже, уже, может быть, даже вы работаете, да, приходите, пожалуйста, на мой курс «Хардкорная веб-разработка»! Ссылки под этим видео. Буду всем очень рад, дорогие друзья. Спасибо, что посмотрели это видео! Остаемся на связи! Пока-пока. Пока-пока!