Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или
подписчиков
Проверить канал на накрутку
Телеграм канал «Легкий путь в Python»
Легкий путь в Python
471
3.0K
7
5
13.2K
Я — Алексей Яковенко, опытный разработчик Python. Здесь вы найдете статьи, заметки, посты и видео для прокачки навыков программирования 🐍 Интересное найдет и новичок, и профи 💡
Когда монолит становится сложно развивать, хочется разделить его на микросервисы, но вместе с этим появляются новые вопросы: где провести границы, как организовать взаимодействие сервисов и что делать, если один из них перестал отвечать.
29 октября в 19:00 МСК разберём, когда стоит переходить к микросервисам и как проектировать их с учётом сбоев и роста нагрузки.
На уроке ты узнаешь:
➖ чем микросервисная архитектура отличается от монолита и когда переход оправдан
➖ какие проблемы возникают при взаимодействии микросервисов
➖ какие паттерны помогают сделать систему надёжнее и как применять идемпотентность
На продакшен кейсе сервисов заказов и платежей разберём, как потерянный ответ приводит к двойному списанию и как от этого защититься.
Урок проведёт Станислав Клоков, тимлид финтех-проекта с нагрузкой 100k RPS, который раньше разрабатывал ядро платформы микросервисов в Яндексе.
👉 Регистрируйся, чтобы разобраться в микросервисах на практическом примере
Друзья, небольшие новости по будущей статье на Хабре.
Основной материал уже готов, черновик написан и сейчас находится на вычитке. Решил заодно записать короткую демонстрацию того, что получилось.
В рамках статьи поднял две локальные нейросети: Laya (открытый аналог JEV) для быстрого принятия решений и Gemma 4 для более сложных задач.
На их базе собрал полноценного AI-агента на Python, без LangGraph и прочих агентных фреймворков.
Система получает новость, классифицирует её через Laya и, если материал подходит по тематике, передаёт Gemma. Та уже самостоятельно работает с инструментами, готовит статью и публикует её в блоге.
Весь проект, Docker Compose и исходники выложил на GitHub:
https://github.com/Yakvenalex/Habr-Jev-Agent
Если обойдётся без форс-мажоров, большая статья с подробным разбором архитектуры, развёртывания и практической части выйдет на следующей неделе.
Друзья, продолжаю готовить новую большую статью на Хабр про JEV и его open-source аналоги. Сейчас экспериментирую с локальной Laya и решил поделиться небольшими результатами.
Модель поднял на обычном CPU, без видеокарты. На вход передаю русскоязычные новости, а на выходе получаю категорию и вероятности по каждому из предложенных вариантов. Причём без привычной для LLM генерации текста токен за токеном.
На скриншотах три примера: технологии, бизнес и спорт. Во всех случаях Laya правильно определила тематику, даже когда в новости о финансовых результатах NVIDIA упоминались GPU и искусственный интеллект.
Дальше планирую расширить список категорий и объединить Laya с локальной Gemma 4. В результате соберём AI-агента, который сможет автоматически отбирать интересные новости, анализировать их, готовить публикации и самостоятельно размещать в Telegram.
Всё на Python, без LangGraph и прочих агентных фреймворков.
Друзья, смотрю, все вокруг заговорили про JEV. Что за зверь такой и почему столько кипишу? 😁
Если коротко, JEV — это не очередная LLM, а специализированная модель для быстрого принятия решений.
Принцип работы довольно интересный. Вместо того чтобы генерировать текст токен за токеном, как это делают привычные LLM, модель получает контекст и набор возможных вариантов действий, оценивает их и выбирает наиболее подходящий.
Например, AI-агенту нужно решить, что делать дальше: обратиться к RAG, вызвать инструмент, передать задачу большой LLM или завершить работу. Вместо полноценного запроса к большой модели такое решение можно поручить JEV.
И тут возникает интересный вопрос: а зачем гонять большую LLM на каждом шаге AI-агента, если часть работы можно поручить небольшой специализированной модели?
Собственно, об этом и планирую рассказать в новой большой статье на Хабре.
В программе:
-- Что такое JEV, откуда столько шума и какие есть open-source аналоги.
-- Как поднять две локальные модели: аналог JEV + полноценную LLM.
-- Как с нуля собрать собственного AI-агента на Python, без LangGraph и прочих сложных фреймворков.
-- Как распределить задачи между моделями и что это даёт по скорости, качеству и потреблению ресурсов.
Всё на практике, с рабочим кодом, Docker Compose, тестами и исходниками на GitHub.
А вы уже успели поработать с JEV? Какие впечатления?
Давно ничего не публиковал, хотя за последние месяцы накопилось немало интересного. Будем потихоньку возвращаться к техническим темам. Надеюсь, что соскучились.
И начать хочется с одной вещи, которая, судя по обсуждениям, до сих пор вызывает немало путаницы.
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-агент? Ведь даже в профессиональном сообществе на этот счёт нет единого определения. 🙂