<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все статьи подряд / Python / Хабр]]></title>
    <link>https://habr.com/ru/hubs/python/articles/</link>
    <description><![CDATA[Python – высокоуровневый язык программирования]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Wed, 22 Jul 2026 11:42:11 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[QuotaRadar — уведомления о сбросах лимитов Codex и Claude Code]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061668/</guid>
      <link>https://habr.com/ru/articles/1061668/?utm_campaign=1061668&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b09/e0b/b5f/b09e0bb5f853514611eafae54d80bb7f.jpg" /><p>Всем привет!</p><p>У вас было такое, когда заканчиваются недельные или часовые лимиты в Codex или Claude Code, а потом вы внезапно обнаруживаете, что лимиты уже сбросили?</p><p>Приятно, да? Особенно Codex этим часто радует :)</p><p>Так вот, я хотел получать уведомления о таких сбросах. Но при этом не хотел самостоятельно мониторить X — бывший Twitter — или постоянно проверять другие источники.</p> <a href="https://habr.com/ru/articles/1061668/?utm_campaign=1061668&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Jul 2026 06:33:51 GMT</pubDate>
      <dc:creator><![CDATA[yermolaev]]></dc:creator>
      
      <category><![CDATA[QuotaRadar]]></category><category><![CDATA[Codex]]></category><category><![CDATA[Claude Code]]></category><category><![CDATA[Telegram-бот]]></category><category><![CDATA[мониторинг лимитов]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Python]]></category><category><![CDATA[Celery]]></category><category><![CDATA[X API]]></category><category><![CDATA[YandexGPT]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[187 064 инструкции ради одного флага: Разбор HTB Callfuscated (Insane)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061634/</guid>
      <link>https://habr.com/ru/articles/1061634/?utm_campaign=1061634&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d46/813/61b/d4681361bedcf0d6762b162551c1a661.png" /><p>Что делать, если статический анализ crackme выдает 187 064 инструкции мусорного кода? Идти в динамику! В этой статье разбираем таск Callfuscated с HTB: пишем свой&nbsp;ptrace-трассировщик, создаем валидируемый x86-64 эмулятор на Python, снимаем дампы памяти и сводим сложную VM-обфускацию к арифметике первого курса. </p> <a href="https://habr.com/ru/articles/1061634/?utm_campaign=1061634&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Прочитать решение</a>]]></description>
      
      <pubDate>Wed, 22 Jul 2026 03:30:18 GMT</pubDate>
      <dc:creator><![CDATA[vt729830]]></dc:creator>
      
      <category><![CDATA[hackthebox]]></category><category><![CDATA[htb]]></category><category><![CDATA[reverse engineering]]></category><category><![CDATA[ptrace]]></category><category><![CDATA[эмулятор]]></category><category><![CDATA[обфускация]]></category><category><![CDATA[python]]></category><category><![CDATA[ctf]]></category><category><![CDATA[виртуальная машина]]></category><category><![CDATA[mba]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MAP-Elites: как искать не «лучшее», а «лучшее в каждой нише»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061588/</guid>
      <link>https://habr.com/ru/articles/1061588/?utm_campaign=1061588&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d86/597/e89/d86597e89554c972e182735359c3a954.png" /><p><strong>MAP-Elites: лучший в каждой нише</strong></p><p>Классическая оптимизация ищет&nbsp;<strong>один максимум</strong>. Но в робототехнике, генерации уровней и инженерии нужен&nbsp;<strong>набор разнообразных хороших решений</strong>&nbsp;— библиотека походок под разные поломки, уровни любой сложности, фронт компромиссов.</p><p>Это&nbsp;Quality-Diversity.&nbsp;<strong>MAP-Elites</strong>&nbsp;(2015, arXiv:1504.04909) — простейший алгоритм.</p><p><strong>Идея:</strong>&nbsp;делим пространство поведений на сетку&nbsp;<strong>ниш</strong>. В каждой нише храним&nbsp;<strong>одно лучшее решение</strong>. Генотип мутируем, поведенческий дескриптор (высота шага, энергия) — для адресации ячейки.</p><p><strong>Алгоритм:</strong></p><p>Пустой архив.</p><p>Случайная популяция → оценить fitness и дескриптор → в ячейку (если лучше).</p><p>Цикл: выбрать родителя → мутировать → оценить → в ячейку, если пусто или лучше.</p><p>Никакого отбора между нишами — только внутри. Это даёт&nbsp;<strong>карту всего пространства</strong>, а не одну точку.</p><p><strong>Код:</strong></p><p>```</p><p>import numpy as np</p><p># Задача: найти x, y в [-5, 5], максимизируя fitness,  ниши определяются по (x, y)</p><p>BOUNDS = (-5.0, 5.0)</p><p>GRID_SIZE = 20          # число ячеек по каждой оси behavior space</p><p>N_ITERATIONS = 5000</p><p>MUTATION_SIGMA = 0.2</p><p>def fitness(genome):</p><p>x, y = genome</p><p># произвольная многомодальная функция для иллюстрации</p><p><code>return -(x**2 + y**2) + 5 </code><em><code> np.sin(3 * x)  np.cos(3 </code></em><code>* y)</code></p><p>def behavior_descriptor(genome):</p><p># в этой игрушечной задаче поведенческий дескриптoр совпадает с генотипом,</p><p># в реальных задачах это обычно совсем другое пространство признаков</p><p>return genome</p><p>def to_cell(bd):</p><p>lo, hi = BOUNDS</p><p>idx = ((bd - lo) / (hi - lo) * GRID_SIZE).astype(int)</p><p>return tuple(np.clip(idx, 0, GRID_SIZE - 1))</p><p>def random_genome():</p><p>return np.random.uniform(*BOUNDS, size=2)</p><p>def mutate(genome):</p><p>child = genome + np.random.normal(0, MUTATION_SIGMA, size=genome.shape)</p><p>return np.clip(child, *BOUNDS)</p><p># 1) инициализация случайными решениями</p><p>    for _ in range(200):</p><p>g = random_genome()</p><p>f = fitness(g)</p><p>cell = to_cell(behavior_descriptor(g))</p><p>if cell not in archive or f &gt; archive[cell][1]:</p><p>archive[cell] = (g, f)</p><p><strong>Вывод:</strong>&nbsp;<code>379 / 400</code>, лучшее&nbsp;<code>(0.527, 0.005)</code>, fitness&nbsp;<code>4.72</code>.</p><p><strong>Почему не 400?</strong>&nbsp;Три причины:</p><p>200 случайных точек не покрывают все ячейки (эффект корзин).</p><p>Мутация&nbsp;<strong>локальна</strong>&nbsp;(σ=0.2). До пустой ячейки без занятых соседей не допрыгнуть —&nbsp;<strong>изоляция ниш</strong>.</p><p>В реальности часть пространства физически недостижима (напр, походка с нулевой энергией и высоким шагом).</p><p><strong>Сложность</strong></p><p>M&nbsp;— число ячеек в&nbsp;архиве (произведение числа делений по&nbsp;каждому измерению множества поведений), T&nbsp;— число итераций (эволюционных поколений/оценок), D&nbsp;— размерность генотипа, E&nbsp;— стоимость одной оценки решения (симуляция/вычисление приспособленности).</p><p>По времени: каждая итерация - это выбор случайного родителя за O(1) (при хранении в виде массива/словаря), мутация за O(D), вычисление дексриптора и приспособленности — доминирующая часть, O(E), и вставка/сравнение в ячейке за O(1).  Итого на все итерации - O(T·(D + E))</p><p><strong>Вывод:</strong>&nbsp;MAP-Elites даёт не "оптимум", а&nbsp;<strong>карту компромиссов</strong>. Ценятся не проценты заполнения, а&nbsp;<strong>покрытие достижимых ниш</strong>&nbsp;и&nbsp;<strong>разнообразие поведений</strong>.</p><p><strong>Итог:</strong>&nbsp;простой, линейный по числу оценок, даёт инженеру не одну точку, а весь фронт возможностей.</p> <a href="https://habr.com/ru/articles/1061588/?utm_campaign=1061588&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 18:28:57 GMT</pubDate>
      <dc:creator><![CDATA[astarovo]]></dc:creator>
      
      <category><![CDATA[genetic algorithms]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[разработка игр]]></category><category><![CDATA[машинное+обучение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MAP‑Elites: как искать не «лучшее», а «лучшее в каждой нише»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061584/</guid>
      <link>https://habr.com/ru/articles/1061584/?utm_campaign=1061584&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/467/658/f4a/467658f4a2435bb05b2e837da8ff8ca6.png" /><p><strong>Проблема, которую не&nbsp;решает обычная оптимизация</strong></p><p>Классические методы оптимизации&nbsp;— градиентный спуск, генетические алгоритмы с&nbsp;элитизмом, CMA‑ES&nbsp;— заточены под&nbsp;одну вещь: найти один глобальный максимум функции приспособленности. Всё остальное население на&nbsp;пути к&nbsp;этому максимуму считается расходным материалом и отбрасывается.</p><p>Но&nbsp;во многих задачах нас интересует не&nbsp;единственное решение, а&nbsp;набор разнообразных хороших решений:</p><p>Эволюционная робототехника. Нужно не&nbsp;одно «оптимальное» положение ног шагающего робота, а&nbsp;целая библиотека походок под&nbsp;разные повреждения&nbsp;— если у&nbsp;робота откажет один сустав, он должен уметь&nbsp;быстро подобрать альтернативную походку вместо повторной оптимизации с&nbsp;нуля.</p><p>Процедурная генерация контента в&nbsp;играх. Нужны не «лучшие» уровни, а&nbsp;уровни, покрывающие весь спектр: лёгкие/сложные,&nbsp;линейные/разветвлённые.</p><p>Дизайн и инженерия. Инженеру интересно увидеть весь фронт компромиссов (вес vs прочность vs стоимость), а&nbsp;не&nbsp;одну точку.</p><p>Открытые (так называемый open‑ended) эволюционные системы, где само понятие «лучшего» плохо определено, а&nbsp;интересна широта поведенческого репертуара.</p><p>Это направление получило название Quality‑Diversity (QD) оптимизации: цель&nbsp;— не&nbsp;максимизировать один скаляр, а&nbsp;заполнить пространство возможных поведений решениями, каждое из&nbsp;которых максимально хорошо в&nbsp;своей поведенческой нише.</p><p>MAP‑Elites&nbsp;— один из&nbsp;первых и самый концептуально простой алгоритм этого семейства.</p><p><strong>Идея алгоритма</strong></p><p>MAP‑Elites (Multi‑dimensional Archive of Phenotypic Elites)&nbsp;был предложен в 2015&nbsp;году.</p> <a href="https://habr.com/ru/articles/1061584/?utm_campaign=1061584&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 18:09:35 GMT</pubDate>
      <dc:creator><![CDATA[astarovo]]></dc:creator>
      
      <category><![CDATA[genetic algorithms]]></category><category><![CDATA[optimization]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Дешевая LLM в проде: как мы ушли с прогнозных $2000 в месяц на $30 и какие минусы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061466/</guid>
      <link>https://habr.com/ru/articles/1061466/?utm_campaign=1061466&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/525/15f/f71/52515ff7155bfbb8ca007ad2ed315258.png" /><p>Каждую ночь у нас в JobPath запускается Celery-задача, которая берёт свежие вакансии из каталога (мы собираем их из открытых источников и Telegram-каналов) и превращает сырой текст в структурированную карточку. Изначально это делала Claude Sonnet, и делала отлично. Проблема была в цене: по прогнозу на наш объём выходило около двух тысяч долларов в месяц, и цифра росла вместе с каталогом..</p> <a href="https://habr.com/ru/articles/1061466/?utm_campaign=1061466&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">К цифрам</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 14:25:19 GMT</pubDate>
      <dc:creator><![CDATA[billiedark]]></dc:creator>
      
      <category><![CDATA[LLM]]></category><category><![CDATA[qwen]]></category><category><![CDATA[Claude]]></category><category><![CDATA[OpenRouter]]></category><category><![CDATA[tool calling]]></category><category><![CDATA[structured output]]></category><category><![CDATA[оптимизация расходов]]></category><category><![CDATA[эвал моделей]]></category><category><![CDATA[fail-closed]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Автотестирование кастомного K8s CNI: как правильно входить в ха… то есть поду]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/cloud_ru/articles/1060958/</guid>
      <link>https://habr.com/ru/companies/cloud_ru/articles/1060958/?utm_campaign=1060958&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dd2/ef7/3b3/dd2ef73b387157b923bb93058614b775.jpg" /><p>Представьте, однажды вы приходите в новую компанию на позицию Automation QA и перед вами возникает задача: на пустом поле проекта посеять зерна автотестов, которые прорастут в регулярный процесс тестирования и будут отлавливать различные баги. Такая задача возникла и передо мной, поэтому я хочу поделиться своим опытом, как строил тестирование кастомного K8s CNI-плагина в новой для себя области. Статья будет полезна QA-инженерам, которые на «ты» с Python, но на «вы» с тестированием Kubernetes с помощью автотестов. При решении задачи я столкнулся с вопросами, на которые нигде не нашел ответа. Возможно, раз мне помог описанный путь, поможет и вам.</p> <a href="https://habr.com/ru/articles/1060958/?utm_campaign=1060958&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Войти в поду</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 11:50:52 GMT</pubDate>
      <dc:creator><![CDATA[time2test (Cloud.ru)]]></dc:creator>
      
      <category><![CDATA[тестирование]]></category><category><![CDATA[automation qa]]></category><category><![CDATA[cni-плагин]]></category><category><![CDATA[k8s]]></category><category><![CDATA[kubernetes]]></category><category><![CDATA[multus]]></category><category><![CDATA[сетевая связность]]></category><category><![CDATA[netcat]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Hypothesis: тесты, которые сами ищут контрпримеры к вашему коду]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058390/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058390/?utm_campaign=1058390&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/120/f5e/10f/120f5e10f7bd2d8491fdf9f46e8ea893.png" /><p>Обычные тесты находят только ожидаемые ошибки. В&nbsp;статье разберём, как&nbsp;Hypothesis сам ищет контрпримеры и сокращает их до&nbsp;минимального сбоя. </p> <a href="https://habr.com/ru/articles/1058390/?utm_campaign=1058390&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 09:05:51 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[Hypothesis]]></category><category><![CDATA[property-based testing]]></category><category><![CDATA[тестирование свойств]]></category><category><![CDATA[Python]]></category><category><![CDATA[автоматизация тестирования]]></category><category><![CDATA[генерация данных]]></category><category><![CDATA[контрпримеры]]></category><category><![CDATA[shrinking]]></category><category><![CDATA[stateful-тестирование]]></category><category><![CDATA[pytest]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы заменили Teradata RTIM: миграция правил с использованием AST]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/megafon/articles/1061012/</guid>
      <link>https://habr.com/ru/companies/megafon/articles/1061012/?utm_campaign=1061012&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Меня зовут Сигида Алексей, я старший архитектор по развитию технологий CVM (Customer Value Management) в компании Мегафон. Много лет решения о том, что показать клиенту, у нас принимал Teradata RTIM (Real-Time Interaction Manager) - движок real-time маркетинга. Если вы когда-нибудь получали смс-сообщение от Мегафона или заходили в личный кабинет в 99% случаев сообщение для вас было подобрано этой системой. Вы заходите на сайт или в приложение, и за миллисекунды решается, какое предложение показать. Логика выбора описывается деревьями принятия решений: запрос проходит по веткам дерева, а условия переходов в узлах - критерии - определяют, к какому сегменту отнести клиента и какое предложение ему подобрать.</p><p>В какой-то момент перед командой встала задача перейти на собственное решение. Стало ясно, что RTIM превратился из удобного инструмента в тяжелую гирю на наших ногах. Оставаться на больше нельзя, накопилась критическая масса причин: закрытая архитектура приложения без возможности кастомизации, тотальная зависимость от вендора, стоимость лицензии. В моменты инцидентов оказывались связаны руки, ожидая помощи извне. Фундаментом нового движка стал Go. Нужен был инструмент, стабильно работающий под хайлоад, быстрый, достаточно распространённый, чтобы не было проблем ни с экспертизой ни с экосистемой.</p> <a href="https://habr.com/ru/articles/1061012/?utm_campaign=1061012&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 06:58:23 GMT</pubDate>
      <dc:creator><![CDATA[alexey-sigida (МегаФон)]]></dc:creator>
      
      <category><![CDATA[MegaRITM]]></category><category><![CDATA[Teradata]]></category><category><![CDATA[ast]]></category><category><![CDATA[python]]></category><category><![CDATA[golang]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Apple Intelligence в Python для агента Hermes]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/sberbank/articles/1059010/</guid>
      <link>https://habr.com/ru/companies/sberbank/articles/1059010/?utm_campaign=1059010&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/06b/b3d/67a/06bb3d67a421c3cdda53de7639fc3c01.png" /><p>Apple выпустила Foundation Models SDK for Python ещё в феврале 2026. Эта Python-библиотека предоставляет прямой доступ к локальной модели Apple Intelligence: модель грузится в процесс, KV-кеш лежит в памяти, инференс идёт на Apple Silicon. Библиотека получила 1,2 тыс. звёзд на GitHub, последнюю версию 0.2.0 с поддержкой изображений представили на WWDC26.</p><p>Есть несколько обёрток для Foundation Models с поддержкой интерфейса OpenAI, но нет нативного провайдера для агентов, написанных на Python, таких как Hermes, в котором локальная модель работала бы как основной инференс агента со всеми его особенностями: рейтлимитером, откатом к другим моделям и аудитом. Также известно прямое использование Foundation Models в агенте iClaw на Swift, но эти возможности пока недоступны более универсальным агентам на Python.</p><p>Почему бы не попробовать добавить к Hermes адаптер на Foundation Models SDK for Python и получить среднее время реакции на короткие запросы 2,8 секунды, а на бенчмарке из 50 вопросов из MMLU, BoolQ, GSM8K, BIG-Bench и HellaSwag выбить 46 правильных ответов?</p><p>Под катом — архитектура, код и бенчмарки нативного провайдера для автономного агента Hermes.</p> <a href="https://habr.com/ru/articles/1059010/?utm_campaign=1059010&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 06:36:36 GMT</pubDate>
      <dc:creator><![CDATA[Jecky (Сбер)]]></dc:creator>
      
      <category><![CDATA[macOS]]></category><category><![CDATA[ai]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[История корутин: появление, развитие, спад и возрождение]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/psb/articles/1058516/</guid>
      <link>https://habr.com/ru/companies/psb/articles/1058516/?utm_campaign=1058516&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c9d/382/7f4/c9d3827f49c3510bd1a10791b4e04be1.png" /><p>Привет, Хабр! Меня зовут Дмитрий Попов, я Android‑разработчик в&nbsp;ПСБ. В&nbsp;какой‑то момент мне захотелось разобраться&nbsp;— что&nbsp;такое корутина и откуда они вообще взялись. Погрузившись в&nbsp;различные статьи и видео, я узнал много нового, рассказал коллегам внутри команды, а&nbsp;теперь решил рассказать и вам. Все, что&nbsp;важно знать о&nbsp;корутинах, по&nbsp;моему скромному мнению,&nbsp;— в&nbsp;этой статье!</p> <a href="https://habr.com/ru/articles/1058516/?utm_campaign=1058516&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 06:30:35 GMT</pubDate>
      <dc:creator><![CDATA[popodi (ПСБ)]]></dc:creator>
      
      <category><![CDATA[корутины]]></category><category><![CDATA[корутины kotlin]]></category><category><![CDATA[горутины]]></category><category><![CDATA[горутина]]></category><category><![CDATA[event-loop]]></category><category><![CDATA[история it]]></category><category><![CDATA[история ит]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Mermaid как платная AI функция в проекте Django/Next]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061160/</guid>
      <link>https://habr.com/ru/articles/1061160/?utm_campaign=1061160&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4d6/b52/1e6/4d6b521e606881603a51a68c6821ba4a.png" /><p>Mermaid это текстовый формат описания диаграмм. В строках задаются тип схемы, узлы и связи. На выходе получается SVG. Формат подходит для API и базы данных. Код можно сгенерировать, проверить, сохранить, открыть повторно и отрендерить на клиенте.</p><p>В <code>mermind/</code><a href="http://views.py" rel="noopener noreferrer nofollow"><code>views.py</code></a> добавлен <code>503</code>, если ответ модели не начинается с валидной головы Mermaid. Без этой проверки запрос завершается успешно, ответ от модели приходит, но диаграмма не строится. В ответе остаются fenced-блоки, Markdown, строки с <code>#</code>, служебный текст и фрагменты до первой строки диаграммы.</p><p>В проекте собран полный серверный и клиентский контур. Генерация, очистка ответа, проверка, рендер, повторная правка, сохранение и библиотека.</p><p>Как извлекать Mermaid-код из ответа модели. Ответ сначала режется до fenced-блока. Потом проверяется первая строка.</p> <a href="https://habr.com/ru/articles/1061160/?utm_campaign=1061160&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Jul 2026 05:36:55 GMT</pubDate>
      <dc:creator><![CDATA[lemon_m]]></dc:creator>
      
      <category><![CDATA[Mermaid]]></category><category><![CDATA[Next.js]]></category><category><![CDATA[Django]]></category><category><![CDATA[TypeScript]]></category><category><![CDATA[OpenRouter]]></category><category><![CDATA[LLM]]></category><category><![CDATA[AI]]></category><category><![CDATA[Fullstack]]></category><category><![CDATA[API]]></category><category><![CDATA[SVG]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я три года пилю свой музыкальный сервер: часть вторая. Архитектура Kalinka и её место среди музыкальных систем]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061144/</guid>
      <link>https://habr.com/ru/articles/1061144/?utm_campaign=1061144&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ca2/b01/2d7/ca2b012d7c3bbe3dfa066a43988e13b9.png" /><p>Как устроен KalinkaPlayer: модульный бэкенд, нативный аудиоплеер, пайплайн метаданных и мобильное управление в одном проекте.</p> <a href="https://habr.com/ru/articles/1061144/?utm_campaign=1061144&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Изучить архитектуру</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 22:05:47 GMT</pubDate>
      <dc:creator><![CDATA[MadEnvel]]></dc:creator>
      
      <category><![CDATA[Linux]]></category><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[Python]]></category><category><![CDATA[C++]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[ALSA]]></category><category><![CDATA[open source]]></category><category><![CDATA[self-hosted]]></category><category><![CDATA[звук и музыка]]></category><category><![CDATA[аудио]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Google добавил AI-отчёты в Search Console. Я разобрался, что они реально показывают]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060928/</guid>
      <link>https://habr.com/ru/articles/1060928/?utm_campaign=1060928&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/625/84a/bdf/62584abdf84bda3d07b39fd516d2e6ea.jpg" /><p>Google <a href="https://www.seroundtable.com/" rel="noopener noreferrer nofollow">начал разворачивать</a> в Search Console отчётность по своим AI-поверхностям: трафик и показы стало видно с учётом AI Overviews и AI Mode. До этого AI-клики были размазаны внутри общего веб-отчёта, и понять, сколько дал именно ИИ-ответ, было нельзя. Я полез смотреть и довольно быстро уткнулся в потолок.</p><p>Оказалось, что <strong>Search Console показывает только AI-поверхности самого Google</strong>. Ни ChatGPT, ни Perplexity, ни Claude, ни Алиса в него не попадают в принципе — они не Google. Если вы, как и я, хотите видеть весь AI-трафик, а не только гугловский, придётся идти в логи сервера. Ниже — что именно даёт новый отчёт, где у него слепые зоны и как я закрываю их парсером логов.</p> <a href="https://habr.com/ru/articles/1060928/?utm_campaign=1060928&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 11:58:42 GMT</pubDate>
      <dc:creator><![CDATA[ig_novvv]]></dc:creator>
      
      <category><![CDATA[AEO]]></category><category><![CDATA[GEO]]></category><category><![CDATA[AI-трафик]]></category><category><![CDATA[Search Console]]></category><category><![CDATA[серверные логи]]></category><category><![CDATA[GPTBot]]></category><category><![CDATA[ChatGPT]]></category><category><![CDATA[Perplexity]]></category><category><![CDATA[нейропоиск]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как красиво разложить граф на экране: метод Сугиямы по шагам]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060786/</guid>
      <link>https://habr.com/ru/articles/1060786/?utm_campaign=1060786&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/70b/db9/481/70bdb948141801762c7d57bc0cbde40b.jpg" /><p>Как красиво разложить граф из сотни связанных задач на экране: разбираем метод Сугиямы по фазам - от удаления циклов до маршрутизации рёбер в обход узлов.</p> <a href="https://habr.com/ru/articles/1060786/?utm_campaign=1060786&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 09:29:14 GMT</pubDate>
      <dc:creator><![CDATA[Depensee]]></dc:creator>
      
      <category><![CDATA[метод Сугиямы]]></category><category><![CDATA[теория графов]]></category><category><![CDATA[визуализация графов]]></category><category><![CDATA[graph drawing]]></category><category><![CDATA[раскладка графа]]></category><category><![CDATA[алгоритмы на графах]]></category><category><![CDATA[DAG]]></category><category><![CDATA[минимизация пересечений]]></category><category><![CDATA[критический путь]]></category><category><![CDATA[layout]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Своя GPT-like LLM по WH40K с нуля. Часть 3: pre-train LLM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060454/</guid>
      <link>https://habr.com/ru/articles/1060454/?utm_campaign=1060454&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ff5/f99/056/ff5f99056397615198f3119212f17e0f.png" /><p>Привет, Хабр! Меня зовут Владимир, и это третья часть цикла статей по написании и обучению небольшой decoder-only LLM с нуля. В <a href="https://habr.com/ru/articles/1056212/" rel="noopener noreferrer nofollow">первой части</a> мы обучили токенизатор и собрали pretrain-датасет, во <a href="https://habr.com/ru/articles/1056226/" rel="noopener noreferrer nofollow">второй части</a> реализовали класс Трансформер-блока. В этой части будем собирать и предобучать нашу LLM.</p> <a href="https://habr.com/ru/articles/1060454/?utm_campaign=1060454&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 06:11:21 GMT</pubDate>
      <dc:creator><![CDATA[GoldenGekko]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[gpt]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[transformers]]></category><category><![CDATA[nlp]]></category><category><![CDATA[python]]></category><category><![CDATA[pretraining]]></category><category><![CDATA[text generation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ассистент, а не агент: как спроектировать предсказуемую LLM-систему]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060648/</guid>
      <link>https://habr.com/ru/articles/1060648/?utm_campaign=1060648&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b5e/01f/e71/b5e01fe71c031a187ef1ffe4f5e42e98.jpg" /><p>Привет! Меня зовут Владимир Суворов, я Senior Data Scientist и core-разработчик open-source AutoML-фреймворка OutBoxML.</p><p>В <a href="https://habr.com/ru/articles/1035790/" rel="noopener noreferrer nofollow">прошлой статье</a> я разбирал четыре инженерных принципа, которые перенёс из расчётной механики в архитектуру ML-систем. Сегодня — про то, как спроектировать LLM-систему, которая надежно работает каждый день, не сжигает бюджет на токены и работает предсказуемо. Разберём на реальном примере: ассистенте, который сверяет входящий документ технического задания свободного формата со сводом документации и ставит комментарии наличии запрашиваемых пунктов в соотвествии с документацией.</p><p>Рассмотрим задачу по пяти пунктам:</p> <a href="https://habr.com/ru/articles/1060648/?utm_campaign=1060648&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 13:36:49 GMT</pubDate>
      <dc:creator><![CDATA[justsuvorov]]></dc:creator>
      
      <category><![CDATA[ии-ассистент]]></category><category><![CDATA[ии помощник]]></category><category><![CDATA[архитектура по]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Температурное поле круглой конфорки. Визуализация]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059636/</guid>
      <link>https://habr.com/ru/articles/1059636/?utm_campaign=1059636&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/801/74d/f5e/80174df5e0cd14778806add214991577.jpg" /><p>           В одной из предыдущих статей <a href="https://habr.com/p/1016120/" rel="noopener noreferrer nofollow">https://habr.com/p/1016120/</a> мы рассчитали температурное поле T(r, z, t)&nbsp;  круглой конфорки аналитическими методами. В этой статье мы сделаем его компьютерную визуализацию.</p> <a href="https://habr.com/ru/articles/1059636/?utm_campaign=1059636&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 12:05:53 GMT</pubDate>
      <dc:creator><![CDATA[Maximka200]]></dc:creator>
      
      <category><![CDATA[численные методы]]></category><category><![CDATA[численное интегрирование]]></category><category><![CDATA[численное моделирование]]></category><category><![CDATA[температура]]></category><category><![CDATA[python]]></category><category><![CDATA[визуализация]]></category><category><![CDATA[визуальное программирование]]></category><category><![CDATA[моделирование]]></category><category><![CDATA[физика]]></category><category><![CDATA[математика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Бот в MAX молчит: четыре грабли Bot API, на которых я потерял неделю]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060586/</guid>
      <link>https://habr.com/ru/articles/1060586/?utm_campaign=1060586&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9c8/421/5bf/9c84215bf4a12365fddbc23b41df9bf8.png" /><p>Синяя галочка есть. Ответа нет. Мой собственный бот в MAX игнорирует моё же сообщение: сервер отвечает 200 OK, в логах чисто, а человек на другом конце ничего не видит. Так начались четыре вечера отладки Bot API нового российского мессенджера — четыре грабли, которых нет в документации. Где живёт токен. Почему 404 на чат, в котором ты прямо сейчас переписываешься. Как молча испаряется webhook-подписка. И почему MAX не говорит, которому из твоих ботов написали. Собрал всё, чтобы следующему хватило получаса вместо недели.</p> <a href="https://habr.com/ru/articles/1060586/?utm_campaign=1060586&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 08:03:56 GMT</pubDate>
      <dc:creator><![CDATA[Denjam]]></dc:creator>
      
      <category><![CDATA[MAX]]></category><category><![CDATA[MAX Bot API]]></category><category><![CDATA[боты]]></category><category><![CDATA[чат-боты]]></category><category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[вебхуки]]></category><category><![CDATA[мессенджеры]]></category><category><![CDATA[мультиарендность]]></category><category><![CDATA[интеграция API]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Не отдам Gpick! Он хороший! Но крутить педали придётся…]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060500/</guid>
      <link>https://habr.com/ru/articles/1060500/?utm_campaign=1060500&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c04/d9e/b89/c04d9eb89f52f554c3fbd1df54dab1f3.png" /><p>Исторически лучший Gpick в&nbsp;KDE на&nbsp;Wayland остался без&nbsp;пипетки, а&nbsp;штатные kcolorpicker-ы повергают в&nbsp;печаль и&nbsp;уныние. Что делать? Велосипедить! Написал лёгкий Python-скрипт, дёргающий родной XDG-портал.</p><p><strong>UPD:</strong> Прокачал утилиту до&nbsp;полноценного комбайна&nbsp;— теперь она выдаёт чистые данные без&nbsp;префиксов, умеет копировать конкретные форматы (HEX, RGB, HSL) в&nbsp;буфер и&nbsp;идеально встаёт в&nbsp;любые shell-конвейеры и&nbsp;хоткеи. Больше велосипедов богу СПО!</p> <a href="https://habr.com/ru/articles/1060500/?utm_campaign=1060500&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 16:14:02 GMT</pubDate>
      <dc:creator><![CDATA[Assador]]></dc:creator>
      
      <category><![CDATA[wayland]]></category><category><![CDATA[colorpicker]]></category><category><![CDATA[xdg-desktop-portal]]></category><category><![CDATA[gpick]]></category><category><![CDATA[kde plasma]]></category><category><![CDATA[dbus]]></category><category><![CDATA[python]]></category><category><![CDATA[пипетка]]></category><category><![CDATA[выбор цвета]]></category><category><![CDATA[автоматизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Превращаем китайский домофон за 400 рублей в Telegram-звонок с фото и видео]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060478/</guid>
      <link>https://habr.com/ru/articles/1060478/?utm_campaign=1060478&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/139/129/b41/139129b4135bc678f8051226a21ed18a.webp" /><p>Несколько лет у меня лежал недорогой китайский видеодомофон <strong>Doorbell M8</strong>, работающий через приложение <strong>Ulooka</strong>. Покупал я его на одном из маркетплейсов примерно за 400 рублей — скорее из любопытства, чем из реальной необходимости.</p> <a href="https://habr.com/ru/articles/1060478/?utm_campaign=1060478&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 13:57:55 GMT</pubDate>
      <dc:creator><![CDATA[vaalimusic]]></dc:creator>
      
      <category><![CDATA[Doorbell M8]]></category><category><![CDATA[Ulooka]]></category><category><![CDATA[MikroTik]]></category><category><![CDATA[RouterOS]]></category><category><![CDATA[RTSP]]></category><category><![CDATA[Python]]></category><category><![CDATA[OpenCV]]></category><category><![CDATA[Telegram Bot API]]></category><category><![CDATA[умный дом]]></category><category><![CDATA[видеодомофон]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Вчера в отчёте было 12 480, сегодня 12 517: пять причин, по которым цифры за прошлый месяц продолжают меняться]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058824/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058824/?utm_campaign=1058824&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/220/9a1/aa5/2209a1aa5a04d98ef1c0aabb2963e6b0.png" /><p>Цифры за&nbsp;закрытый месяц внезапно меняются, а&nbsp;поиск причины превращается в&nbsp;разбор всего пайплайна&nbsp;— от&nbsp;загрузки событий до&nbsp;логики витрин.</p><p>В&nbsp;статье разбираем пять типовых сценариев, из‑за которых прошлое в&nbsp;отчётах продолжает «двигаться», и показываем, как&nbsp;сделать пересчёт данных предсказуемым. </p> <a href="https://habr.com/ru/articles/1058824/?utm_campaign=1058824&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 10:30:29 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[инкрементальная загрузка]]></category><category><![CDATA[витрины данных]]></category><category><![CDATA[опоздавшие события]]></category><category><![CDATA[идемпотентность]]></category><category><![CDATA[дедупликация]]></category><category><![CDATA[event time]]></category><category><![CDATA[ingested at]]></category><category><![CDATA[SCD]]></category><category><![CDATA[часовые пояса]]></category><category><![CDATA[пересчёт данных]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Harness кодинг‑агента: разобрал исходники Codex, OpenCode, Pi и свою собственную]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060250/</guid>
      <link>https://habr.com/ru/articles/1060250/?utm_campaign=1060250&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e20/72c/ab8/e2072cab8b0f9c4aaaace00d284af75c.jpg" /><p>Я собираю своего кодинг‑агента поверх моделей <strong>OpenAI</strong>. Базовый агентный цикл написал сам на <strong>Pydantic AI</strong>, и он быстро заработал. А потом начались сложные узлы: как сжимать распухший контекст, как не дать агенту делать заново уже сделанное, как понять, что он правда закончил, а не выдохся. На каждом таком узле я застревал и шёл смотреть, как это решают взрослые. Благо исходники <strong>Codex</strong>, <strong>OpenCode</strong> и <strong>Pi</strong> лежат открыто, а архитектуру <strong>Claude Code</strong> Anthropic описывает сама.</p><p>Оказалось, кодинг‑агенты различаются не моделью внутри и не списком фич на лендинге. Они различаются архитектурными ставками обвязки, и эти ставки видны прямо в коде. Дальше — разбор по ставкам, <strong>с примерами кода</strong>, и попытка понять, какие из этих ставок стоит закладывать всерьёз, а какие проживут до следующего сильного релиза модели.</p> <a href="https://habr.com/ru/articles/1060250/?utm_campaign=1060250&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 08:01:19 GMT</pubDate>
      <dc:creator><![CDATA[xonika9]]></dc:creator>
      
      <category><![CDATA[обвязка агента]]></category><category><![CDATA[harness]]></category><category><![CDATA[кодинг-агенты]]></category><category><![CDATA[Codex]]></category><category><![CDATA[OpenCode]]></category><category><![CDATA[Claude Code]]></category><category><![CDATA[агентный цикл]]></category><category><![CDATA[harness engineering]]></category><category><![CDATA[LLM]]></category><category><![CDATA[Pydantic AI]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Structured outputs, которые не работают: пять ситуаций, где схема есть, а гарантий нет]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058384/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058384/?utm_campaign=1058384&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ab7/9f0/c8e/ab79f0c8e13f03c3ce8f188faa69ac24.png" /><p>Strict‑режим включён, схема валидна, ответ успешно парсится&nbsp;— а&nbsp;в&nbsp;проде всё равно всплывают <code>None</code>, пропавшие ограничения и аргументы инструментов не&nbsp;тех типов. </p><p>В&nbsp;статье разберём пять ситуаций, где Structured Outputs создают ложное ощущение надёжности, и посмотрим, какие проверки действительно стоит добавить в&nbsp;LLM‑пайплайн. </p> <a href="https://habr.com/ru/articles/1058384/?utm_campaign=1058384&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 17 Jul 2026 19:15:16 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[структурированные ответы]]></category><category><![CDATA[JSON Schema]]></category><category><![CDATA[strict-режим]]></category><category><![CDATA[большие языковые модели]]></category><category><![CDATA[Pydantic]]></category><category><![CDATA[валидация данных]]></category><category><![CDATA[OpenAI API]]></category><category><![CDATA[вызов инструментов]]></category><category><![CDATA[ИИ-агенты]]></category><category><![CDATA[обработка ошибок]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мой личный джуниор. Бонус: аутентификация в Gradio и пользователи в Langfuse]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058784/</guid>
      <link>https://habr.com/ru/articles/1058784/?utm_campaign=1058784&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d97/702/13e/d9770213ef961cc020fc176f4321d9b9.png" /><p>Привет, Хабр! Меня зовут Владимир, и это внеплановое продолжение цикла про локального MCP-агента. <a href="https://habr.com/ru/articles/1043348/" rel="noopener noreferrer nofollow">В первых частях</a> мы собрали агента, научили его работать через LangGraph, добавили Gradio-интерфейс, чекпоинты и трассировку. </p><p>В этой статье я покажу как добавить аутентификацию в Gradio-интерфейс и как использовать её для упорядочивания трейсов в Langfuse и чекпоинтов в LangGraph.</p> <a href="https://habr.com/ru/articles/1058784/?utm_campaign=1058784&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 17 Jul 2026 05:47:59 GMT</pubDate>
      <dc:creator><![CDATA[GoldenGekko]]></dc:creator>
      
      <category><![CDATA[langgraph]]></category><category><![CDATA[langfuse]]></category><category><![CDATA[gradio]]></category><category><![CDATA[mcp]]></category><category><![CDATA[python]]></category><category><![CDATA[agent]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сегодня я для себя открыл: Pony ORM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056970/</guid>
      <link>https://habr.com/ru/articles/1056970/?utm_campaign=1056970&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a09/8dc/834/a098dc834e800d6f4b687f7ba2729eee.png" /><p>Читатели хабра знают меня как автора статей о django. Например, в предыдущем посте я писал о том, как собирался переписывать django на async/await. Кстати, <a href="https://github.com/django-async-experiments" rel="noopener noreferrer nofollow">первые эксперименты</a> подтвердили, что подход рабочий, и что django отлично поддаётся переписыванию. А также - что он хорошо расширяем и содержит код высокого качества.</p><p>Однако, я пришёл к выводу, что несмотря на эти достоинства, django сильно уступает <a href="https://ponyorm.org/" rel="noopener noreferrer nofollow">Pony ORM</a>, которая, в отличие от django и других ORM, ещё и спроектирована правильно - способом, дружественным к оптимизациям. Не случайно в статьях, которые есть о ней на хабре, её хвалят именно за производительность.</p><p>В этой статье речь пойдёт о Pony ORM, но не о фичах для пользователя, которых много (о которых можно узнать в этих видео <a href="https://www.youtube.com/watch?v=k8ibmS4yvDU" rel="noopener noreferrer nofollow">1</a>, <a href="https://www.youtube.com/watch?v=w3Mj54BZLkc&amp;t=1s" rel="noopener noreferrer nofollow">2</a>), а о её внутренней архитектуре.</p> <a href="https://habr.com/ru/articles/1056970/?utm_campaign=1056970&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 21:41:23 GMT</pubDate>
      <dc:creator><![CDATA[abetkin]]></dc:creator>
      
      <category><![CDATA[orm]]></category><category><![CDATA[ponyorm]]></category><category><![CDATA[sessions]]></category><category><![CDATA[caching]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Летняя встреча Go-сообщества: системное и embedded-программирование]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yadro/articles/1059750/</guid>
      <link>https://habr.com/ru/companies/yadro/articles/1059750/?utm_campaign=1059750&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7e4/f06/9f3/7e4f069f34ad6e57ae6bbef70ec801d2.png" /><p>Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся в Москве и онлайн на встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — <a href="https://meetups.yadro.com/go-msk-0726/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=go_meetup_2026&amp;utm_content=go_summer_meet_160726&amp;utm_referrer=habr.com">подключайтесь</a> к трансляции и слушайте тех, кто работает с Go каждый день.</p> <a href="https://habr.com/ru/articles/1059750/?utm_campaign=1059750&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Отменяем summertime sadness</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 12:07:16 GMT</pubDate>
      <dc:creator><![CDATA[yadro_team (YADRO)]]></dc:creator>
      
      <category><![CDATA[go]]></category><category><![CDATA[системное программирование]]></category><category><![CDATA[разработка на go]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему «чем проще, тем лучше» не работает на ИИ-классификаторе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059444/</guid>
      <link>https://habr.com/ru/articles/1059444/?utm_campaign=1059444&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a86/b2d/31e/a86b2d31e7842ffd502a7a2a7d4d70f8.png" /><p>Обучил multi-label классификатор на 15 классов для модерации Discord-сообщества, получил micro F1 = 0.9358 — цифра, с которой можно закрывать задачу и не разбираться дальше. Но стоило посмотреть на precision и recall по каждому классу отдельно, как выяснилось: recall на TOXIC — около 0.78, а для части редких меток test split вообще не подтверждает качество — положительных примеров там почти нет. Разбираю на реальных цифрах и коде: почему агрегированная метрика такое скрывает, как считать вес классов через pos_weight при сильном дисбалансе, почему checkpoint стоит выбирать по macro F1, а не по training loss, и где принцип «чем проще — тем лучше» перестаёт работать при оценке качества классификатора.</p> <a href="https://habr.com/ru/articles/1059444/?utm_campaign=1059444&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Подробнее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 10:00:43 GMT</pubDate>
      <dc:creator><![CDATA[6oT9lpa]]></dc:creator>
      
      <category><![CDATA[machine learning]]></category><category><![CDATA[multi-label classification]]></category><category><![CDATA[ruBERT]]></category><category><![CDATA[class imbalance]]></category><category><![CDATA[nlp]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[bert]]></category><category><![CDATA[text classification]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[4 ошибки в A/B‑тестах, из‑за которых случайный шум выглядит как эффект]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058818/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058818/?utm_campaign=1058818&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bbd/754/67f/bbd75467fa1e5902e71d55535003c8c7.png" /><p>Сплиттер работает корректно, метрика посчитана, а&nbsp;p‑value уверенно опустился ниже 0,05&nbsp;— результат кажется готовым к&nbsp;раскатке. Однако ошибка в&nbsp;оценке дисперсии способна превратить случайное различие в&nbsp;статистически значимое. </p><p>В&nbsp;этой статье разберём четыре типовых сценария, в&nbsp;которых тест подтверждает эффект, которого в&nbsp;данных нет, и посмотрим, как&nbsp;исправить расчёты.</p> <a href="https://habr.com/ru/articles/1058818/?utm_campaign=1058818&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:20:35 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[А Б тестирование]]></category><category><![CDATA[статистическая значимость]]></category><category><![CDATA[пи значение]]></category><category><![CDATA[дисперсия]]></category><category><![CDATA[доверительный интервал]]></category><category><![CDATA[ошибка первого рода]]></category><category><![CDATA[дельта метод]]></category><category><![CDATA[бутстрэп]]></category><category><![CDATA[CUPED]]></category><category><![CDATA[А А тест]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Книга: «Думай как аналитик. Статистика и данные с примерами на Python. 3-е изд.»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/1058582/</guid>
      <link>https://habr.com/ru/companies/piter/articles/1058582/?utm_campaign=1058582&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8c1/7e8/ae6/8c17e8ae6875abb01fde65b2eba34275.jpg" /><p>Привет, Хаброжители! Умение писать код — это все, что нужно, чтобы извлекать из данных ценные выводы и находить ответы на сложные вопросы. В этом полностью переработанном издании статистические концепции представлены не в виде громоздких математических формул, а как стройный вычислительный процесс на языке Python. На практических примерах с использованием реальных датасетов изучите весь цикл разведочного анализа данных — от первичной обработки данных и подсчета статистик до выявления закономерностей и проверки гипотез. </p> <a href="https://habr.com/ru/articles/1058582/?utm_campaign=1058582&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:13:19 GMT</pubDate>
      <dc:creator><![CDATA[ph_piter (Издательский дом «Питер»)]]></dc:creator>
      
      <category><![CDATA[аналитик данных]]></category><category><![CDATA[статистика]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Собираем 3D-сканер комнаты из телефона, SAM, CLIP и DINOv2]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/articles/1055164/</guid>
      <link>https://habr.com/ru/companies/timeweb/articles/1055164/?utm_campaign=1055164&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4af/de4/e1d/4afde4e1d762a5445cc266f12b895bc9.jpg" /><p>Привет, «Хабр»! Представляю вашему вниманию практическое руководство по созданию умной 3D-модели комнаты из обычного видео на телефоне.</p><p>Что делать, если нужно спроектировать мебель для комнаты, но жутко не хочется возиться с рулеткой и делать замеры вручную? Можно взять смартфон, наспех отснять пространство и позволить алгоритмам сделать всю рутину за вас. В статье подробно описывается, как вдохнуть семантический смысл в облако точек, масштабировать его под реальные метры и получить чертеж, не обучив при этом ни одной нейросети.</p><p>Нейросети в процессе не обучались заново, в ход идут готовые модели – SAM, CLIP и DINOv2. Весь фокус в том, как их правильно оркестровать.</p> <a href="https://habr.com/ru/articles/1055164/?utm_campaign=1055164&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:06:34 GMT</pubDate>
      <dc:creator><![CDATA[ZheleznyChel (Timeweb Cloud)]]></dc:creator>
      
      <category>3D-сканирование</category><category>фотограмметрия</category><category>SAM</category><category>CLIP</category><category>DINOv2</category><category>NumPy</category><category>timeweb_статьи_перевод</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058816/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058816/?utm_campaign=1058816&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4f7/c2c/8aa/4f7c2c8aab352f5eaf138f514708f726.png" /><p>Вызов LLM легко принять за&nbsp;обычную функцию&nbsp;— пока код не&nbsp;сталкивается с&nbsp;квотами, тайм‑аутами, повторными списаниями и плавающими результатами. </p><p>В&nbsp;статье разбираем пять типичных ошибок в&nbsp;Python‑коде вокруг языковых моделей и показываем, какие инженерные привычки помогают пережить реальную нагрузку без&nbsp;сюрпризов в&nbsp;продакшене. </p> <a href="https://habr.com/ru/articles/1058816/?utm_campaign=1058816&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 20:05:42 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[LLM]]></category><category><![CDATA[API языковых моделей]]></category><category><![CDATA[асинхронные запросы]]></category><category><![CDATA[ограничение конкурентности]]></category><category><![CDATA[повторные запросы]]></category><category><![CDATA[недетерминизм]]></category><category><![CDATA[тестирование LLM]]></category><category><![CDATA[управление контекстом]]></category><category><![CDATA[подсчёт токенов.]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[pkg-cache — простой локальный кеш пакетов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059574/</guid>
      <link>https://habr.com/ru/articles/1059574/?utm_campaign=1059574&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e10/7ba/7d6/e107ba7d65901d0b1eec0325fd8541c2.png" /><p>Пример реализации простого кэширующего прокси для пакетов npm, composer и pip на базе node.js для Windows и Linux.</p> <a href="https://habr.com/ru/articles/1059574/?utm_campaign=1059574&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 16:08:47 GMT</pubDate>
      <dc:creator><![CDATA[agb2008]]></dc:creator>
      
      <category><![CDATA[кеширующий прокси]]></category><category><![CDATA[npm-пакеты]]></category><category><![CDATA[composer пакеты]]></category><category><![CDATA[pip]]></category><category><![CDATA[разработка программного обеспечения]]></category><category><![CDATA[offline]]></category><category><![CDATA[оптимизация рабочего времени]]></category><category><![CDATA[node.js]]></category><category><![CDATA[opencode]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Domain-routed agents vs naive RAG: экономика и риски архитектурного выбора]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059564/</guid>
      <link>https://habr.com/ru/articles/1059564/?utm_campaign=1059564&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7b3/4ef/aa6/7b34efaa6e181bff83c37b7e8fc66211.jpg" /><p>Классический RAG хорошо ищет отдельные факты, но может пропускать исключения и связи между разными разделами документации. Я проверил альтернативный подход: мультиагентный граф, в котором роутер направляет запрос экспертам по отдельным доменам знаний.</p><p>В статье — архитектура на LangGraph, сравнение с наивным RAG на датасете из 40 вопросов, метрики качества, задержки и стоимость запросов. А главное — разбор, когда дорогой в эксплуатации агент может оказаться выгоднее дешёвого RAG за счёт экономии инженерного времени.</p> <a href="https://habr.com/ru/articles/1059564/?utm_campaign=1059564&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 15:56:53 GMT</pubDate>
      <dc:creator><![CDATA[snakerzr]]></dc:creator>
      
      <category><![CDATA[RAG]]></category><category><![CDATA[LangGraph]]></category><category><![CDATA[агенты]]></category><category><![CDATA[мультиагентные системы]]></category><category><![CDATA[ИИ]]></category><category><![CDATA[Python]]></category><category><![CDATA[архитектура]]></category><category><![CDATA[NLP]]></category><category><![CDATA[LLM]]></category><category><![CDATA[llm-архитектура]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Магнитное поле постоянного магнита]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059416/</guid>
      <link>https://habr.com/ru/articles/1059416/?utm_campaign=1059416&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ef7/554/a6c/ef7554a6c349b1f37deac0671475dd5a.png" /><p>         Рассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B&nbsp;в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.</p> <a href="https://habr.com/ru/articles/1059416/?utm_campaign=1059416&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 11:30:35 GMT</pubDate>
      <dc:creator><![CDATA[Maximka200]]></dc:creator>
      
      <category><![CDATA[физика]]></category><category><![CDATA[python]]></category><category><![CDATA[моделирование]]></category><category><![CDATA[магнитное поле]]></category><category><![CDATA[постоянный магнит]]></category><category><![CDATA[математическое моделирование]]></category><category><![CDATA[математика]]></category><category><![CDATA[математика и реальная жизнь]]></category><category><![CDATA[математический анализ]]></category><category><![CDATA[математика и физика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Обучаем ИИ видеть то, чего он никогда не видел]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ruvds/articles/1056044/</guid>
      <link>https://habr.com/ru/companies/ruvds/articles/1056044/?utm_campaign=1056044&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9f7/0ed/59f/9f70ed59f6a753f18beb53f4182b983f.png" /><p>Задача обнаружения объектов на изображении не нова, подходов к её решению существует масса. Вероятно, самым популярным и известным среди них будет <strong>YOLO</strong>. Появившись в 2015 году, эта серия систем по сей день используется, когда хочется сделать детекцию быстро, без долгих экспериментов с архитектурой.</p><p>Однако, какой бы ни была архитектура, все их объединяет одна и та же проблема — данные. Для полноценного обучения нужны сотни и тысячи изображений, с разных ракурсов, в разных условиях. Если цель — академический проект, обнаружение машин или колосков пшеницы, то найти датасет не составляет проблем. Но что, если датасета нет и/или его невозможно собрать в принципе в нужном объеме? Скажем, редкий дефект в производстве, истребитель новой конструкции? Ждать, пока накопится много брака, или надеяться на утечку чертежей?</p><p>Мы провели пару экспериментов с моделью <strong>YOLO</strong> для проверки гипотезы: <strong><em>как далеко можно уехать, используя исключительно синтетические данные?</em></strong></p> <a href="https://habr.com/ru/articles/1056044/?utm_campaign=1056044&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Ознакомиться</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 09:01:22 GMT</pubDate>
      <dc:creator><![CDATA[daniilgorbenko (RUVDS.com)]]></dc:creator>
      
      <category><![CDATA[yolov8]]></category><category><![CDATA[yolo]]></category><category><![CDATA[компьютерное зрение]]></category><category><![CDATA[машинное обучение]]></category><category><![CDATA[cv]]></category><category><![CDATA[ruvds_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059306/</guid>
      <link>https://habr.com/ru/articles/1059306/?utm_campaign=1059306&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5e3/8a2/76f/5e38a276f4ab871348d3f6f2ec933dd1.png" /><p>Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, логи — в третьем, а за уведомления о стримах отвечал отдельный бот.</p> <a href="https://habr.com/ru/articles/1059306/?utm_campaign=1059306&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Подробнее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 07:46:14 GMT</pubDate>
      <dc:creator><![CDATA[6oT9lpa]]></dc:creator>
      
      <category><![CDATA[Discord]]></category><category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[ruBERT]]></category><category><![CDATA[NLP]]></category><category><![CDATA[модерация]]></category><category><![CDATA[Discord Activity]]></category><category><![CDATA[ai]]></category><category><![CDATA[ai moderation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Перенёс ByteTrack на GPU и ускорил мульти-камерный трекинг в 6 раз]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059236/</guid>
      <link>https://habr.com/ru/articles/1059236/?utm_campaign=1059236&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f5e/93c/91c/f5e93c91ca32d6891ea41c07e2f91b2a.png" /><p>GPU-версия ByteTrack, где математика всех камер считается общими батчами: один вызов на все потоки вместо трекера-на-камеру. На 16 потоках это ускоряет трекинг в 6 раз (104 → 17 мс/кадр на RTX 4090). А за первой, «наивной» версией пряталось всего 1.2x — почему, показали три антипаттерна PyTorch, на которых легко застрять и вне трекинга: GPU-вызовы в цикле, заливка кадров на 1.6 ГБ/с вместо 25, и FP16, который тихо съедал по 300 мс на кадре. Все цифры воспроизводимы, есть сравнение с NVIDIA DeepStream и открытый код.</p> <a href="https://habr.com/ru/articles/1059236/?utm_campaign=1059236&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 06:00:02 GMT</pubDate>
      <dc:creator><![CDATA[sweetlhare]]></dc:creator>
      
      <category><![CDATA[ByteTrack]]></category><category><![CDATA[трекинг объектов]]></category><category><![CDATA[multi-object tracking]]></category><category><![CDATA[GPU]]></category><category><![CDATA[PyTorch]]></category><category><![CDATA[ReID]]></category><category><![CDATA[компьютерное зрение]]></category><category><![CDATA[оптимизация производительности]]></category><category><![CDATA[CUDA]]></category><category><![CDATA[видеоаналитика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059218/</guid>
      <link>https://habr.com/ru/articles/1059218/?utm_campaign=1059218&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0ed/779/6ab/0ed7796ab0c84c422d221c92df2791bc.png" /><p>Claude Code, Codex, Gemini CLI — мощные штуки. Но живут они в терминале: вы открываете окно, печатаете задачу, смотрите, как агент думает, лезет в файлы, гоняет тесты. Для человека — отлично. А теперь представьте, что в это кресло перед терминалом нужно посадить не человека, а <strong>вашу программу</strong>: чтобы она сама ставила агенту задачу, видела каждый его шаг и могла остановить опасное действие до того, как оно случится.</p><p>Вот тут и начинается ACP — протокол, который позволяет любому коду управлять CLI-агентом.</p> <a href="https://habr.com/ru/articles/1059218/?utm_campaign=1059218&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Смотреть, кто за рулём</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 05:10:56 GMT</pubDate>
      <dc:creator><![CDATA[vvlrff]]></dc:creator>
      
      <category><![CDATA[ACP]]></category><category><![CDATA[claude]]></category><category><![CDATA[claude-code]]></category><category><![CDATA[ag2]]></category><category><![CDATA[autogen]]></category><category><![CDATA[codex]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059062/</guid>
      <link>https://habr.com/ru/articles/1059062/?utm_campaign=1059062&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c85/d9e/527/c85d9e527b838ebded39ecb0240420dd.jpg" /><p><strong>💾 MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций</strong></p><p>Когда строишь эмулятор для проверки торговой стратегии 20 акций на 25 лет исторических данных поминутно, выбор хранилища становится архитектурной задачей. В статье разобрал, почему попытка использовать MinIO не оправдала себя, где упирается MongoDB и как PostgreSQL с Pgpool-II и read-репликами сократил время чтения одной свечи с 40мс до 10мс</p> <a href="https://habr.com/ru/articles/1059062/?utm_campaign=1059062&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 13:12:37 GMT</pubDate>
      <dc:creator><![CDATA[tripolskypetr]]></dc:creator>
      
      <category><![CDATA[minio]]></category><category><![CDATA[s3]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[postgres]]></category><category><![CDATA[postgres pro]]></category><category><![CDATA[mongodb]]></category><category><![CDATA[mongodb sharding]]></category><category><![CDATA[atlas]]></category><category><![CDATA[redis]]></category><category><![CDATA[memcache]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мой FullMute эволюционировал за время]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058920/</guid>
      <link>https://habr.com/ru/articles/1058920/?utm_campaign=1058920&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a39/aeb/544/a39aeb544d7b00e32979c32c240435aa.jpg" /><p>Привет, Хабр! Прошло достаточно много времени с написания моей первой статьи о сканере, который принёс мне выплату в багбаунти. Кто не знает, его суть в получении технологий на сайте, после чего проверки на CVE в массовом обличье. Сегодня я бы хотел рассказать о том, как он эволюционировал, какие были исправления и новшества.</p> <a href="https://habr.com/ru/articles/1058920/?utm_campaign=1058920&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 08:39:19 GMT</pubDate>
      <dc:creator><![CDATA[KaRaKlA]]></dc:creator>
      
      <category><![CDATA[scanner]]></category><category><![CDATA[pentest]]></category><category><![CDATA[recon]]></category><category><![CDATA[develop]]></category><category><![CDATA[github]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
