Легкий путь в Python
5.8K subscribers
153 photos
25 videos
3 files
186 links
Я Алексей Яковенко, senior-разработчик Python. Здесь вы найдете статьи, заметки, посты и видео для прокачки навыков программирования. Интересно и новичку, и профи 💡

По вопросам: https://t.me/yakvenalexx
Download Telegram
Кто уже успел протестировать? Как вам?
🔥12❤4👎1
Такой сейчас загруз, что я умудрился пропустить даже День программиста 😅

Поэтому хоть и с небольшим опозданием — друзья, всех причастных с праздником! 👨‍💻

Желаю поменьше багов в пятницу вечером, побольше адекватных ТЗ, зелёных тестов с первого раза и чтобы прод никогда не падал после фразы «там небольшая правка на пять минут» 😁

Ну и чтобы современные AI-агенты всё чаще забирали на себя рутину, а нам оставляли самое интересное — архитектуру, идеи и создание действительно крутых вещей.

С прошедшим, коллеги! 🚀
❤40🎉7👏3🍾3🥰1
Скорость выхода новых моделей впечатляет. В рамках одного месяца выпускают по 3-4 модели новые.

GPT-6.1 Sol успели в бою протестировать? Как вам модель?
🔥10👍3❤1
Друзья, привет👋

Давно ничего не публиковал, хотя за последние месяцы накопилось немало интересного. Будем потихоньку возвращаться к техническим темам. Надеюсь, что соскучились.

И начать хочется с одной вещи, которая, судя по обсуждениям, до сих пор вызывает немало путаницы.

ChatGPT, LLM, чат-бот, AI-агент, harness — в чём вообще разница?

Казалось бы, мы уже несколько лет активно используем нейросети, но периодически встречаю утверждения вроде "я поднял локальную модель и получил свой ChatGPT" или "подключил LLM к Telegram — теперь у меня AI-агент".

Давайте немного разберёмся с терминологией.

1. LLM — языковая модель

GPT, Qwen, DeepSeek, Llama и прочие.

По своей сути модель получает входной контекст и генерирует ответ. Она может рассуждать, писать код, анализировать информацию и формировать запросы к инструментам.

Но сама по себе модель не ходит по вашему файловому хранилищу, не выполняет команды в терминале и не обращается к произвольным API. Для этого нужна окружающая инфраструктура.

2. ChatGPT — готовый продукт, а не название конкретной модели

Внутри ChatGPT используются модели семейства GPT, но сам ChatGPT — это гораздо больше.

Интерфейс, управление диалогами, контекст, память, поиск в интернете, работа с файлами, инструменты, различные режимы выполнения задач и прочие возможности.

Причём в зависимости от выбранного режима и доступных функций ChatGPT может выступать как обычный чат-ассистент или использовать агентные механизмы.

Поэтому сравнивать локальную Qwen непосредственно с ChatGPT не совсем корректно. Логичнее сравнивать модель с моделью, а продукт с продуктом.

3. Чат-бот — это прежде всего способ взаимодействия

Telegram-бот, веб-чат, корпоративный мессенджер — не принципиально.

За интерфейсом может скрываться обычная LLM, сложный агент или вообще набор заранее прописанных правил.

Сам по себе чат-интерфейс ещё ничего не говорит об архитектуре системы.

4. AI-агент — система, которая может самостоятельно выбирать действия для достижения цели

Допустим, вы попросили нейросеть проверить проект, найти ошибку и исправить её.

Обычная модель может подсказать, какие изменения внести.

А агент, имеющий необходимые инструменты и разрешения, может самостоятельно изучить файлы, выполнить поиск, изменить код, запустить тесты, проанализировать ошибки и при необходимости повторить попытку.

И здесь мы подходим к интересному моменту.

5. Harness (харнесс) — то, что обеспечивает работу агента

Это исполнительная обвязка вокруг модели.

Она управляет циклом взаимодействия с LLM, вызовами инструментов, контекстом, состоянием задачи, ограничениями, обработкой ошибок и прочей логикой выполнения.

Грубо говоря, модель предлагает, что делать дальше, а harness обеспечивает механизм, через который эти действия могут безопасно выполняться.

Например, в Codex / Claude Code есть собственный agent harness. И именно он во многом определяет, как модель взаимодействует с кодом, терминалом и окружающей средой.

Кстати, MCP — тоже не агент и не harness. Это протокол, позволяющий подключать к AI-приложениям внешние инструменты и источники данных.

А теперь самое интересное.

Можно взять одну и ту же LLM и подключить её к двум совершенно разным системам.

В первой получится обычный чат, отвечающий на вопросы.

