Обновить
512K+

Python *

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

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

Превращаем китайский домофон за 400 рублей в Telegram-звонок с фото и видео

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

Несколько лет у меня лежал недорогой китайский видеодомофон Doorbell M8, работающий через приложение Ulooka. Покупал я его на одном из маркетплейсов примерно за 400 рублей — скорее из любопытства, чем из реальной необходимости.

Читать далее

Вчера в отчёте было 12 480, сегодня 12 517: пять причин, по которым цифры за прошлый месяц продолжают меняться

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

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

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

Читать далее

Harness кодинг‑агента: разобрал исходники Codex, OpenCode, Pi и свою собственную

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

Я собираю своего кодинг‑агента поверх моделей OpenAI. Базовый агентный цикл написал сам на Pydantic AI, и он быстро заработал. А потом начались сложные узлы: как сжимать распухший контекст, как не дать агенту делать заново уже сделанное, как понять, что он правда закончил, а не выдохся. На каждом таком узле я застревал и шёл смотреть, как это решают взрослые. Благо исходники Codex, OpenCode и Pi лежат открыто, а архитектуру Claude Code Anthropic описывает сама.

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

Читать далее

Structured outputs, которые не работают: пять ситуаций, где схема есть, а гарантий нет

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

Strict‑режим включён, схема валидна, ответ успешно парсится — а в проде всё равно всплывают None, пропавшие ограничения и аргументы инструментов не тех типов.

В статье разберём пять ситуаций, где Structured Outputs создают ложное ощущение надёжности, и посмотрим, какие проверки действительно стоит добавить в LLM‑пайплайн.

Читать далее

Мой личный джуниор. Бонус: аутентификация в Gradio и пользователи в Langfuse

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

Привет, Хабр! Меня зовут Владимир, и это внеплановое продолжение цикла про локального MCP-агента. В первых частях мы собрали агента, научили его работать через LangGraph, добавили Gradio-интерфейс, чекпоинты и трассировку.

В этой статье я покажу как добавить аутентификацию в Gradio-интерфейс и как использовать её для упорядочивания трейсов в Langfuse и чекпоинтов в LangGraph.

Читать далее

Сегодня я для себя открыл: Pony ORM

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

Дорогие читатели, сегодня я расскажу о Pony ORM, которая во многих отношениях должна быть примером для других ORM: она дружественная к пользовалю, ведёт себя предсказуемо и, что немаловажно, имеет хорошую производительность. Речь пойдёт, в основном, не о фичах для пользователя (которых много и о которых можно узнать в этих видео 1, 2), а о внутренней архитектуре.

Читать далее

Летняя встреча Go-сообщества: системное и embedded-программирование

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

Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся в Москве и онлайн на встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — подключайтесь к трансляции и слушайте тех, кто работает с Go каждый день.

Отменяем summertime sadness

Почему «чем проще, тем лучше» не работает на ИИ-классификаторе

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

Обучил multi-label классификатор на 15 классов для модерации Discord-сообщества, получил micro F1 = 0.9358 — цифра, с которой можно закрывать задачу и не разбираться дальше. Но стоило посмотреть на precision и recall по каждому классу отдельно, как выяснилось: recall на TOXIC — около 0.78, а для части редких меток test split вообще не подтверждает качество — положительных примеров там почти нет. Разбираю на реальных цифрах и коде: почему агрегированная метрика такое скрывает, как считать вес классов через pos_weight при сильном дисбалансе, почему checkpoint стоит выбирать по macro F1, а не по training loss, и где принцип «чем проще — тем лучше» перестаёт работать при оценке качества классификатора.

Подробнее

4 ошибки в A/B‑тестах, из‑за которых случайный шум выглядит как эффект

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

Сплиттер работает корректно, метрика посчитана, а p‑value уверенно опустился ниже 0,05 — результат кажется готовым к раскатке. Однако ошибка в оценке дисперсии способна превратить случайное различие в статистически значимое.

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

Читать далее

Книга: «Думай как аналитик. Статистика и данные с примерами на Python. 3-е изд.»

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

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

Читать далее

Собираем 3D-сканер комнаты из телефона, SAM, CLIP и DINOv2

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

Привет, «Хабр»! Представляю вашему вниманию практическое руководство по созданию умной 3D-модели комнаты из обычного видео на телефоне.

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

Нейросети в процессе не обучались заново, в ход идут готовые модели – SAM, CLIP и DINOv2. Весь фокус в том, как их правильно оркестровать.

Читать далее

Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM?

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

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

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

Читать далее

pkg-cache — простой локальный кеш пакетов

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

Пример реализации простого кэширующего прокси для пакетов npm, composer и pip на базе node.js для Windows и Linux.

Читать далее

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

Domain-routed agents vs naive RAG: экономика и риски архитектурного выбора

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

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

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

Читать далее

Магнитное поле постоянного магнита

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

Рассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.

Читать далее

Обучаем ИИ видеть то, чего он никогда не видел

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

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

Однако, какой бы ни была архитектура, все их объединяет одна и та же проблема — данные. Для полноценного обучения нужны сотни и тысячи изображений, с разных ракурсов, в разных условиях. Если цель — академический проект, обнаружение машин или колосков пшеницы, то найти датасет не составляет проблем. Но что, если датасета нет и/или его невозможно собрать в принципе в нужном объеме? Скажем, редкий дефект в производстве, истребитель новой конструкции? Ждать, пока накопится много брака, или надеяться на утечку чертежей?

Мы провели пару экспериментов с моделью YOLO для проверки гипотезы: как далеко можно уехать, используя исключительно синтетические данные?

Ознакомиться

Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика

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

Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, логи — в третьем, а за уведомления о стримах отвечал отдельный бот.

Подробнее

Перенёс ByteTrack на GPU и ускорил мульти-камерный трекинг в 6 раз

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

GPU-версия ByteTrack, где математика всех камер считается общими батчами: один вызов на все потоки вместо трекера-на-камеру. На 16 потоках это ускоряет трекинг в 6 раз (104 → 17 мс/кадр на RTX 4090). А за первой, «наивной» версией пряталось всего 1.2x — почему, показали три антипаттерна PyTorch, на которых легко застрять и вне трекинга: GPU-вызовы в цикле, заливка кадров на 1.6 ГБ/с вместо 25, и FP16, который тихо съедал по 300 мс на кадре. Все цифры воспроизводимы, есть сравнение с NVIDIA DeepStream и открытый код.

Читать далее

Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP

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

Claude Code, Codex, Gemini CLI — мощные штуки. Но живут они в терминале: вы открываете окно, печатаете задачу, смотрите, как агент думает, лезет в файлы, гоняет тесты. Для человека — отлично. А теперь представьте, что в это кресло перед терминалом нужно посадить не человека, а вашу программу: чтобы она сама ставила агенту задачу, видела каждый его шаг и могла остановить опасное действие до того, как оно случится.

Вот тут и начинается ACP — протокол, который позволяет любому коду управлять CLI-агентом.

Смотреть, кто за рулём

MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

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

💾 MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

Когда строишь эмулятор для проверки торговой стратегии 20 акций на 25 лет исторических данных поминутно, выбор хранилища становится архитектурной задачей. В статье разобрал, почему попытка использовать MinIO не оправдала себя, где упирается MongoDB и как PostgreSQL с Pgpool-II и read-репликами сократил время чтения одной свечи с 40мс до 10мс

Читать далее