Обновить
1024K+

Python *

Высокоуровневый язык программирования

513,73
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

ClearML Agent: обучение модели в Google Colab

Время на прочтение8 мин
Охват и читатели6.4K

ClearML — это целый космос, так что мы продолжаем разбирать его компоненты. В прошлой статье мы рассматривали ClearML Session и настраивали удаленную среду разработки с Jupyter Lab и VSCode. В этот раз поговорим о ClearML Agent и разберем, как с его помощью запустить обучение на удаленном сервере, в частности, Google Colab.

Итак, поехали!

Читать далее

Вам не нужен OpenClaw — напишите свой

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели35K

Привет, Хабр! Меня зовут Никита Пастухов — автор FastStream, Principal Engineer и мейнтейнер AG2 (фреймворк для разработки агентов). Я уже 8 лет в разработке, последний год - по уши в агентах.

И я хочу доказать вам, что написать своего агента не сложнее, чем написать CRUD

Почему это вообще нужно доказывать? Потому что есть заметный разрыв между тем, что происходит с AI в мире, и тем, что происходит в среднестатистической российской компании. В мире — в каждой компании подписка на OpenAI, миллиард стартапов с AI-продуктами, агенты глубоко интегрированы в бэкофис. В России — «опасно, хостим свои модели», «непонятно» и чат-боты поддержки. В мире инженеры уже умеют разрабатывать агентов. В России — «что это вообще такое?»

Поэтому давайте разберём устройство агентов на примере OpenClaw — самого хайпового “личного AI-агента” прямо сейчас. Он живёт в вашем мессенджере, разбирает почту, ведёт соцсети, пишет код, деплоит сервисы. Его популярность — свидетельство того, насколько мало люди пока используют агентов в быту. Для тех, кто в теме, OpenClaw не привнёс ничего нового.

Давайте разбираться

Production‑стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.2K

Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений, E2E, WebRTC звонки, Electron, outbox‑паттерн. Параллельно про AI‑агента Лиру и мнение про вайб‑кодинг.

Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19 603 строки, 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push‑нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит.

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

Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло‑разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.

Читать далее

Спецлаб‑Гамбит: Удобная программа разметки объектов нейросети под системы видеонаблюдения

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.8K

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

Гамбит, конечно, подойдет для любых других задач, но здесь сделан упор на удобство сбора материала ИЗ систем видеонаблюдения и на разметку датасета с целью создания нейросетей ДЛЯ систем видеонаблюдения.

Гамбит не столько для отшлифованных фоток и рилсов из Интернета, а как раз наоборот – для не особо качественных видеозаписей из архивов видеонаблюдения. В Спецлабе называют такой контент «диким».

Скачать бесплатно...

Создание MCP‑серверов на FastMCP: 7 ошибок, которых стоит избегать

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.3K

FastMCP позволяет быстро собрать MCP‑сервер, но скорость легко оборачивается ошибками: лишние токены, слабые схемы, сырые API‑примитивы, плохая обработка ошибок и риски безопасности.

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

Читать далее

Основы глубокого обучения. Часть 1

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели10K

Приветствую всех! Эта статья будет первой в серии статей про основы глубокого обучения. В этой части я расскажу про то, что такое модели, искусственный интеллект (ИИ), машинное (МО) и глубокое обучение (ГО), про виды этапа обучения моделей, что такое нейронные сети, градиентный спуск и обратное распространение. В конце затронем теорию свёрточных нейронных сетей.

Читать далее

Production MTProto user-бот на FastAPI + Telethon: WARP для обхода DPI и 5 граблей с Telegram

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели13K

В большинстве туториалов по Telegram-ботам всё начинается с одного куска кода: получили токен у @BotFather, поставили python-telegram-bot или aiogram, написали хендлер, deploy. Это Bot API. И в 90% задач этого хватает.

А потом приходит задача которую Bot API не закрывает в принципе: программно создать супергруппу под конкретный проект и добавить туда нужных людей по @username, и сделать это десятки раз в день. Bot API такое не умеет даже теоретически - метода «создать группу» там нет, метода «добавить юзера в группу» тоже. Лезете в полную документацию Telegram API искать обход, упираетесь в раздел  channels.createChannel  /  channels.inviteToChannel под MTProto, и начинается совсем другая история - не Bot API, а user-бот через telethon.

В этой статье разбираю как мы сделали production MTProto user-бот на FastAPI + Telethon. Под капотом: Cloudflare WARP для обхода DPI (без него с российского VPS просто не подключиться), Singleton-клиент с keepalive, in-memory cache resolve-юзеров, и 5 ограничений Telegram которые знают только те кто лез туда ногами. Реальный production-сервис у клиента в нише строительства/монтажа, обслуживает связку Planfix → Telegram-группы под каждый проект.

Сервис написан на Python 3.11. Стек: Telethon 1.43.2, FastAPI 0.136.1, Uvicorn 0.46.0, Pydantic 2.13.4. На VPS под systemd, наружу через Cloudflare Tunnel. Вызывается из n8n через HTTP-ноду.

Читать далее

Как звучит JPEG? Или что будет, если сжать спектрограмму как фотографию

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели7.1K

Бывают дни, когда на работе делать нечего. А бывают дни, когда ты — программист и звукорежиссёр одновременно, и в голову приходит странная мысль: «А что, если взять аудио, превратить его в картинку-спектрограмму, сжать эту картинку как фотографию (JPEG, WebP, AVIF), а потом попробовать восстановить звук обратно? Как оно будет звучать?»