Во второй — полноценный агент, который умеет работать с файлами, выполнять команды, подключаться к сервисам и самостоятельно проходить несколько этапов решения задачи.

Модель одна. А возможности систем совершенно разные.

Именно поэтому я считаю, что сегодня важно разбираться не только в том, какая модель лучше проходит бенчмарки, но и в том, что происходит вокруг неё.

За последние месяцы как раз много работал с агентными системами, и там есть о чём поговорить. От архитектуры до весьма неожиданных проблем, которые возникают уже в реальной эксплуатации.

Думаю, постепенно поделюсь этими наработками.

А пока интересно: как вы считаете, где заканчивается обычный чат-бот и начинается полноценный AI-агент? Ведь даже в профессиональном сообществе на этот счёт нет единого определения. 🙂
👍22❤8🔥4😍1
Друзья, смотрю, все вокруг заговорили про JEV. Что за зверь такой и почему столько кипишу? 😁

Если коротко, JEV — это не очередная LLM, а специализированная модель для быстрого принятия решений.

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

Например, AI-агенту нужно решить, что делать дальше: обратиться к RAG, вызвать инструмент, передать задачу большой LLM или завершить работу. Вместо полноценного запроса к большой модели такое решение можно поручить JEV.

И тут возникает интересный вопрос: а зачем гонять большую LLM на каждом шаге AI-агента, если часть работы можно поручить небольшой специализированной модели?

Собственно, об этом и планирую рассказать в новой большой статье на Хабре.

В программе:

-- Что такое JEV, откуда столько шума и какие есть open-source аналоги.

-- Как поднять две локальные модели: аналог JEV + полноценную LLM.

-- Как с нуля собрать собственного AI-агента на Python, без LangGraph и прочих сложных фреймворков.

-- Как распределить задачи между моделями и что это даёт по скорости, качеству и потреблению ресурсов.

Всё на практике, с рабочим кодом, Docker Compose, тестами и исходниками на GitHub.

А вы уже успели поработать с JEV? Какие впечатления?
9🔥40👍3
Фильм "Она" (2013). Если ещё не смотрели - советую. Заставляет задуматься.

Самое интересное, что с момента его выхода прошло всего 13 лет.
❤16😁9💯2🫡1
Друзья, продолжаю готовить новую большую статью на Хабр про JEV и его open-source аналоги. Сейчас экспериментирую с локальной Laya и решил поделиться небольшими результатами.

Модель поднял на обычном CPU, без видеокарты. На вход передаю русскоязычные новости, а на выходе получаю категорию и вероятности по каждому из предложенных вариантов. Причём без привычной для LLM генерации текста токен за токеном.

На скриншотах три примера: технологии, бизнес и спорт. Во всех случаях Laya правильно определила тематику, даже когда в новости о финансовых результатах NVIDIA упоминались GPU и искусственный интеллект.

Дальше планирую расширить список категорий и объединить Laya с локальной Gemma 4. В результате соберём AI-агента, который сможет автоматически отбирать интересные новости, анализировать их, готовить публикации и самостоятельно размещать в Telegram.

Всё на Python, без LangGraph и прочих агентных фреймворков.
1🔥22❤8👍6
И это я ещё до практического кейса не добрался, а в самом документе фоток нет. Назревает снова часовая статья походу😂
🔥21❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, небольшие новости по будущей статье на Хабре.

Основной материал уже готов, черновик написан и сейчас находится на вычитке. Решил заодно записать короткую демонстрацию того, что получилось.

В рамках статьи поднял две локальные нейросети: Laya (открытый аналог JEV) для быстрого принятия решений и Gemma 4 для более сложных задач.

На их базе собрал полноценного AI-агента на Python, без LangGraph и прочих агентных фреймворков.

Система получает новость, классифицирует её через Laya и, если материал подходит по тематике, передаёт Gemma. Та уже самостоятельно работает с инструментами, готовит статью и публикует её в блоге.

Весь проект, Docker Compose и исходники выложил на GitHub:

https://github.com/Yakvenalex/Habr-Jev-Agent

Если обойдётся без форс-мажоров, большая статья с подробным разбором архитектуры, развёртывания и практической части выйдет на следующей неделе.

А пока можете посмотреть, что получилось.
1🔥26👍4❤1
🔥 Открытый урок «Микросервисы на практике»

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

29 октября в 19:00 МСК разберём, когда стоит переходить к микросервисам и как проектировать их с учётом сбоев и роста нагрузки.

На уроке ты узнаешь:
➖ чем микросервисная архитектура отличается от монолита и когда переход оправдан
➖ какие проблемы возникают при взаимодействии микросервисов
➖ какие паттерны помогают сделать систему надёжнее и как применять идемпотентность