Спойлер: иногда — удивительно хорошо. Иногда — как из унитаза. Но всегда — интересно.

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

Читать далее

Идемпотентность в System Design: полный пример

Время на прочтение8 мин
Охват и читатели10K

Идемпотентность в System Design: полный пример

Идемпотентность часто упоминается при проектировании систем (system design). Ниже будет простыми словами объяснено, что это такое, далее мы разберём основные детали идемпотентности, часто понимаемые неверно и, наконец, проиллюстрируем её на полном примере. 

Что такое идемпотентность?

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

Читать далее

Лучший код занял второе место: разбираем финал Dev-to-Dev хакатона и ищем границы агентной инженерии

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели6.3K

В финале хакатона Dev-to-Dev: Agentic Engineering Challenge на втором месте оказался самый качественно написанный проект соревнования. 65 тестов, типы, защита от path traversal, Docker с non-root user, архитектура, в которой видно инженера, а не участника хакатона. И именно поэтому он не победил.

Победителем стал не самый чистый код и не самая смелая архитектура. Это решение точнее всех попало в то, что мы пытались измерить — agentic engineering. Термин, которому едва пара лет, и в который каждая команда пока вкладывает что-то своё.

Ниже разбираем 10 финалистов хакатона: что они построили, где заработали баллы и где их потеряли, какие архитектурные ставки сработали — и почему «писать хороший код» и «строить агентные системы» в 2026 году превратились в разные навыки.

Читать далее

Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.6K

Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

Читать далее

Как мы перестали терять игроков/пользователей при рестарте сервера: Thin WebSocket Gateway + Redis»

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели5.7K

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

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

Казалось бы, ничего страшного. Но ведь можно по-другому, верно?

Этот опыт применим не только для игровых серверов, но и для любых проектов, в которых используются сокетные соединения и разрыва соединения влияет на UX

Читать далее

[ALM моделирование] На примере дефолта Silicon Valley Bank

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели15K

В условиях современного банковского надзора внезапный дефолт крупного банка — событие экстраординарное, особенно в США. Финансовые регуляторы выстроили глубоко эшелонированную систему защиты: Центральные банки непрерывно мониторят нормативы, проводят стресс-тесты и, как правило, действуют на упреждение.

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

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

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

Читать далее

Ближайшие события

Инженерия качества: Как перестать надеяться на удачу и начать измерять своих ИИ-агентов [Часть 2]

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

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

Читать далее

Как я сделал AI‑директора для малого бизнеса и почему отказался от RAG

Время на прочтение13 мин
Охват и читатели16K

Маленькая компания, человек 20. Гендир тонет в задачах. Помнить кто что обещал, отслеживать движение по целям, держать в голове десяток проектов одновременно. У больших корпораций для этого есть штат руководителей среднего звена и проджектов. У малых есть один директор, который пытается быть всем сразу.

Лира берёт на себя часть этой работы. Это не корпоративный чат‑бот, не ChatGPT с настройками компании. Конкретный продукт с конкретными функциями:

Читать далее

Как мы научили AG2 дружить с нормальным DI (и почему это вообще нужно)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.4K

Как соединить LLM-агента на AG2 с Dishka в одном DI-контейнере. На рабочем примере: FastAPI + SSE-стрим по AG-UI + Postgres, тулзы с типизированным внедрением сценариев, отдельная транзакция на каждый tool call. Плюс грабли при сборке.

Читать далее

Инженерия качества: Как перестать надеяться на удачу и начать измерять своих ИИ-агентов [Часть 1]

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.1K

Инженерия качества: Как перестать надеяться на удачу и начать измерять своих ИИ-агентов [Часть 1]

LLM глючит в продакшене? 🤖 Хватит надеяться на «vibe-check»! Узнай, как внедрить инженерный подход к качеству ИИ-агентов. В статье, будет рассмотрена концепция Golden Set, его автоматической генерации для RAG системы, на примере библиотеки RAGAS

Читать далее

Извлечение и обработка требований из документов с помощью NLP-инструментов

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели7.1K

Приветствую всех читателей Хабр.

Думаю, многим знаком этот сценарий: появляется задача — и первая мысль: «скормлю все LLM, она разберётся». Поначалу получается красиво, всё работает и есть первые результаты. Потом начинаешь проверять детали и замечаешь, что модель местами добавляет текст от себя. Потом смотришь на затрачиваемое время и понимаешь, что при текущей скорости обработка всего объёма документов закончится через год.

Именно в такой ситуации я оказался, когда захотел обработать базу ГОСТов.

Эта статья — про то, как я прошёл путь от «кидаем всё в LLM» до детерминированного пайплайна на классических NLP-инструментах. И про то, как в этом помогли те же самые языковые модели — но уже в роли консультантов, а не рабочей лошадки.

Читать далее

SmileLadder. Цикл «Память и мозг». От маятников до нейронов или как модель Курамото может показать синхронизацию

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели7.7K

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

Поехали!

Читать далее

Как я борюсь с длинным контентом в Telegram с помощью AI-бота (Sumify)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

Я устал разбирать длинные видео, голосовые и кружки в Telegram вручную. Сначала это было терпимо, потом каналов стало больше двадцати — и контент просто перестал помещаться в день.

Так появился Sumify: бот, который сам достает главное из медиа и превращает его в выжимку, конспект и ответы на вопросы.

Читать далее