На продакшен кейсе сервисов заказов и платежей разберём, как потерянный ответ приводит к двойному списанию и как от этого защититься.

Урок проведёт Станислав Клоков, тимлид финтех-проекта с нагрузкой 100k RPS, который раньше разрабатывал ядро платформы микросервисов в Яндексе.

👉 Регистрируйся, чтобы разобраться в микросервисах на практическом примере
🔥8❤5👍2🤮1🤡1🤣1🤝1
Забавное классовое разделение вырисовывается у OpenAI. Прямо как на "Титанике".

На верхних палубах господа с подписками за $100+ выбирают, какую рекламу показывать. На нижних - челядь с бесплатными или дешевыми тарифами смотрит то, что ей выбрали.

Одним предлагают рекламные кабинеты, другим - рекламные объявления.

Осталось только спасательные шлюпки распределить по тарифным планам 😂
😁17🔥5💯5👍2🤡1
На днях написал подписчик, что один из моих старых Telegram-ботов перестал работать. Честно говоря, я про него уже и забыл. Сервер давно отвалился, а я даже не заметил))

Пару лет назад делал ID Finder Pro - бота для получения Telegram ID пользователей, групп, каналов и других ботов. Тогда же подробно описал процесс его создания на Хабре.

В общем, стряхнул пыль, поднял сервер и заодно выкатил обновление 1.1.0.

Добавил поддержку закрытых групп, получение ID из пересланных сообщений, команду /id для групп и тем, удобное копирование ID. Заодно поправил несколько старых косяков.

Исходники обновил. Так что кому нужен - пользуйтесь!

Бот: https://t.me/get_tg_ids_universeBOT

Исходники: https://github.com/Yakvenalex/GitMyIDBOT

Статья на Хабре (может, кому будет интересно разобраться, как всё устроено): https://habr.com/ru/companies/amvera/articles/839654/
🔥18❤8👍3🥰1
Media is too big
VIEW IN TELEGRAM
Братик плохого не посоветует😂
🤣28😁7👍1🐳1
🚀 Обещанная статья про JEV и собственного AI-агента вышла на Хабре!

В этот раз снова в партнёрстве с HOSTKEY подготовил большой практический материал:

👉 Что такое JEV и зачем он нужен: собираем AI-агента на связке LLM + open-source аналог JEV

В последнее время вокруг JEV довольно много шума. Новая архитектура, быстрое принятие решений, альтернатива привычным LLM в определённых задачах. Решил разобраться, что там действительно интересного и как всё это можно применить на практике.

Но одной теорией, как обычно, не ограничился 🙂

Для эксперимента развернул две локальные нейросети: Laya, открытый аналог JEV для принятия структурированных решений, и Gemma 4, которую подключил для более сложных задач.

На их основе собрал полноценного AI-агента на Python, причём без LangGraph, CrewAI и других агентных фреймворков.

Получилась небольшая автоматизированная редакция: Laya классифицирует входящие новости, отсеивает лишнее, а Gemma самостоятельно работает с инструментами, готовит статьи и публикует их в блоге.

Что разбираем в статье:

🔹 Что такое JEV, чем он отличается от обычных LLM и какие у него есть open-source альтернативы.

🔹 Как развернуть Laya на CPU, а Gemma 4 на GPU через llama.cpp.

🔹 Как написать собственный Agent Harness на Python и организовать работу с инструментами.

🔹 Как собрать всё это в полноценное FastAPI-приложение с фоновыми задачами, базой данных и веб-интерфейсом.

🔹 Как запустить всю инфраструктуру через Docker Compose и получить работающий проект.

Отдельное спасибо ребятам из HOSTKEY, которые предоставили для подготовки материала выделенный сервер с RTX 4090 и Ryzen 9 5950X. Благодаря этому удалось нормально поэкспериментировать с локальными моделями и довести проект до рабочего состояния.

Все исходники, конфигурации и инструкции по запуску тоже выложил на GitHub:

👉 https://github.com/Yakvenalex/Habr-Jev-Agent

Статья получилась объёмной, с большим количеством кода, команд и примеров. Так что при желании можно не просто почитать, а повторить весь эксперимент самостоятельно.

Буду рад вашим комментариям на Хабре. Особенно интересно, что думаете о самом подходе с разделением задач между небольшой моделью принятия решений и большой LLM.

Ну и если материал понравится, поддержите его плюсом. Это действительно помогает продвижению подобных технических статей 🙂

Приятного чтения! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍13🔥7❤6😍1