{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Yuriy Gavrilov: posts tagged AI",
    "_rss_description": "Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov",
    "_rss_language": "en",
    "_itunes_email": "yvgavrilov@gmail.com",
    "_itunes_categories_xml": "",
    "_itunes_image": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic-square@2x.jpg?1643451008",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/gavrilov.info\/tags\/ai\/",
    "feed_url": "https:\/\/gavrilov.info\/tags\/ai\/json\/",
    "icon": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008",
    "authors": [
        {
            "name": "Yuriy Gavrilov - B[u]g - for charity.gavrilov.eth",
            "url": "https:\/\/gavrilov.info\/",
            "avatar": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008"
        }
    ],
    "items": [
        {
            "id": "321",
            "url": "https:\/\/gavrilov.info\/all\/deystvitelno-li-dannye-gotovy-k-ii\/",
            "title": "Действительно ли данные готовы к ИИ",
            "content_html": "<p><b>Автор: Джейкоб Мэтсон<\/b><\/p>\n<p><a href=\"https:\/\/motherduck.com\/blog\/bird-bench-and-data-models\">https:\/\/motherduck.com\/blog\/bird-bench-and-data-models<\/a><\/p>\n<p>Несколько месяцев назад я писал о том, почему нам может <a href=\"https:\/\/motherduck.com\/blog\/who-needs-a-semantic-layer-anyway\">не понадобиться семантический слой<\/a>. Аргумент заключался в том, что ИИ может обнаруживать бизнес-логику из истории запросов, вместо того чтобы заставлять людей заранее определять каждую метрику. Я верил в это. Но у меня не было данных, чтобы это доказать.<\/p>\n<p>Теперь они у меня есть.<\/p>\n<p>Все началось с вопроса одного из наших инвесторов: *“Как различные модели справляются с BIRD при использовании MotherDuck MCP?”* Поэтому я провел эксперимент. Три передовые LLM модели (`Claude Opus 4.5`, `GPT-5.2` и `Gemini 3 Flash`), каждая из которых подключена к базе данных через сервер `MotherDuck MCP`, были запущены на наборе данных `BIRD Mini-Dev`.<\/p>\n<blockquote>\n<p><b>Пояснение:<\/b><\/p>\n<ul>\n<li>MCP (Model Context Protocol):** Стандарт, позволяющий ИИ-моделям безопасно и стандартизировано подключаться к внешним источникам данных и инструментам.<\/li>\n<li>BIRD (BIg Bench for Large-scale Database Grounded Text-to-SQL):** Популярный и сложный бенчмарк (набор тестов) для оценки того, насколько хорошо нейросети умеют переводить естественный язык в SQL-запросы.<\/li>\n<li>Mini-Dev:** Это официальная выборка из 500 вопросов для разработки из бенчмарка BIRD. Она охватывает 11 баз данных в сферах финансов, спорта, образования и здравоохранения.<\/li>\n<\/ul>\n<\/blockquote>\n<p>Модели данных здесь простые. В среднем 7 таблиц на базу данных. Ни в одной нет больше 13 таблиц. Объединения (joins) в основном «один-ко-многим», максимальная глубина — два или три перехода, ноль отношений «многие-ко-многим». Это тот тип схемы, который можно понять за пять минут, прочитав `DDL`.<\/p>\n<blockquote>\n<p><b>Пояснение:<\/b> `DDL` (Data Definition Language) — это часть SQL, используемая для описания структуры базы данных (создание таблиц, колонок, связей).<\/p>\n<\/blockquote>\n<p>Результат? <b>95% точности.<\/b> Никакого семантического слоя. Никакой истории запросов. Никакого специального контекста. Только схема базы данных.<\/p>\n<p>Но это число требует «звездочки» (примечания), и, честно говоря, эта звездочка — самая интересная часть.<\/p>\n<h3>Что на самом деле означают 95%<\/h3>\n<p>Вот что я измерял на самом деле.<\/p>\n<p>Бенчмарк BIRD оценивает точность, используя <b>Execution Accuracy (EX)<\/b>: запускается предсказанный SQL и «золотой» (эталонный) SQL, сравниваются наборы результатов, и ставится бинарная оценка «сдал\/не сдал». При этих строгих правилах текущий уровень развития технологий (SOTA) составляет около 76. Мои модели набрали 64 на тренировочной выборке и 58 на тестовой.<\/p>\n<p>Звучит плохо. Но у строгой оценки BIRD есть хорошо задокументированная проблема. В статье 2025 года, представляющей метрику `FLEX`, было обнаружено, что точность выполнения (execution accuracy) BIRD совпадает с оценками экспертов-людей только в 62% случаев. Почти 4 из 10 суждений ошибочны, в основном это ложноотрицательные результаты, когда бенчмарк отвергает ответы, которые люди бы приняли.<\/p>\n<p>Эти 62 бросились мне в глаза, потому что они почти точно совпадают с моей смешанной точностью при строгой оценке в 60.5 (64 обучение \/ 58 тест). То же наблюдение, но с другой стороны. Метрика `FLEX` пришла к этому с помощью проверяющих людей. Я пришел к этому, ослабив условия тестирования.<\/p>\n<p>Подумайте, что это значит для таблицы лидеров. Если бенчмарк согласен с людьми только в 62 случаев, то чтобы набрать выше 62 по строгим правилам, вы должны начать воспроизводить ошибки бенчмарка. Вы перестаете учиться писать правильный SQL. Вы начинаете учиться соответствовать специфической, иногда ошибочной интерпретации каждого вопроса в BIRD. Системы с рейтингом 76 закрепили эти ошибки суждения в своем обучении. Они получают более высокие баллы, становясь *хуже* в выполнении реальной задачи.<\/p>\n<p>Поэтому я построил более реалистичную оценку. Я разделил 500 вопросов на тренировочный набор (151 вопрос) и тестовый набор (349 вопросов).<\/p>\n<p>Я использовал <b>тренировочный набор (train)<\/b> для калибровки оценки: вручную пересматривал ошибки, создавал исправленные «платиновые» ответы там, где «золотой» SQL BIRD был ошибочным, и настраивал правила частичного совпадения. <b>Тестовый набор (test)<\/b> был контрольным.<\/p>\n<p>Вот как выглядит точность, если смягчать критерии оценки уровень за уровнем:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">Уровень оценки (Scoring Tier)<\/td>\n<td style=\"text-align: center\">Train<\/td>\n<td style=\"text-align: center\">Test<\/td>\n<td style=\"text-align: center\">Что добавляется<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Только совпадение с Gold<\/b> (≈ офиц. BIRD)<\/td>\n<td style=\"text-align: center\">64.0<\/td>\n<td style=\"text-align: center\">58.2<\/td>\n<td style=\"text-align: center\">Строгое равенство наборов результатов<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>+ Платиновые ответы<\/b><\/td>\n<td style=\"text-align: center\">73.1<\/td>\n<td style=\"text-align: center\">58.5<\/td>\n<td style=\"text-align: center\">Исправляет известные ошибки в «золотом» SQL BIRD (см. примечание ниже)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>+ Допуск форматирования<\/b><\/td>\n<td style=\"text-align: center\">78.8<\/td>\n<td style=\"text-align: center\">65.5<\/td>\n<td style=\"text-align: center\">Различия в `DISTINCT`, лишние колонки, округление<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>+ Судья LLM<\/b><\/td>\n<td style=\"text-align: center\">94.9<\/td>\n<td style=\"text-align: center\">94.4<\/td>\n<td style=\"text-align: center\">“Принял бы человек этот ответ?”<\/td>\n<\/tr>\n<\/table>\n<blockquote>\n<p><b>Примечание:<\/b> «Платиновые» исправления существуют только для тренировочного набора, так как я вручную проверил эти 151 вопрос. Вот почему уровень «Платина» почти не меняется на тесте +0.3 pp против +9.1 pp на тренировке). Но посмотрите на уровень с судьей: 94.9 на тренировке и 94.4 на тесте. Разница всего в половину процентного пункта. Оценка держится на контрольной выборке даже без моих исправлений вручную.<\/p>\n<\/blockquote>\n<h4>Результаты тренировочной выборки (151 вопрос, все 3 модели):<\/h4>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">Модель<\/td>\n<td style=\"text-align: center\">STRICT (≈ BIRD EX)<\/td>\n<td style=\"text-align: center\">REALISTIC<\/td>\n<td style=\"text-align: center\">Общая стоимость<\/td>\n<td style=\"text-align: center\">Вызовы инструментов (P5 \/ Median \/ P95)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`Gemini 3 Flash`<\/td>\n<td style=\"text-align: center\">68.2<\/td>\n<td style=\"text-align: center\">94.0<\/td>\n<td style=\"text-align: center\">1.80<\/td>\n<td style=\"text-align: center\">3 \/ 6 \/ 9<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`Claude Opus 4.5`<\/td>\n<td style=\"text-align: center\">64.9<\/td>\n<td style=\"text-align: center\">95.4<\/td>\n<td style=\"text-align: center\">26.37<\/td>\n<td style=\"text-align: center\">4 \/ 6 \/ 9<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`GPT-5.2`<\/td>\n<td style=\"text-align: center\">58.9<\/td>\n<td style=\"text-align: center\">95.4<\/td>\n<td style=\"text-align: center\">6.87<\/td>\n<td style=\"text-align: center\">4 \/ 7 \/ 12<\/td>\n<\/tr>\n<\/table>\n<h4>Результаты тестовой выборки (349 вопросов, 2 модели):<\/h4>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">Модель<\/td>\n<td style=\"text-align: center\">STRICT (≈ BIRD EX)<\/td>\n<td style=\"text-align: center\">REALISTIC<\/td>\n<td style=\"text-align: center\">Общая стоимость<\/td>\n<td style=\"text-align: center\">Вызовы инструментов (P5 \/ Median \/ P95)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`Gemini 3 Flash`<\/td>\n<td style=\"text-align: center\">60.7<\/td>\n<td style=\"text-align: center\">94.6<\/td>\n<td style=\"text-align: center\">3.96<\/td>\n<td style=\"text-align: center\">4 \/ 6 \/ 9<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`GPT-5.2`<\/td>\n<td style=\"text-align: center\">55.6<\/td>\n<td style=\"text-align: center\">94.3<\/td>\n<td style=\"text-align: center\">15.32<\/td>\n<td style=\"text-align: center\">4 \/ 7 \/ 11<\/td>\n<\/tr>\n<\/table>\n<blockquote>\n<p>*Примечание: `Claude Opus` не запускался на тестовом наборе. После того как все три модели сошлись на ~95% на тренировке, тратить еще 60+, чтобы доказать то же самое на 349 вопросах, показалось нецелесообразным.*<\/p>\n<\/blockquote>\n<p>Медианная модель делает 6-7 вызовов инструментов MCP на вопрос при лимите в 10 итераций. Типичный вопрос выглядит так: изучить схему, просмотреть некоторые колонки, набросать запрос, проверить результаты, уточнить, готово. Некоторые модели, такие как `GPT-5.2`, делают несколько вызовов инструментов за итерацию, поэтому его показатель P95, равный 12, превышает лимит итераций.<\/p>\n<p>Все три модели достигают <b>94-95% при реалистичной оценке<\/b>, независимо от того, где они начинают при строгой оценке. На тренировочной выборке разрыв между «лучшим» и «худшим» сокращается с 12.6 процентных пунктов до 1.4. На тесте — с 5.1 до 0.3. Берите любую передовую модель.<\/p>\n<h3>Бенчмарк иногда ошибается<\/h3>\n<p>BIRD — хороший бенчмарк. Но в нем есть баги. Только в тренировочном наборе (151 вопрос) я нашел 49 случаев, где «золотой» SQL явно неверен. Я не проверял вручную тестовый набор, поэтому реальное число для всех 500 вопросов, вероятно, выше.<\/p>\n<p>Вот пример, который мне запомнился. Вопрос просит список школ, чей совокупный балл превышает 1500. «Золотой» SQL проверяет `count` (количество) студентов, набравших более 1500 баллов. Совершенно другой запрос, совершенно другой ответ. Вы читаете вопрос, читаете «правильный» ответ и думаете: подождите, но спрашивали-то не об этом.<\/p>\n<p>Я создал исправленные «платиновые» ответы для этих случаев. В среднем около 14 из 151 вопроса тренировочной выборки для каждой модели совпали с платиновым ответом вместо золотого, добавив 9.1 процентных пунктов.<\/p>\n<h3>Людей не волнует форматирование<\/h3>\n<p>На тренировочной выборке еще +5.7 pp получается за счет принятия результатов, которые верны по существу, но не проходят проверку на строгое равенство:<\/p>\n<ul>\n<li><b>Лишние колонки (30 случаев):<\/b> Модель вернула запрошенные данные плюс дополнительный контекст. Человек сказал бы «спасибо, это полезно». Бенчмарк говорит «провал».<\/li>\n<li><b>Несовпадения `DISTINCT` (41 случай):<\/b> Модель использовала `SELECT DISTINCT`, когда в золотом ответе этого не было, или наоборот. Уникальные значения совпадают идеально. Человек бы даже не заметил.<\/li>\n<li><b>Различия в округлении (3 случая):<\/b> Золотой ответ 24.67, ответ модели 24.6667. То же число, разная точность.<\/li>\n<\/ul>\n<p>Ни один из этих ответов не является неверным. Это различия в форматировании, которые важны только для функции сравнения строк.<\/p>\n<h3>Человек (LLM)-в-петле (The LLM-in-the-Loop)<\/h3>\n<p>Оставшийся разрыв (16 pp на тренировке, 29 pp на тесте) закрывается <b>судьей LLM<\/b>. Я использовал `Gemini 3 Flash` для проверки каждого «проваленного» ответа с вопросом: *действительно ли этот SQL отвечает на вопрос?*<\/p>\n<p>На тестовой выборке судья выполняет больше тяжелой работы, потому что там нет «платиновых» исправлений для предварительного отлова багов бенчмарка. Что именно он спасал?<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">Причина<\/td>\n<td style=\"text-align: center\">Кол-во<\/td>\n<td style=\"text-align: center\">Что произошло<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Больше отфильтровано<\/b> (Missing rows)<\/td>\n<td style=\"text-align: center\">57<\/td>\n<td style=\"text-align: center\">Модель отфильтровала строже, чем золотой стандарт, но это обоснованно.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Лишние строки<\/b> (Extra rows)<\/td>\n<td style=\"text-align: center\">33<\/td>\n<td style=\"text-align: center\">Модель интерпретировала вопрос более широко.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Близкие значения<\/b> (Values close)<\/td>\n<td style=\"text-align: center\">19<\/td>\n<td style=\"text-align: center\">Числовые результаты в пределах допуска.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Пустой результат<\/b><\/td>\n<td style=\"text-align: center\">14<\/td>\n<td style=\"text-align: center\">Модель ничего не вернула, но логика была верной (данных нет).<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Пропущенные колонки<\/b><\/td>\n<td style=\"text-align: center\">11<\/td>\n<td style=\"text-align: center\">Возвращено меньше колонок, но ответ на вопрос дан.<\/td>\n<\/tr>\n<\/table>\n<p>Это оценочные суждения. Должен ли запрос «перечислите все школы в районе» включать чартерные школы? Разумные люди могут не согласиться. Строгий бенчмарк выбирает одну интерпретацию и наказывает за все остальные. Судья просто спрашивает, можно ли обосновать интерпретацию модели.<\/p>\n<p>Если вы создаете ИИ-аналитику, это важно. Никто не выпускает продукт text-to-SQL, где пользователь видит сырые результаты без этапа проверки. Всегда есть человек или LLM, проверяющий выходные данные. Эти 94-95% отражают то, как эти продукты работают на самом деле. 58-64% отражают то, как работают бенчмарки.<\/p>\n<h3>А как насчет контекста?<\/h3>\n<p>Вы могли бы ожидать, что дополнительный контекст поможет. Комментарии к колонкам, описания, подсказки о значении данных. Это интуиция, лежащая в основе семантических слоев и механизмов контекста.<\/p>\n<p>Я протестировал это. Те же 500 вопросов, все модели, с комментариями к колонкам каждой таблицы и без них.<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">Схема<\/td>\n<td style=\"text-align: center\">Train<\/td>\n<td style=\"text-align: center\">Test<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Без комментариев<\/b><\/td>\n<td style=\"text-align: center\">94.9<\/td>\n<td style=\"text-align: center\">94.4<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>С комментариями<\/b><\/td>\n<td style=\"text-align: center\">96.0<\/td>\n<td style=\"text-align: center\">94.6<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Дельта<\/b><\/td>\n<td style=\"text-align: center\">1.1 pp<\/td>\n<td style=\"text-align: center\">0.2 pp<\/td>\n<\/tr>\n<\/table>\n<p>Один процентный пункт на тренировке, почти ничего на тесте. В большинстве вопросов правильность не изменилась.<\/p>\n<p>Если разбить по базам данных, становится интересно. Чем сложнее схема, тем больше помогают комментарии (усредненно по train и test):<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\">База данных<\/td>\n<td style=\"text-align: center\">Базовая точность<\/td>\n<td style=\"text-align: center\">Эффект комментариев<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`debit_card_specializing`<\/td>\n<td style=\"text-align: center\">85.5 (самая сложная)<\/td>\n<td style=\"text-align: center\">8.7 pp<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`european_football_2`<\/td>\n<td style=\"text-align: center\">93.2<\/td>\n<td style=\"text-align: center\">3.4 pp<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">`california_schools`<\/td>\n<td style=\"text-align: center\">95.7 (самая легкая)<\/td>\n<td style=\"text-align: center\">2.9 pp<\/td>\n<\/tr>\n<\/table>\n<p>Комментарии помогают, когда схема действительно запутанная. Таблица `debit_card_specializing` (попробуйте угадать, как выглядит эта схема) получила самый большой прирост. Но схемы с интуитивными названиями и очевидными связями? Там комментарии сделали только хуже. У моделей уже сформировалась правильная ментальная модель, а комментарии внесли шум.<\/p>\n<p>Каждый разработчик знает это о комментариях в коде. Полезны при реальной неоднозначности. Вредны, когда констатируют очевидное. `\/\/ увеличить i на 1` еще никому не помогло.<\/p>\n<h3>Почему простые модели данных работают<\/h3>\n<p>Базы данных BIRD — это не корпоративные хранилища данных. Они простые:<\/p>\n<ul>\n<li>7 таблиц в среднем.<\/li>\n<li>9 внешних ключей в среднем, в основном «один-ко-многим».<\/li>\n<li>Ноль связей «многие-ко-многим».<\/li>\n<li>Глубина join макс. 2-3 перехода, нет глубоких иерархий.<\/li>\n<\/ul>\n<p>LLM читают эти схемы так же, как опытный аналитик читает DDL. Они видят таблицу `schools` с колонками `school_name`, `district` и `enrollment`, и они знают, что делать. Внешний ключ от `schools` к `scores`? Они знают, как их соединить (join). Никому не нужен семантический слой, чтобы объяснить, что “enrollment” означает «количество студентов».<\/p>\n<p><b>Хорошее моделирование данных — это и есть семантический слой.<\/b> Когда ваши таблицы названы хорошо, а объединения прямолинейны, у LLM есть всё необходимое.<\/p>\n<h3>Во что я бы инвестировал в первую очередь<\/h3>\n<p>Каждая среда уникальна, но вот как бы я расставил приоритеты, основываясь на том, что увидел:<\/p>\n<ol start=\"1\">\n<li><b>Начните с модели данных.<\/b> Чистые таблицы, понятные названия, простые объединения. Если опытный аналитик может посмотреть на вашу схему и понять ее за несколько минут, то и LLM сможет.<\/li>\n<li><b>Затем добавьте целевой контекст.<\/b> Комментарии к колонкам и метаданные, но только там, где действительно существует путаница. Документируйте таблицы типа `debit_card_specializing`, а не `schools`.<\/li>\n<li><b>История запросов идет следом.<\/b> Она становится важнее по мере усложнения предметной области, особенно для обнаружения недокументированных бизнес-правил (вроде “abnormal GOT > 60”). Базы данных BIRD имеют простые правила. Но я работаю над (проектом) `DABstep`, у которого простая модель данных, но очень сложные правила предметной области. Тот вид знаний, который живет в головах людей, а не в названиях колонок. Там история запросов и подобранный контекст будут значить гораздо больше. Но даже тогда чистая модель данных стоит на первом месте.<\/li>\n<\/ol>\n<p>Наконец, не беспокойтесь о формальном семантическом слое. Если ваша модель данных чиста, а контекст целенаправлен, это почти ничего не добавляет для сценариев использования ИИ. На самом деле, кажется, что это даже мешает, так как ИИ отлично пишет SQL, но менее хорош в работе с другими инструментами.<\/p>\n<h3>Начните сейчас<\/h3>\n<p>Планка для «данных, готовых к ИИ», ниже, чем вам говорит индустрия.<\/p>\n<p>Вам не нужен “движок контекста”, семантический слой, годы истории запросов или специализированная платформа метаданных. Вам нужна <b>чистая модель данных и LLM<\/b>. Найдите домен, который готов к этому, и начните там.<\/p>\n<p>Разрыв между «точностью бенчмарка» и «примет ли это человек?» составил 31 pp на тренировочной выборке и 36 pp на тестовой. Это огромный разрыв, и он закрывается в тот момент, когда вы включаете человека или LLM в цикл проверки. Именно так и работает любой продукт ИИ-аналитики.<\/p>\n<p>Если ваша модель данных чиста, начните сегодня. Направьте LLM на вашу схему и задавайте вопросы. Если ваша модель данных не чиста, теперь вы знаете, с чего начать.<\/p>\n<p>***<\/p>\n<h4>Итоги статьи<\/h4>\n<ol start=\"1\">\n<li><b>Проблема:<\/b> Принято считать, что для работы ИИ с базами данных (Text-to-SQL) нужны сложные семантические слои, история запросов и контекст.<\/li>\n<li><b>Эксперимент:<\/b> Автор протестировал работу современных LLM (Claude, Gemini, GPT) на известном наборе данных BIRD.<\/li>\n<li><b>Открытие 1:<\/b> Формальные бенчмарки занижают качество работы ИИ. Они требуют строгого совпадения SQL-запросов, хотя люди принимают ответы с правильными данными, но другим форматированием (лишние колонки, другой порядок сортировки). Истинная (“реалистичная”) точность моделей достигает <b>95%<\/b>, тогда как бенчмарк показывает около 60%.<\/li>\n<li><b>Открытие 2:<\/b> “Готовность данных к ИИ” сводится к понятной структуре базы данных. Чистые таблицы, внятные названия колонок и простые связи работают лучше, чем нагромождение комментариев.<\/li>\n<li><b>Открытие 3:<\/b> Дополнительные комментарии (контекст) нужны только для реально запутанных схем. В простых случаях они даже мешают, создавая шум.<\/li>\n<li><b>Вывод:<\/b> Не тратьте ресурсы на сложные семантические надстройки. Инвестируйте в <b>чистоту модели данных<\/b> (понятные имена таблиц и полей). Хорошая модель данных — это и есть лучший семантический слой для ИИ.<\/li>\n<\/ol>\n",
            "date_published": "2026-03-14T00:19:28+03:00",
            "date_modified": "2026-03-14T00:19:21+03:00",
            "tags": [
                "AI",
                "big data",
                "Data",
                "MCP"
            ],
            "_date_published_rfc2822": "Sat, 14 Mar 2026 00:19:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "321",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "317",
            "url": "https:\/\/gavrilov.info\/all\/data-stack-2-0-zakat-lambda-arhitektury-i-voshod-fluss-s-lance\/",
            "title": "Data Stack 2.0: Закат Lambda-архитектуры и восход Fluss с Lance",
            "content_html": "<h2>Data Stack 2.0: Закат Lambda-архитектуры и восход Fluss с Lance<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2026-02-13-v-01.58.40.png\" width=\"1796\" height=\"340\" alt=\"\" \/>\n<\/div>\n<p>В мире инфраструктуры данных происходит “тектонический сдвиг”, описанный в отчетах <a href=\"https:\/\/a16z.com\/emerging-architectures-for-modern-data-infrastructure\/\">a16z.com<\/a>. Индустрия отходит от сложной Lambda-архитектуры (где batch и streaming живут отдельно) к унифицированным решениям, которые называют <b>Streamhouse<\/b>.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2026-02-13-v-01.59.13.png\" width=\"1476\" height=\"412\" alt=\"\" \/>\n<\/div>\n<p>Два ключевых игрока, меняющих правила игры в этом переходе:<\/p>\n<ol start=\"1\">\n<li><b>Apache Fluss<\/b> — управляемое хранилище для потоковой обработки (Streaming Storage).<\/li>\n<li><b>Lance<\/b> — формат данных нового поколения для AI и Data Lake.<\/li>\n<\/ol>\n<h3>1. Проблема: Почему одной Kafka больше недостаточно?<\/h3>\n<p>Долгое время Apache Kafka была стандартом де-факто для передачи данных. Однако, как отмечают эксперты Ververica в статье <a href=\"https:\/\/www.ververica.com\/blog\/a-world-without-kafka\">Мир без Kafka<\/a>, Kafka была спроектирована как *распределенный лог*, а не как база данных.<\/p>\n<p>Перевод есть тут, у меня: <a href=\"https:\/\/gavrilov.info\/all\/mir-bez-kafka-pochemu-kafka-ne-podhodit-dlya-analitiki-realnogo\/\">https:\/\/gavrilov.info\/all\/mir-bez-kafka-pochemu-kafka-ne-podhodit-dlya-analitiki-realnogo\/<\/a><\/p>\n<p><b>Фундаментальные ограничения брокеров сообщений (Kafka\/Pulsar) для аналитики:<\/b><\/p>\n<ul>\n<li><b>Слабая работа с обновлениями (Updates):<\/b> Kafka — это `append-only` система. Реализация `UPDATE` или `DELETE` требует использования *Compact Topics*, что не дает гарантий мгновенной консистентности и сложно в эксплуатации.<\/li>\n<li><b>Медленное чтение истории:<\/b> Чтобы найти запись годичной давности, вам часто нужно прочитать весь лог последовательно (Scan). Сложность операции — $O(N)$.<\/li>\n<li><b>Row-based природа:<\/b> Данные хранятся строками (Message bytes). Для аналитики (OLAP), где нам нужен средний чек по столбцу `price`, системе приходится распаковывать и читать *все* поля сообщения, что неэффективно.<\/li>\n<\/ul>\n<h3>2. Apache Fluss: Недостающее звено для Flink<\/h3>\n<p><a href=\"https:\/\/fluss.apache.org\">Apache Fluss<\/a> создан, чтобы решить проблему “разделения” между потоком и таблицей. Это нативное хранилище для Apache Flink, которое поддерживает <a href=\"https:\/\/www.ververica.com\/blog\/introducing-fluss\">концепцию Fluss<\/a>.<\/p>\n<h4>Архитектурные прорывы:<\/h4>\n<ol start=\"1\">\n<li><b>Гибридная модель чтения (Stream-Table Duality):<\/b> Fluss позволяет читать данные и как бесконечный поток (Log), и как изменяемую таблицу с первичными ключами (Primary Key Table). Это делает реализацию <b>CDC (Change Data Capture)<\/b> тривиальной: обновления перезаписывают старые значения по ключу.<\/li>\n<li><b>Колоночная проекция (Columnar Projection):<\/b> В отличие от Kafka, Fluss может отдавать аналитическому движку (Flink) только нужные колонки. Это снижает нагрузку на сеть (`I\/O`) в разы.<\/li>\n<li><b>Real-Time Lookups:<\/b> Fluss поддерживает точечные запросы (Point Lookup) по первичному ключу с задержкой порядка миллисекунд.  <br \/>\n$$Latency_{Fluss} \\ll Latency_{Kafka Scan}$$  <br \/>\nЭто позволяет использовать его как *Serverless State* для приложений, избавляясь от необходимости ставить рядом Redis или RocksDB.<\/li>\n<li><b>Tiered Storage в Data Lake:<\/b> Fluss работает в паре с <b>Apache Paimon<\/b> (ранее Flink Table Store). Горячие данные живут в Fluss (на быстрых дисках\/RAM), а по мере устаревания автоматически конвертируются в формат Lakehouse (Paimon\/Parquet\/ ну или Iceberg) и уходят в S3.<\/li>\n<\/ol>\n<h3>3. Lance: Новый стандарт для AI в Data Lake<\/h3>\n<p>Если Fluss отвечает за доставку и горячее состояние, то <b>Lance<\/b> меняет подход к хранению холодных данных для задач машинного обучения (ML).<\/p>\n<p>Традиционный формат <b>Parquet<\/b> великолепен для аналитики (сканирование больших диапазонов), но ужасен для AI, где требуется <b>случайный доступ (Random Access)<\/b> для формирования батчей обучения.<\/p>\n<p><a href=\"https:\/\/lance.org\">Lance<\/a> решает эти проблемы:<\/p>\n<ul>\n<li>Случайный доступ:** Lance позволяет извлекать строки по индексу в ~100 раз быстрее Parquet.<\/li>\n<li>Векторный поиск:** Это формат со встроенным векторным индексом (IVF-PQ). Вы можете хранить эмбеддинги прямо в файлах на S3 и выполнять поиск ближайших соседей (ANN) без отдельной VectorDB (вроде Pinecone или Milvus).<\/li>\n<li>Zero-Copy версионирование:** Эффективное управление версиями датасетов без дублирования данных.<\/li>\n<\/ul>\n<h3>4. Сборка пазла: Как это работает вместе<\/h3>\n<p>Современный <b>Streamhouse<\/b> (см. <a href=\"https:\/\/bigdataschool.ru\/blog\/news\/flink\/fluss-for-flink\/\">примеры архитектуры]<\/a><\/p>\n<p>выглядит как-то так:<\/p>\n<p>Схема потока данных (Workflow):<\/p>\n<ol start=\"1\">\n<li><b>Ingestion:<\/b>  <br \/>\nПриложения (на Go, Java, Python) пишут данные.<\/li>\n\n<ul>\n  <li>Важно:* Поскольку Fluss совместим с протоколом Kafka, можно использовать существующие <b>Kafka-клиенты<\/b> в Go-сервисах для записи в Fluss, не дожидаясь нативных библиотек. Но это пока только теория. Сходу я не нашел примеров быстро, но можно использовать GO и Arrow Flight SQL.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Streaming Storage (Fluss):<\/b>  <br \/>\nFluss принимает данные, индексирует первичные ключи и хранит “горячее” окно (например, 24 часа).<\/li>\n\n<ul>\n  <li>Flink* выполняет `JOIN` и агрегации прямо поверх Fluss, используя `Lookup Join` (обогащение данных без сохранения большого стейта внутри Flink).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Archiving & AI (Paimon\/Lance):<\/b>  <br \/>\nИсторические данные сбрасываются в S3.<\/li>\n\n<ul>\n  <li>Для классической BI-аналитики используется формат <b>Apache Paimon<\/b> или Iceberg.<\/li>\n  <li>Для ML-задач данные конвертируются или хранятся в <b>Lance<\/b>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Unified Analytics (Trino):<\/b>  <br \/>\nДвижок <a href=\"https:\/\/lance.org\/integrations\/trino\/config\/\">Trino<\/a> позволяет делать SQL-запросы ко всем слоям одновременно. Аналитик пишет один `SELECT`, а Trino забирает свежие данные из Fluss, а исторические — из S3 (Lance\/Parquet\/iceberg).<\/li>\n<\/ol>\n<h4>Пример интеграции (концептуальный)<\/h4>\n<p>Поскольку прямого клиента Go для Fluss нет, использование в микросервисах чаще всего выглядит как работа через Kafka-протокол или HTTP-прокси, а основная логика ложится на Flink (Java\/Python\/ или еще чего):<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ Flink SQL example: Создание таблицы, управляемой Fluss\nCREATE TABLE user_behavior (\n    user_id BIGINT,\n    item_id BIGINT,\n    action STRING,\n    ts TIMESTAMP(3),\n    PRIMARY KEY (user_id) NOT ENFORCED\n) WITH (\n    'connector' = 'fluss',\n    'bootstrap.servers' = '...:9092', \/\/ Fluss совместим с Kafka-адресацией\n    'table.log.consistency' = 'eventual' \/\/ Оптимизация под высокую пропускную способность\n);<\/code><\/pre><p>Надо пробовать и тестировать... все таки еще инкубационный и это только теория.<\/p>\n<h3>5. Выводы и рекомендации<\/h3>\n<ol start=\"1\">\n<li><b>Не используйте Kafka как базу данных.<\/b> Если вашей архитектуре требуются частые обновления (`UPSERT`) и точечные запросы (`Lookup`), <a href=\"https:\/\/fluss.apache.org\">Apache Fluss<\/a> — это более подходящий инструмент в экосистеме Flink.<\/li>\n<li><b>Lance для AI.<\/b> Если вы строите RAG (Retrieval-Augmented Generation) или RecSys, рассмотрите формат Lance вместо связки “Parquet + внешняя VectorDB”. Это упростит инфраструктуру.<\/li>\n<li><b>Следите за совместимостью.<\/b> Интеграции Lance с Trino и Fluss с не-JVM языками (например, Go, Rust или еще чего) находятся в активной разработке. Используйте проверенные пути (Kafka Protocol для Ingestion, DataFusion\/Java\/Python для Querying).<\/li>\n<\/ol>\n<h4>Полезные ресурсы для изучения:<\/h4>\n<ul>\n<li><a href=\"https:\/\/a16z.com\/emerging-architectures-for-modern-data-infrastructure\/\">Emerging Architectures for Modern Data Infrastructure (a16z<\/a>)<\/li>\n<li><a href=\"https:\/\/www.ververica.com\/blog\/introducing-fluss\">Introducing Fluss (Ververica<\/a>)<\/li>\n<li><a href=\"https:\/\/bigdataschool.ru\/blog\/news\/flink\/fluss-for-flink\/\">Fluss for Flink (BigDataSchool<\/a>)<\/li>\n<li><a href=\"https:\/\/github.com\/lance-format\/lance-trino\/issues\/29#issuecomment-3893178604\">Lance & Trino Integration Issue (GitHub<\/a><\/li>\n<\/ul>\n",
            "date_published": "2026-02-13T01:59:35+03:00",
            "date_modified": "2026-02-15T13:51:52+03:00",
            "tags": [
                "AI",
                "big data",
                "Data",
                "Data Engineer",
                "MLOps"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2026-02-13-v-01.58.40.png",
            "_date_published_rfc2822": "Fri, 13 Feb 2026 01:59:35 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "317",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2026-02-13-v-01.58.40.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2026-02-13-v-01.59.13.png"
                ]
            }
        },
        {
            "id": "303",
            "url": "https:\/\/gavrilov.info\/all\/ii-v-2025-godu-chemu-nas-nauchili-100-trillionov-tokenov\/",
            "title": "ИИ в 2025 году: Чему нас научили 100 триллионов токенов?",
            "content_html": "<p><b>Как на самом деле мир использует искусственный интеллект: от смерти чат-ботов к рождению агентов<\/b><\/p>\n<p>Долгое время наше понимание того, как люди используют нейросети, строилось на опросах и догадках. Компания OpenRouter провела масштабное эмпирическое исследование, проанализировав <b>100 триллионов токенов<\/b> (единиц информации), прошедших через их платформу за последний год (по декабрь 2025). Эти данные рисуют картину, кардинально отличающуюся от маркетинговых обещаний техногигантов.<\/p>\n<p>Вот небольшой обзор того, как изменился ландшафт ИИ.<\/p>\n<p><b>Ссылка на оригинал исследования:<\/b><br \/>\n<a href=\"https:\/\/openrouter.ai\/state-of-ai\">State of AI: An Empirical 100 Trillion Token Study with OpenRouter<\/a><\/p>\n<h3>1. Конец эпохи «Вопрос-Ответ». Наступление эры «Думающих машин»<\/h3>\n<p>Самый главный сдвиг 2025 года — это переход от простой генерации текста к <b>агентному инференсу<\/b> (agentic inference).<\/p>\n<ul>\n<li>Если раньше пользователь просил: «Напиши письмо», то теперь запрос звучит как: «Проанализируй эти файлы, напиши код, проверь его и выдай результат».<\/li>\n<li>Доля использования моделей, способных к «рассуждению» (reasoning models, таких как o1, Gemini 2.5, DeepSeek R1), выросла с близких к 0% значений в начале года до более чем 50% к концу 2025-го.<\/li>\n<li>Запросы стали сложнее: средняя длина промпта (входных данных) выросла в 4 раза. ИИ перестал быть собеседником и стал исполнителем, встроенным в сложные цепочки задач.<\/li>\n<\/ul>\n<h3>2. «Эффект хрустальной туфельки»: почему пользователи хранят верность<\/h3>\n<p>Исследование выявило удивительный феномен, названный <b>«Эффектом хрустальной туфельки Золушки»<\/b>.<br \/>\nРынок ИИ характеризуется огромной текучкой: пользователи постоянно пробуют новые модели и бросают их. Однако существуют «фундаментальные когорты» (foundational cohorts) — группы ранних пользователей, которые остаются с конкретной моделью навсегда.<\/p>\n<ul>\n<li>Это происходит, когда новая модель первой решает конкретную, ранее невыполнимую задачу пользователя (как туфелька, которая подошла только Золушке).<\/li>\n<li>Как только этот «пазл» складывается, пользователь встраивает модель в свои рабочие процессы и перестает искать альтернативы, даже если выходят более дешевые аналоги.<\/li>\n<li>Если модель на старте не находит свою «боль», которую она лечит лучше всех, она обречена на забвение, даже будучи качественной.<\/li>\n<\/ul>\n<h3>3. Программирование поглощает ИИ<\/h3>\n<p>Миф о том, что ИИ — это в первую очередь генератор текстов и картинок, разрушен данными.<\/p>\n<ul>\n<li><b>Программирование<\/b> стало доминирующей категорией, превысив 50% от всего объема токенов к концу 2025 года.<\/li>\n<li>Это самая конкурентная сфера: здесь идет ожесточенная битва между Anthropic (Claude), OpenAI и новыми игроками вроде Qwen.<\/li>\n<li>Код — это драйвер сложности: именно задачи по программированию требуют самых длинных контекстов и глубокого рассуждения.<\/li>\n<\/ul>\n<h3>4. Скрытая жизнь Open Source: Ролевые игры и Китай<\/h3>\n<p>Рынок четко разделился на две части: закрытые модели (Closed Source) и открытые (Open Source).<\/p>\n<ul>\n<li>Баланс сил:** Открытые модели теперь занимают около 30% рынка.<\/li>\n<li>Китайский прорыв:** Модели из Китая (DeepSeek, Qwen) совершили рывок с 1.2% до почти 30% доли рынка в пиковые недели. Они обновляются невероятно быстро, предлагая качество уровня GPT-4 бесплатно или очень дешево.<\/li>\n<li>Для чего используют Open Source?<b> Более 50% трафика открытых моделей приходится на **Roleplay (Ролевые игры)<\/b>. Люди используют их для создания персонажей, интерактивных историй и развлечений, где важна свобода от цензуры и творческая гибкость. В то же время, закрытые модели (Claude, GPT) доминируют в бизнесе и программировании.<\/li>\n<\/ul>\n<h3>5. Размер имеет значение: «Средний» — это новый стандарт<\/h3>\n<p>В 2024 году рынок состоял из гигантских дорогих моделей и маленьких слабых. В 2025 году сформировался класс <b>«Medium»<\/b> (от 15 до 70 миллиардов параметров).<\/p>\n<ul>\n<li>Маленькие модели вымирают.<\/li>\n<li>Средние модели (например, Qwen Coder 32B) стали «золотой серединой»: они достаточно умны для сложных задач, но достаточно дешевы для массового использования.<\/li>\n<\/ul>\n<h3>6. Цена больше не определяет спрос<\/h3>\n<p>Анализ показал слабую эластичность спроса.<\/p>\n<ul>\n<li>Пользователи делятся на два лагеря. Одни готовы платить любые деньги (30-40$ долларов за миллион токенов) за <b>премиум-интеллект<\/b> (модели OpenAI, Anthropic) для критически важных задач.<\/li>\n<li>Другие выбирают «эффективных гигантов» (DeepSeek, Google Flash), где цена стремится к нулю, для обработки огромных массивов данных.<\/li>\n<li>Просто «быть дешевым» недостаточно. Дешевые модели без уникальных способностей игнорируются рынком.<\/li>\n<\/ul>\n<h3>7. Глобализация интеллекта<\/h3>\n<p>ИИ перестает быть «западной» технологией.<\/p>\n<ul>\n<li>Доля Азии в потреблении ИИ выросла с 13% до 31%.<\/li>\n<li>Азия теперь не только потребляет, но и производит передовые модели, которые конкурируют на равных с Кремниевой долиной.<\/li>\n<\/ul>\n<hr \/>\n<h3>Основные выводы и тренды<\/h3>\n<ol start=\"1\">\n<li><b>Смерть «простого чат-бота»:<\/b> Будущее за агентами, которые умеют планировать, писать код и использовать инструменты (браузер, терминал).<\/li>\n<li><b>Дуополия задач:<\/b> Рынок кристаллизовался вокруг двух мега-сценариев — <b>Программирование<\/b> (для работы) и <b>Ролевые игры<\/b> (для развлечения). Все остальное (перевод, юриспруденция, наука) занимает нишевые доли.<\/li>\n<li><b>Битва экосистем:<\/b> Нет «одной нейросети, чтоб править всеми». Разработчики комбинируют закрытые дорогие модели для «мозгов» и открытые дешевые модели для рутины.<\/li>\n<li><b>Удержание важнее хайпа:<\/b> Успех модели теперь измеряется не пиком скачиваний, а способностью создать «фундаментальную когорту» пользователей, чью уникальную проблему она решила первой.<\/li>\n<\/ol>\n<h3>Итог<\/h3>\n<p>Данные за 2025 год показывают, что индустрия перешла от фазы экспериментов к фазе прагматичной интеграции. Мы больше не спрашиваем ИИ «кто президент США?». Мы поручаем ему: «Напиши приложение, исправь баги и разверни его на сервере». ИИ стал новой вычислительной инфраструктурой, где код и креативность являются главными валютами.<\/p>\n",
            "date_published": "2025-12-13T00:02:25+03:00",
            "date_modified": "2025-12-13T00:02:47+03:00",
            "tags": [
                "Agents",
                "AI",
                "RnD"
            ],
            "_date_published_rfc2822": "Sat, 13 Dec 2025 00:02:25 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "303",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "265",
            "url": "https:\/\/gavrilov.info\/all\/dino-v3\/",
            "title": "Dino v3 🦖",
            "content_html": "<p><a href=\"https:\/\/github.com\/facebookresearch\/dinov3\">https:\/\/github.com\/facebookresearch\/dinov3<\/a><\/p>\n<p>Новая вижн моделька<\/p>\n<p><video width=\"740\" controls><br \/>\n<source src=\"http:\/\/a.gavrilov.info\/data\/posts\/dinov3.mp4\" type=\"video\/mp4\"><br \/>\n<\/video><\/p>\n",
            "date_published": "2025-08-16T11:04:40+03:00",
            "date_modified": "2025-08-16T22:52:50+03:00",
            "tags": [
                "AI"
            ],
            "_date_published_rfc2822": "Sat, 16 Aug 2025 11:04:40 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "265",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "262",
            "url": "https:\/\/gavrilov.info\/all\/ekosistema-instrumentov-dlya-data-science-i-ai-ot-dashbordov-do\/",
            "title": "Экосистема инструментов для Data Science и AI: От Дашбордов до Продвинутого MLOps",
            "content_html": "<p>Все это можно быстро и просто запустить тут: <a href=\"https:\/\/www.ploomber.io\">https:\/\/www.ploomber.io<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-10-v-23.32.24.png\" width=\"550\" height=\"564\" alt=\"\" \/>\n<\/div>\n<p>В современной науке о данных и разработке искусственного интеллекта недостаточно просто создать модель в Jupyter Notebook ( о нем вы уже знаете ) . Настоящая ценность раскрывается, когда результатами можно поделиться, когда модели становятся интерактивными и когда они надежно развернуты в производственной среде. Для решения этих задач появилось множество фреймворков, каждый со своими сильными сторонами и философией.<\/p>\n<p>В этой статье мы рассмотрим и оценим ключевые инструменты, которые позволяют дата-сайентистам и ML-инженерам создавать веб-приложения, чат-ботов, API, отчеты и управлять жизненным циклом моделей.<\/p>\n<h4>Категория 1: Фреймворки для создания веб-приложений и дашбордов<\/h4>\n<p>Это самая многочисленная группа, предназначенная для быстрого превращения данных и моделей в интерактивные пользовательские интерфейсы без необходимости глубокого изучения фронтенд-технологий.<\/p>\n<h5><b>Streamlit<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 40.8k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/streamlit.io\/\">streamlit.io<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/streamlit\/streamlit\">streamlit<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Streamlit — это, возможно, самый популярный фреймворк для быстрого создания data-приложений. Его философия — превратить скрипты в красивые веб-интерфейсы с минимальными усилиями. Приложение работает по простой модели: скрипт выполняется сверху вниз при каждом взаимодействии пользователя, что упрощает управление состоянием.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Невероятная простота и скорость разработки. Идеально подходит для создания прототипов, демо и внутренних инструментов <a href=\"https:\/\/medium.com\/@anna.bildea\/choosing-the-right-ui-framework-for-genai-projects-54177640b9ca\">medium.com<\/a>. Отличная документация и большое сообщество.<\/li>\n<li><b>Слабые стороны:<\/b> Модель “перезапуска всего скрипта” может быть неэффективной для сложных приложений с большим количеством состояний. Кастомизация интерфейса за пределами стандартных компонентов может быть сложной задачей <a href=\"https:\/\/ai.gopubby.com\/top-5-python-frontend-libraries-for-data-science-91261a65e366?gi=b10c3467a931\">ai.gopubby.com<\/a>.<\/li>\n<\/ul>\n<h5><b>Dash<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 23.9k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/plotly.com\/dash\/\">plotly.com\/dash<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/plotly\/dash\">github.com\/plotly\/dash<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Dash от создателей Plotly — это мощный фреймворк для создания аналитических веб-приложений. Он использует Flask, Plotly.js и React.js под капотом, предоставляя Python-разработчикам доступ к современным веб-технологиям.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Высокая степень кастомизации и контроля. Идеален для корпоративных дашбордов и сложных приложений, требующих уникального дизайна и функциональности. Отличная интеграция с экосистемой Plotly.<\/li>\n<li><b>Слабые стороны:<\/b> Более высокий порог вхождения по сравнению со Streamlit. Концепция “коллбэков” требует времени для освоения.<\/li>\n<\/ul>\n<h5><b>Solara<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 2.1k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/solara.dev\/\">solara.dev<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/widgetti\/solara\">github.com\/widgetti\/solara<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Solara позволяет создавать веб-приложения на чистом Python, используя компонентный подход, похожий на React. Он построен на базе Ipywidgets и может работать как в Jupyter Notebook, так и в виде самостоятельных приложений.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Компонентная архитектура способствует созданию чистого и переиспользуемого кода. Хорошо подходит для создания масштабируемых приложений корпоративного уровня <a href=\"https:\/\/ai.gopubby.com\/top-5-python-frontend-libraries-for-data-science-91261a65e366?gi=b10c3467a931\">ai.gopubby.com<\/a>.<\/li>\n<li><b>Слабые стороны:<\/b> Менее известен, чем Streamlit или Dash, что означает меньшее сообщество и меньше готовых решений.<\/li>\n<\/ul>\n<h5><b>Gradio<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 39.4k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/gradio.app\/\">gradio.app<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/gradio-app\/gradio\">github.com\/gradio-app\/gradio<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Gradio создан для невероятно быстрого создания демо для моделей машинного обучения. Всего за несколько строк кода можно обернуть любую Python-функцию (например, предсказание модели) в простой веб-интерфейс.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Максимальная простота для демонстрации моделей. Поддерживает различные типы ввода\/вывода (текст, изображения, аудио). Легко встраивается в Jupyter\/Colab и генерирует публичные ссылки для демонстрации.<\/li>\n<li><b>Слабые стороны:<\/b> Не предназначен для создания сложных, многостраничных дашбордов. Фокус смещен на “вход -> модель -> выход”. Структура приложения `app.py` часто используется для бэкенда при создании мультимодальных инструментов <a href=\"https:\/\/ai.plainenglish.io\/beyond-text-building-a-fully-multimodal-ai-tool-images-speech-rag-together-8fe4cb322c64?gi=47624379873a&source=rss----78d064101951---4\">ai.plainenglish.io<\/a>.<\/li>\n<\/ul>\n<h5><b>Shiny for Python & Shiny Express<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 1.6k+ (Python)<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/shiny.posit.co\/py\/\">shiny.posit.co\/py<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/posit-dev\/py-shiny\">github.com\/posit-dev\/py-shiny<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Shiny, легендарный фреймворк из мира R, теперь доступен и для Python. Он использует реактивную модель программирования, где изменения во входных данных автоматически вызывают пересчет связанных с ними выходных данных. <b>Shiny Express<\/b> — это его более легковесная версия в стиле Streamlit, позволяющая создавать приложения декларативно.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Мощная реактивная модель позволяет создавать очень эффективные приложения. Отличная интеграция с инструментами от Posit (ранее RStudio).<\/li>\n<li><b>Слабые стороны:<\/b> Сообщество в Python пока меньше, чем у аналогов. Реактивная модель требует особого подхода к мышлению.<\/li>\n<\/ul>\n<h5><b>Panel<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 5.4k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/panel.holoviz.org\/\">panel.holoviz.org<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/holoviz\/panel\">github.com\/holoviz\/panel<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Panel — это мощный фреймворк из экосистемы HoloViz. Его главная особенность — совместимость практически с любой библиотекой для визуализации в Python. Он позволяет объединять виджеты и графики в гибкие макеты.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Непревзойденная гибкость и совместимость с другими библиотеками. Отлично подходит, если вы уже используете инструменты HoloViz (hvPlot, HoloViews).<\/li>\n<li><b>Слабые стороны:<\/b> Может показаться более многословным и сложным для простых задач по сравнению со Streamlit.<\/li>\n<\/ul>\n<h5><b>Другие интересные фреймворки UI<\/b><\/h5>\n<ul>\n<li><b>Chainlit (10k+ звезд):<\/b> Специализированный фреймворк для быстрого создания чат-интерфейсов для LLM-агентов и приложений на базе LangChain\/LlamaIndex.<\/li>\n<li><b>Hyperdiv (900+ звезд):<\/b> Предлагает новый подход: Python-код выполняется на сервере и мгновенно синхронизирует UI в браузере. Компоненты объявляются в простом, декларативном стиле.<\/li>\n<li><b>Vizro (3k+ звезд):<\/b> Конфигурационный фреймворк поверх Dash. Позволяет создавать дашборды через YAML или Pydantic-модели, что упрощает разработку.<\/li>\n<li><b>Voilà (5.8k+ звезд):<\/b> Превращает Jupyter-ноутбуки в самостоятельные веб-приложения, скрывая код и оставляя только виджеты и выводы ячеек.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>Категория 2: Бэкенд и MLOps (Развертывание и управление)<\/h4>\n<p>Эти инструменты фокусируются на серверной части, производительности и управлении жизненным циклом моделей.<\/p>\n<h5><b>FastAPI<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 88.2k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/fastapi.tiangolo.com\/\">fastapi.tiangolo.com<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/tiangolo\/fastapi\">github.com\/tiangolo\/fastapi<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> FastAPI — это современный, высокопроизводительный веб-фреймворк для создания API на Python. Он стал де-факто стандартом для развертывания моделей машинного обучения в виде REST API благодаря своей скорости, автоматической документации и использованию стандартных аннотаций типов Python.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Невероятная производительность. Автоматическая интерактивная документация (Swagger UI, ReDoc). Простота использования благодаря Pydantic и аннотациям типов.<\/li>\n<li><b>Слабые стороны:<\/b> Это бэкенд-фреймворк. Для создания UI его нужно использовать в связке с фронтенд-технологиями.<\/li>\n<\/ul>\n<h5><b>vLLM<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 54.8k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/vllm.ai\">vllm.ai<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/vllm-project\/vllm\">github.com\/vllm-project\/vllm<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> vLLM — это не UI-фреймворк, а высокопроизводительная библиотека для инференса (выполнения) больших языковых моделей (LLM). Ее главная цель — максимально увеличить пропускную способность при обслуживании LLM.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Значительно ускоряет работу LLM благодаря инновационным техникам, таким как PagedAttention. Совместимость с моделями Hugging Face. Становится стандартом для быстрого self-hosting LLM.<\/li>\n<li><b>Слабые стороны:<\/b> Узкоспециализированный инструмент для инференса LLM.<\/li>\n<\/ul>\n<h5><b>MLflow<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 21.5k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/mlflow.org\/\">mlflow.org<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/mlflow\/mlflow\">github.com\/mlflow\/mlflow<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> MLflow — это платформа с открытым исходным кодом для управления полным жизненным циклом машинного обучения. Он включает в себя компоненты для отслеживания экспериментов (Tracking), упаковки кода (Projects), управления моделями (Models) и их развертывания (Registry).<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Комплексное решение для MLOps. Помогает стандартизировать и воспроизводить ML-эксперименты. Интегрируется с большинством ML-библиотек.<\/li>\n<li><b>Слабые стороны:<\/b> Требует настройки и внедрения в рабочий процесс. Может быть избыточным для небольших проектов.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>Категория 3: Интерактивные вычисления и отчетность<\/h4>\n<p>Эти инструменты меняют представление о статических отчетах и ноутбуках, делая их интерактивными и воспроизводимыми.<\/p>\n<h5><b>Quarto<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 4.7k+ (CLI)<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/quarto.org\/\">quarto.org<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/quarto-dev\/quarto-cli\">github.com\/quarto-dev\/quarto-cli<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Quarto — это система публикации научных и технических документов нового поколения от Posit. Она позволяет создавать динамические документы и презентации из Jupyter-ноутбуков или простого Markdown, смешанного с кодом на Python, R или Julia.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Поддерживает множество форматов вывода (HTML, PDF, DOCX, презентации и др.). Языковая агностичность. Позволяет создавать красивые, профессиональные и воспроизводимые отчеты.<\/li>\n<li><b>Слабые стороны:<\/b> В первую очередь это инструмент для публикации, а не для создания интерактивных real-time приложений.<\/li>\n<\/ul>\n<h5><b>Marimo<\/b><\/h5>\n<ul>\n<li><b>GitHub Stars:<\/b> 15.3k+<\/li>\n<li><b>Официальный сайт:<\/b> <a href=\"https:\/\/marimo.io\/\">marimo.io<\/a><\/li>\n<li><b>GitHub Repo:<\/b> <a href=\"https:\/\/github.com\/marimo-team\/marimo\">github.com\/marimo-team\/marimo<\/a><\/li>\n<\/ul>\n<p><b>Описание и назначение:<\/b> Marimo — это реактивная среда для Python, которая решает многие проблемы традиционных Jupyter-ноутбуков. В Marimo ноутбук — это интерактивное веб-приложение. Изменение в одной ячейке автоматически обновляет все зависимые ячейки.<\/p>\n<p><b>Особенности и оценка:<\/b><\/p>\n<ul>\n<li><b>Сильные стороны:<\/b> Реактивность обеспечивает консистентность состояния. Встроенные UI-элементы. Ноутбуки легко экспортируются в виде приложений.<\/li>\n<li><b>Слабые стороны:<\/b> Новый инструмент с растущим, но пока небольшим сообществом. Отличается от привычного рабочего процесса в Jupyter.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>Как выбрать подходящий инструмент?<\/h4>\n<ul>\n<li><b>Для быстрого прототипа или демо модели:<\/b> <b>Streamlit<\/b> или <b>Gradio<\/b>.<\/li>\n<li><b>Для сложного, кастомизированного корпоративного дашборда:<\/b> <b>Dash<\/b> или <b>Solara<\/b>.<\/li>\n<li><b>Для создания бэкенда и API для вашей модели:<\/b> <b>FastAPI<\/b>.<\/li>\n<li><b>Для максимальной производительности при развертывании LLM:<\/b> <b>vLLM<\/b>.<\/li>\n<li><b>Для построения полноценного MLOps-цикла:<\/b> <b>MLflow<\/b>.<\/li>\n<li><b>Для создания чат-бота на базе LLM:<\/b> <b>Chainlit<\/b>.<\/li>\n<li><b>Для создания красивых, воспроизводимых отчетов и статей:<\/b> <b>Quarto<\/b>.<\/li>\n<li><b>Если вы хотите попробовать реактивный, state-of-the-art ноутбук:<\/b> <b>Marimo<\/b>.<\/li>\n<li><b>Если вы из мира R или вам нравится реактивная парадигма:<\/b> <b>Shiny for Python<\/b>.<\/li>\n<\/ul>\n",
            "date_published": "2025-08-10T23:40:36+03:00",
            "date_modified": "2025-08-11T23:37:21+03:00",
            "tags": [
                "AI",
                "Data",
                "Data Visualization",
                "Programming"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-10-v-23.32.24.png",
            "_date_published_rfc2822": "Sun, 10 Aug 2025 23:40:36 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "262",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-10-v-23.32.24.png"
                ]
            }
        },
        {
            "id": "260",
            "url": "https:\/\/gavrilov.info\/all\/tetradki-nashe-vsyo-marimo-io-i-utochkadb\/",
            "title": "Тетрадки наше всё – marimo.io и уточкаdb",
            "content_html": "<p>marimo is an open-source reactive notebook for Python — reproducible, Git-friendly, AI-native, SQL built-in, executable as a script, shareable as an app.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Screenshot-from-2025-08-07-21-49-13.png\" width=\"1189\" height=\"397\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Screenshot-from-2025-08-07-21-47-55.png\" width=\"942\" height=\"667\" alt=\"\" \/>\n<\/div>\n<p>Ставим скорее..<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pip install marimo &amp;&amp; marimo tutorial intro<\/code><\/pre><p>Ну и small data тоже любит тетрадки <a href=\"https:\/\/duckdb.org\/docs\/stable\/guides\/python\/marimo\">https:\/\/duckdb.org\/docs\/stable\/guides\/python\/marimo<\/a><\/p>\n<p>в общим долго рассказывать, но штука модная и крутая :) потом еще расскажу<\/p>\n<p>про bi as a code можно посмотреть тут: <a href=\"https:\/\/gavrilov.info\/all\/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob\/\">https:\/\/gavrilov.info\/all\/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob\/<\/a><\/p>\n<p>А тут есть пример использования  iceberg каталога R2 c Marimo <a href=\"https:\/\/developers.cloudflare.com\/r2\/data-catalog\/get-started\/\">https:\/\/developers.cloudflare.com\/r2\/data-catalog\/get-started\/<\/a><\/p>\n<p>А так в него можно добавить AI<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">UW PICO 5.09                          File: \/Users\/yuriygavrilov\/.config\/marimo\/marimo.toml                             \n\n[completion]\nactivate_on_typing = true\ncopilot = &quot;custom&quot;\napi_key = &quot;sk-GIkXXXXXXXXXX&quot;\nmodel = &quot;openai\/o1&quot;\nbase_url = &quot;https:\/\/openai.api.proxyapi.ru\/v1&quot;<\/code><\/pre><p>и чуть ниже так..<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[ai.open_ai]\napi_key = &quot;sk-GIkXXXXXXXXXX&quot;\nmodel = &quot;openai\/o1&quot;\nbase_url = &quot;https:\/\/openai.api.proxyapi.ru\/v1&quot;<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.11.47.png\" width=\"1580\" height=\"1186\" alt=\"\" \/>\n<\/div>\n<p>Но как полечить это я еще не разгадал:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[E 250811 22:03:05 tools:173] Failed to get MCP tools: mcp is required for MCP server connections.<\/code><\/pre><p>а пока усложняем задачу.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.37.37.png\" width=\"1586\" height=\"1860\" alt=\"\" \/>\n<\/div>\n<p>Хех, работает :)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.38.17.png\" width=\"1598\" height=\"988\" alt=\"\" \/>\n<\/div>\n<p>Кстати уже писал про Bi as Code тут <a href=\"https:\/\/gavrilov.info\/all\/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob\/\">https:\/\/gavrilov.info\/all\/samye-populyarnye-instrumenty-biznes-analitiki-na-osnove-koda-ob\/<\/a><\/p>\n<p>Но будет полезно еще почитать по WASM контейнеры и запуст их в браузере, так как вся эта история на них хорошо работает, Evidence.dev например.<\/p>\n<p>UPD: <a href=\"https:\/\/a.gavrilov.info\/my_app2\/dist\/\">https:\/\/a.gavrilov.info\/my_app2\/dist\/<\/a> – тут можно посмотреть экспортированную демо тетрадку в формате wasm с хостингом на s3<\/p>\n<p>Экспортируются тетрадки так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">uv run  marimo export html-wasm markdown-format1.md -o my_app2\/dist --include-cloudflare --mode run<\/code><\/pre><p>Потом просто надо загрузить папку my_app2 в нужную директорию в все будет работать.<\/p>\n<p>А вот еще пример генерации кода c ИИ<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-17-v-10.27.34.png\" width=\"2156\" height=\"1600\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-17-v-10.30.33.png\" width=\"1148\" height=\"1508\" alt=\"\" \/>\n<\/div>\n<p>Тут можно посмотреть пример барчата <a href=\"https:\/\/a.gavrilov.info\/my_app3\/dist\/\">https:\/\/a.gavrilov.info\/my_app3\/dist\/<\/a><\/p>\n",
            "date_published": "2025-08-07T22:34:19+03:00",
            "date_modified": "2025-08-17T10:45:36+03:00",
            "tags": [
                "AI",
                "Data",
                "Programming"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/tetradki-nashe-vsyo-marimo-io-i-utochkadb.png",
            "_date_published_rfc2822": "Thu, 07 Aug 2025 22:34:19 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "260",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/tetradki-nashe-vsyo-marimo-io-i-utochkadb.png",
                    "https:\/\/gavrilov.info\/pictures\/Screenshot-from-2025-08-07-21-49-13.png",
                    "https:\/\/gavrilov.info\/pictures\/Screenshot-from-2025-08-07-21-47-55.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.11.47.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.37.37.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-11-v-22.38.17.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-17-v-10.27.34.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-17-v-10.30.33.png"
                ]
            }
        },
        {
            "id": "258",
            "url": "https:\/\/gavrilov.info\/all\/openai-oss-mozhno-kachat\/",
            "title": "OpenAI OSS: можно качать",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png\" width=\"1878\" height=\"1180\" alt=\"\" \/>\n<\/div>\n<p><a href=\"https:\/\/openai.com\/open-models\/\">https:\/\/openai.com\/open-models\/<\/a><\/p>\n<p>Для большой модели надо h100, а маленькая попроще и требует всего 16gb.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5231372004953823349-y.jpg\" width=\"1280\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<p>Ну и главное: удаляем сразу, если заметим, что клянчит деньги и просит купить меня :)<\/p>\n<p>А вот квенчик красавчик: ai molodca)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.38.36.png\" width=\"1218\" height=\"746\" alt=\"\" \/>\n<\/div>\n<p>но он знал ))<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.42.51.png\" width=\"852\" height=\"504\" alt=\"\" \/>\n<\/div>\n<p>почти<\/p>\n<p>trinking...<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">...\nBut the trick is that when &quot;А&quot; fell, it becomes &quot;а&quot; (lowercase?), but maybe not. Wait, another angle: in Russian, the phrase &quot;А упала&quot; could be a pun. Because &quot;упала&quot; means fell, but &quot;а&quot; is also the word for &quot;and&quot; in some contexts, but here it's the letter. Wait, maybe the answer is that only the &quot;и&quot; (which means &quot;and&quot;) is left? Because the sentence is &quot;А и Б сидели на трубе&quot;: A and B were sitting on the pipe. So the letters A, the word &quot;и&quot; (and), and B. So if A fell and B disappeared, then the &quot;и&quot; is left. Because the &quot;и&quot; is part of the phrase. Wait, that's a common riddle. Let me confirm.\n...<\/code><\/pre>",
            "date_published": "2025-08-05T21:40:28+03:00",
            "date_modified": "2025-08-05T21:50:26+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png",
            "_date_published_rfc2822": "Tue, 05 Aug 2025 21:40:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "258",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png",
                    "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5231372004953823349-y.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.38.36.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.42.51.png"
                ]
            }
        },
        {
            "id": "257",
            "url": "https:\/\/gavrilov.info\/all\/llm-v-produktivnoy-srede-yadronnye-tehnologii\/",
            "title": "LLM в продуктивной среде – Yadro’нные технологии",
            "content_html": "<p>Недавняя статья компании YADRO на Хабре, “Где живут LLM”, стала редким и ценным окном в реальную практику построения корпоративного инференс-кластера. Команда не только поделилась своей архитектурой, но и честно рассказала о проблемах, что делает их опыт вдвойне полезным. Спасибо им за это!<\/p>\n<p> 🚀🚀🚀 <a href=\"https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/\">https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<\/div>\n<p>Их кейс можно брать за основу, давайте разберем его и проведем небольшой анализ стека для работы с LLM — от низкоуровневых движков на GPU до low-code платформ для конечных пользователей. Этот разбор покажет, почему определенные технологические решения становятся стандартом и что необходимо для построения не просто работающей, а по-настоящему эффективной и масштабируемой AI-экосистемы.<\/p>\n<h5>Фундамент: Архитектура инференс-кластера<\/h5>\n<p>В основе кластера YADRO лежат проверенные и мощные компоненты, ставшие индустриальным стандартом:<\/p>\n<ul>\n<li><b>Оборудование:<\/b> Серверы с NVIDIA H100.<\/li>\n<li><b>Оркестрация:<\/b> Kubernetes.<\/li>\n<li><b>Движок инференса:<\/b> <b>vLLM<\/b>.<\/li>\n<\/ul>\n<p>Ключевым и очень показательным решением стал выбор <b>vLLM<\/b> вместо, казалось бы, более нативного для NVIDIA <b>Triton Inference Server<\/b>. Аргументация YADRO проста и прагматична: с vLLM «намного проще добавлять новые модели», и он «изначально предоставляет OpenAI-совместимые REST API».<\/p>\n<p>Это идеально отражает главный тренд в LLM Serving. Triton — это универсальная рабочая лошадка, мощная, но требующая серьезной подготовки: конвертации моделей в форматы вроде TensorRT и часто создания дополнительной «обвязки» для предоставления удобного API. vLLM, напротив, это специализированный инструмент, заточенный именно под LLM. Благодаря своей ключевой инновации — <b>PagedAttention<\/b>, которая кардинально оптимизирует управление памятью для KV-кэша, — он обеспечивает высочайшую пропускную способность и простоту использования «из коробки».<\/p>\n<h5>Средний слой: Production-ready операции и масштабирование<\/h5>\n<p>Переход от тестов к эксплуатации всегда вскрывает «узкие места». Опыт YADRO — прекрасное тому подтверждение.<\/p>\n<ol start=\"1\">\n<li><b>Проблема шлюза (Gateway):<\/b> Команда обнаружила, что популярный прокси <b>LiteLLM<\/b>, хотя и удобен для старта, становится узким местом при нагрузке выше 50 одновременных запросов. Их решение — разработка собственного `LLM Gateway` на Go — является абсолютно верным шагом для высоконагруженных систем. Такой шлюз берет на себя аутентификацию, логирование, rate-limiting и, что самое главное, умную маршрутизацию запросов. Для тех, кто не готов к собственной разработке, в экосистеме появляются готовые решения, такие как <b>vllm-router<\/b>, специально созданные для балансировки нагрузки между фермами vLLM-инстансов. <a href=\"https:\/\/docs.vllm.ai\/en\/stable\/deployment\/integrations\/production-stack.html\">https:\/\/docs.vllm.ai\/en\/stable\/deployment\/integrations\/production-stack.html<\/a><\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Продвинутое масштабирование в Kubernetes:<\/b> В статье упоминается горизонтальное автомасштабирование (HPA) по CPU. Для GPU-сервисов это неэффективно. Современный подход требует более точных триггеров:\n<ul>\n  <li>Масштабирование по GPU:** Использование `DCGM Exporter` от NVIDIA для сбора метрик утилизации GPU и настройка HPA или KEDA (Kubernetes Event-driven Autoscaling) по этим данным.<\/li>\n  <li>Масштабирование по очереди:** vLLM предоставляет метрику `vllm_requests_waiting` (количество запросов в очереди). Это лучший показатель реальной нагрузки: как только очередь растет, система добавляет новые поды с моделями.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Мониторинг (Production Metrics):<\/b> Для стабильной работы 24\/7 критически важно отслеживать специфичные метрики vLLM в реальном времени через Prometheus и Grafana:\n<ul>\n  <li>Производительность:** Time to First Token (TTFT) и Time per Output Token (TPOT).<\/li>\n  <li>Нагрузка:** `vllm_requests_running` (в обработке) и `vllm_requests_waiting` (в очереди).<\/li>\n  <li>Состояние памяти:** `vllm_gpu_cache_usage_perc` (процент использования KV-кэша). Рост этой метрики — прямой предвестник ошибки нехватки памяти (OOM).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h5>Верхний уровень: Платформы и интерфейсы для пользователей<\/h5>\n<p>Самый мощный бэкенд бесполезен без удобного доступа. YADRO упоминают, что предоставили пользователям интерфейсы через <b>Dify<\/b> и собственный WebUI, что выводит нас на уровень приложений и пользовательского опыта.<\/p>\n<ul>\n<li><b>Dify: Low-code платформа для создания AI-приложений.<\/b> Dify — это не просто чат, а открытая LLM Ops платформа, позволяющая быстро создавать и развертывать AI-приложения. С помощью визуального конструктора даже нетехнические специалисты могут собирать сложные воркфлоу, включая чат-ботов, RAG-системы (поиск по базам знаний) и AI-агентов. Dify подключается к инференс-кластеру по OpenAI API и служит мостом между мощным бэкендом и конечными бизнес-задачами.<\/li>\n<\/ul>\n<ul>\n<li><b>Open WebUI: Персональный и безопасный доступ к моделям.<\/b> Если Dify — это конструктор приложений, то <b>Open WebUI<\/b> — это универсальный и безопасный «кабинет» для прямого взаимодействия с моделями. Как отмечается в документации, это «расширяемая, многофункциональная и удобная платформа для самостоятельного хостинга, предназначенная для работы полностью в автономном режиме» <a href=\"https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html\">docs.vllm.ai<\/a>). Open WebUI предоставляет привычный интерфейс в стиле ChatGPT, но с расширенными возможностями: работа с локальными документами (RAG), веб-браузинг в чатах и управление доступом для команд — всё это в защищенном контуре компании <a href=\"https:\/\/www.repocloud.io\/details\/?app_id=271\">https:\/\/www.repocloud.io\/details\/?app_id=271<\/a>.<\/li>\n<\/ul>\n<h5>Инструменты для разработчиков: Интеграция в рабочий процесс<\/h5>\n<p>Чтобы LLM стали повседневным инструментом, их нужно встроить в рабочую среду разработчиков. YADRO верно отмечают ключевые компоненты этого уровня:<\/p>\n<ul>\n<li><b><a href=\"https:\/\/github.com\/continuedev\/continue\">Continue.dev<\/a>:<\/b> Open-source расширение для VS Code\/JetBrains, которое превращает внутренний инференс-кластер в полноценного AI-ассистента, работающего прямо в IDE.<\/li>\n<li><b><a href=\"https:\/\/openai.github.io\/openai-agents-python\/\">OpenAI SDK<\/a> и <a href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/demo\">LiteLLM<\/a>:<\/b> Использование этих библиотек на стороне клиентских приложений — золотой стандарт. Они позволяют разработчикам абстрагироваться от деталей реализации бэкенда и работать с унифицированным, удобным API.<\/li>\n<\/ul>\n<p>Кстати у litellm.ai есть демка их прокси сервера заходим Username: admin Password: sk-1234<br \/>\n<a href=\"https:\/\/demo.litellm.ai\/ui\">https:\/\/demo.litellm.ai\/ui<\/a><\/p>\n<h4>Итоги и выводы<\/h4>\n<p>Опыт YADRO — это отличный срез современной инженерной практики в области LLM. Его комплексный анализ позволяет сформировать полную картину production-ready AI-экосистемы, которая состоит из нескольких ключевых слоев:<\/p>\n<ol start=\"1\">\n<li><b>Бэкенд:<\/b> Специализированные движки (<b>vLLM<\/b>) на <b>Kubernetes<\/b> стали де-факто стандартом для высокопроизводительного инференса.<\/li>\n<li><b>API и Ops:<\/b> <b>OpenAI-совместимый API<\/b> — это универсальный «язык» для всех компонентов системы. Для масштабирования необходим кастомный <b>Gateway\/Router<\/b> (как у YADRO) и продвинутое <b>автомасштабирование<\/b> по метрикам GPU и длине очереди.<\/li>\n<li><b>Приложения и GUI:<\/b> Low-code платформы (<b>Dify<\/b>) позволяют быстро создавать бизнес-решения, а интерфейсы вроде <b>Open WebUI<\/b> или <b><a href=\"https:\/\/github.com\/danny-avila\/LibreChat\">LibreChat<\/a><\/b> предоставляют сотрудникам безопасный и многофункциональный доступ к моделям.<\/li>\n<li><b>DevX (Developer Experience):<\/b> Интеграция в IDE (<b>Continue.dev<\/b>) и использование стандартизированных <b>SDK<\/b> делают LLM по-настоящему удобным инструментом для разработчиков.<\/li>\n<\/ol>\n<p>Таким образом, создание «дома для LLM» — это далеко не только развертывание моделей на GPU. Это выстраивание целостной, многоуровневой системы, где каждый слой решает свою задачу, обеспечивая производительность, надежность и, в конечном итоге, ценность для бизнеса.<\/p>\n<h4>Ссылки Основная: <a href=\"https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/\">https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/<\/a><\/h4>\n<ul>\n<li><a href=\"https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html\">https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html<\/a><\/li>\n<li><a href=\"https:\/\/www.repocloud.io\/details\/?app_id=271\">https:\/\/www.repocloud.io\/details\/?app_id=271<\/a><\/li>\n<li><a href=\"https:\/\/docs.digitalocean.com\/products\/marketplace\/catalog\/open-webui\/\">https:\/\/docs.digitalocean.com\/products\/marketplace\/catalog\/open-webui\/<\/a><\/li>\n<li><a href=\"https:\/\/www.pondhouse-data.com\/blog\/integrating-n8n-with-open-webui\">https:\/\/www.pondhouse-data.com\/blog\/integrating-n8n-with-open-webui<\/a><\/li>\n<li><a href=\"https:\/\/www.requesty.ai\/blog\/openwebui-vs-librechat-which-self-hosted-chatgpt-ui-is-right-for-you\">https:\/\/www.requesty.ai\/blog\/openwebui-vs-librechat-which-self-hosted-chatgpt-ui-is-right-for-you<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/danny-avila\/LibreChat\">LibreChat <\/a><\/li>\n<\/ul>\n",
            "date_published": "2025-08-03T23:48:27+03:00",
            "date_modified": "2025-08-03T23:53:00+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg",
            "_date_published_rfc2822": "Sun, 03 Aug 2025 23:48:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "257",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg"
                ]
            }
        },
        {
            "id": "250",
            "url": "https:\/\/gavrilov.info\/all\/evolyuciya-i-buduschee-orkestracii-ii\/",
            "title": "Эволюция и будущее оркестрации ИИ",
            "content_html": "<p>Давайте проследим историю оркестрации и выясним, почему она стала обязательной для будущего ИИ и агентов.<\/p>\n<p>Оригинал тут: <a href=\"https:\/\/unionailoop.substack.com\/p\/the-evolution-and-future-of-ai-orchestration\">https:\/\/unionailoop.substack.com\/p\/the-evolution-and-future-of-ai-orchestration<\/a><br \/>\n2 июля 2025 г. – Кетан Умаре — генеральный директор и соучредитель Union.ai. Ранее он занимал несколько руководящих должностей в Lyft, Oracle и Amazon, работая с облачными технологиями, распределенными системами хранения данных, картографией и системами машинного обучения.<\/p>\n<p>Термин “оркестрация” значительно эволюционировал за последнее десятилетие. То, что начиналось как способ упорядочивания микросервисов и задач обработки данных, превратилось в ключевой фактор для современных приложений, охватывающий системы от традиционных бэкендов до высокодинамичных, интеллектуальных рабочих нагрузок на агентах.<\/p>\n<p>Сегодня мы наблюдаем ранние дни нового вида оркестрации, которая не просто перемещает данные или вызывает сервисы, но думает, адаптируется и реагирует в реальном времени. Давайте проследим историю оркестрации и выясним, почему она стала обязательной для будущего ИИ и агентов.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-194.png\" width=\"1456\" height=\"971\" alt=\"\" \/>\n<\/div>\n<p>Настоящим узким местом являются не модели или вычисления – это мы.<\/p>\n<p>Модели переходят от “что запускается дальше” к “что думает дальше”, и это заставляет формироваться новый, мощный слой наших технологических стеков. Но чтобы понять, что неизбежно, нам нужно понять, что привело нас сюда.<\/p>\n<p><b>1. Зарождение оркестрации: ETL и микросервисы<\/b><\/p>\n<p><b>2012 – ETL<\/b><br \/>\nОркестрация впервые появилась для обеспечения ETL (извлечение, преобразование, загрузка), где планировщики, такие как Airflow, управляли приемом и преобразованием данных на больших хранилищах данных.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-195.png\" width=\"1094\" height=\"537\" alt=\"\" \/>\n<\/div>\n<p><b>Диаграмма: Процесс ETL<\/b><\/p>\n<ul>\n<li>Извлечение:** Извлекает и проверяет данные из различных источников.<\/li>\n<li>Преобразование:** Обрабатывает и организует извлеченные данные, чтобы сделать их пригодными для использования.<\/li>\n<li>Загрузка:** Перемещает преобразованные данные в репозиторий данных.<\/li>\n<\/ul>\n<p><b>2014 – Микросервисы<\/b><br \/>\nПоскольку использование постоянно растущих объемов данных стало более критичным для инноваций, возникла потребность в оркестрации микросервисов, где системы, такие как AWS Step Functions или Cadence, обеспечивали надежное выполнение вызовов сервисов и повторные попытки в транзакционных системах.<\/p>\n<p>На ранних этапах оркестрация в основном сосредоточивалась на упорядочивании или определении, когда и как вызывать функцию, запускать скрипт или запускать контейнер. Трудоёмкие вычисления перекладывались на традиционные вычислительные движки, такие как Spark, AWS Batch, GCP Cloud Run или, позже, K8s. Оркестрация не касалась вычислений, и ей это было не нужно.<\/p>\n<p><b>2. Машинное обучение: оркестрация встречается с вычислениями<\/b><\/p>\n<p><b>2017 – ML-конвейеры<\/b><br \/>\nML привнесло новые требования: дорогие вычисления и отказоустойчивость.<\/p>\n<p>В отличие от микросервисов или пакетного ETL, рабочие процессы ML представляют собой долгосрочные процессы, тесно связанные с инфраструктурой. Графические процессоры, на которые сейчас в большей степени полагаются, особенно для нужд обучения ML, являются более дорогими, чем центральные процессоры. Обучение моделей, их оценка, настройка гиперпараметров — все это требует динамического распределения ресурсов GPU или CPU. А поскольку эти процессы занимают гораздо больше времени, отказоустойчивое восстановление после сбоев стало гораздо важнее.<\/p>\n<p>Эти потребности породили оркестраторы ML-конвейеров, такие как Flyte, которые до сих пор являются открытыми решениями для оркестрации, на которые полагается большинство команд.<\/p>\n<p><b>2021 – Управляемая оркестрация ML<\/b><br \/>\nПо мере того как оркестрация ML становилась более сложной, она ложилась более тяжелым бременем на команды ML, данных и платформ, которым нужно было поддерживать инфраструктуру. Им нужны были системы оркестрации, которые определяли DAG (ориентированный ациклический граф), выделяли ресурсы, управляли жизненным циклом задач и чисто масштабировались до нуля.<\/p>\n<p>Платформы оркестрации, такие как Union.ai, Prefect и Airflow, появились для снятия инфраструктурной нагрузки с оркестрации. С появлением эпохи ИИ они стали гораздо популярнее для команд, создающих рабочие процессы ИИ\/ML, как критически важную часть своей работы.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-196.png\" width=\"1456\" height=\"817\" alt=\"\" \/>\n<\/div>\n<p><b>3. Агентные системы: оркестрация в эпоху ИИ<\/b><\/p>\n<p><b>2025 – ИИ и агентная оркестрация<\/b><br \/>\nСейчас мы вступаем в новую фазу: оркестрацию интеллектуальных агентов и систем ИИ.<\/p>\n<p>Агенты — это автономные, способные сохранять состояние программы (часто управляемые большими языковыми моделями), которые могут планировать, рассуждать и действовать. И оркестрация критически важна для их успеха в масштабе. Почему?<\/p>\n<ol start=\"1\">\n<li><b>Они зависят от интеграций.<\/b> Агенты часто полагаются на внешние инструменты (API, базы данных, модели), и эти взаимодействия должны управляться.<\/li>\n<li><b>Они принимают динамические решения.<\/b> Агенты часто уточняют результаты за несколько проходов, подобно настройке гиперпараметров или рекурсивному исключению признаков в ML.<\/li>\n<li><b>Они делегируют.<\/b> Один агент может вызывать другого, который может разветвляться на новые инструменты или рабочие процессы.<\/li>\n<li><b>Они требуют вычислений.<\/b> Рассмотрим агентов, которые решают парсить веб или выполнять код. Если мы думаем об агентах как о программистах, то быстро понимаем, что оркестрация без доступа к вычислениям ограничивает их автономию.<\/li>\n<\/ol>\n<p>Современные платформы разработки ИИ должны быть способны оркестрировать эти стохастические системы от начала до конца и динамически, а не статически. В противном случае мы лишаем агентов свободы действий.<\/p>\n<p>Это отражает идеи Anthropic: создание эффективных агентов означает управление инструментами, адаптацию стратегий и надежное оркестрирование долгосрочных фоновых задач. Оркестрация здесь — это не статический DAG. Это динамический цикл.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-197.png\" width=\"914\" height=\"1193\" alt=\"\" \/>\n<\/div>\n<p><b>Будущая инфраструктура разработки ИИ<\/b><\/p>\n<p>“По некоторым оценкам, более 80% проектов ИИ терпят неудачу – это вдвое превышает процент неудач проектов в области информационных технологий, которые не связаны с ИИ”. – RAND<\/p>\n<p>По мере созревания ML и агентных систем в 2025 году и далее, команды, создающие их, обнаруживают, что общие потребности в разработке ИИ выходят на первый план. Это не гипотетические проблемы. Мы видели их вживую у реальных клиентов и в продуктах, которые они создают.<\/p>\n<ul>\n<li>Динамические рабочие процессы:** в отличие от статических DAG, динамические рабочие процессы позволяют агентам и системам ИИ принимать решения на лету во время выполнения.<\/li>\n<li>Гибкая интеграция инфраструктуры:** оркестрация должна происходить по облакам и кластерам, в некоторых случаях динамически переключаясь на источник наиболее доступных вычислений.<\/li>\n<li>Кросс-командное выполнение:** эти платформы должны объединять отдельных лиц, команды и агентов в единой среде разработки совместно, безопасно и надежно.<\/li>\n<li>Наблюдаемость, надежность и управление:** агенты и рабочие процессы могут работать автономно в черном ящике. Платформы разработки ИИ должны обеспечивать прозрачность для рассуждений, сбоев, происхождения данных и использования ресурсов.<\/li>\n<li>Масштаб:** большие данные становятся больше. Вычислительная мощность востребована как никогда. Платформы должны надежно справляться с требованиями к масштабированию, присущими этим системам.<\/li>\n<\/ul>\n<p><b>Заключение:<\/b><\/p>\n<p><b>Слой инфраструктуры разработки ИИ<\/b><\/p>\n<p>Мы вступаем в мир, где оркестрация — это не просто “что запускается дальше”, но “что думает дальше”.<\/p>\n<p>Эволюция от статических ETL-конвейеров к динамическим ML-рабочим процессам теперь совпала с ростом автономных агентов, и это сближение раскрывает фундаментальную истину.<\/p>\n<p><b>Агенты и современные ML-системы требуют нового слоя в наших технологических стеках: инфраструктуры разработки ИИ.<\/b><\/p>\n<p>Агенты и ML-системы по своей природе стохастичны, принимают решения во время выполнения на основе обрабатываемых данных, требуют динамического выделения вычислений и включают итеративное уточнение. Что наиболее важно, оба требуют оркестрации, которая может адаптироваться к изменяющимся условиям, а не просто выполнять предопределенные, линейные шаги.<\/p>\n<p>Это схождение указывает на единую, унифицированную абстракцию оркестрации, которая может обеспечить то, что так отчаянно необходимо обеим областям: надежность для долгосрочных процессов, которые не могут себе позволить терять состояние, динамическое обеспечение вычислений, масштабирующихся в соответствии со спросом, и отказоустойчивость, которая изящно обрабатывает неизбежные сбои в сложных, распределенных системах.<\/p>\n<p>Будущее оркестрации обеспечивает основу для слоя инфраструктуры разработки ИИ, будучи:<\/p>\n<ul>\n<li>Динамичной** – адаптирующей структуру рабочего процесса на основе условий выполнения.<\/li>\n<li>Эфемерной** – запускающей и останавливающей ресурсы по мере необходимости в рабочих процессах.<\/li>\n<li>Мультиагентной и мультичеловеческой** – оркеструющей сотрудничество между автономными системами и командами.<\/li>\n<li>Надежной и наблюдаемой** – обеспечивающей видимость и восстановление для систем, которые работают автономно.<\/li>\n<li>Безопасной** – управляющей доступом и выполнением в различных распределенных рабочих нагрузках.<\/li>\n<\/ul>\n<p>Оркестрация становится центральной нервной системой систем ИИ, питая этот новый слой инфраструктуры разработки ИИ в наших технологических стеках.<\/p>\n<p>Вопрос больше не “как запустить этот конвейер?”, а “как позволить системам решать, что запускать, когда запускать и как делать это надежно в масштабе?”<\/p>\n",
            "date_published": "2025-07-03T00:53:08+03:00",
            "date_modified": "2025-07-03T00:52:16+03:00",
            "tags": [
                "AI",
                "MLOps"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-194.png",
            "_date_published_rfc2822": "Thu, 03 Jul 2025 00:53:08 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "250",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-194.png",
                    "https:\/\/gavrilov.info\/pictures\/image-195.png",
                    "https:\/\/gavrilov.info\/pictures\/image-196.png",
                    "https:\/\/gavrilov.info\/pictures\/image-197.png"
                ]
            }
        },
        {
            "id": "247",
            "url": "https:\/\/gavrilov.info\/all\/analiz-orange-pi-ai-studio-pro-vs-nvidia-dgx-spark-project-digit\/",
            "title": "Анализ: Orange Pi AI Studio Pro vs. NVIDIA DGX Spark (Project DIGITS)",
            "content_html": "<p>Битва персональных AI-суперкомпьютеров  ( подготовил DeepSeek 😁 и спасибо ему за это )<br \/>\nЕсли чего, то эти игрушки для подходят для запуска средних моделей у себя дома. Железа должно хватит.<br \/>\nВпрочем битва только начинается. посмотрим, что еще выйдет. А пока наслаждаемся тем, что есть.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png\" width=\"2460\" height=\"1178\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.23.22.png\" width=\"2512\" height=\"1246\" alt=\"\" \/>\n<\/div>\n<h4><b>Введение: Эра доступного AI-железа<\/b><\/h4>\n<p>Революция генеративного ИИ сместила фокус с облачных кластеров на персональные устройства. В 2025 году два решения претендуют на звание «AI-суперкомпьютер на столе»: <b>NVIDIA DGX Spark<\/b> (ранее Project DIGITS) и <b>Orange Pi AI Studio Pro<\/b>. Оба обещают экзафлопсную производительность, но с разной философией. Разберем их детально, используя данные из официальных анонсов, тестовых обзоров и сообществ <a href=\"https:\/\/habr.com\/ru\/companies\/bothub\/news\/872002\">https:\/\/habr.com\/ru\/companies\/bothub\/news\/872002<\/a> и <a href=\"https:\/\/www.reddit.com\/r\/LocalLLaMA\/comments\/1im141p\/orange_pi_ai_studio_pro_mini_pc_with_408gbs.\">https:\/\/www.reddit.com\/r\/LocalLLaMA\/comments\/1im141p\/orange_pi_ai_studio_pro_mini_pc_with_408gbs.<\/a><\/p>\n<hr \/>\n<h4><b>1. Аппаратная платформа: Архитектура и Производительность<\/b><\/h4>\n<h5><b>NVIDIA DGX Spark<\/b><\/h5>\n<ul>\n<li><b>Чипсет<\/b>: GB10 Grace Blackwell Superchip – гибрид 20-ядерного ARM-процессора (Cortex-X925 + Cortex-A725) и GPU Blackwell с Tensor Core 5-го поколения .<\/li>\n<li><b>Память<\/b>: 128 ГБ LPDDR5X с единым адресным пространством (CPU+GPU), что критично для обработки моделей до 200B параметров без перегрузок .<\/li>\n<li><b>Производительность<\/b>: 1 PFLOPS при FP4 с поддержкой спарсности. Для моделей >200B параметров два устройства связываются через ConnectX-7, достигая 405B .<\/li>\n<li><b>Энергоэффективность<\/b>: Потребляет ~120–240 Вт, работает от розетки 220 В .<\/li>\n<\/ul>\n<h5><b>Orange Pi AI Studio Pro<\/b><\/h5>\n<ul>\n<li><b>Чипсет<\/b>: Huawei Ascend 310s с NPU, заявленная производительность – <b>352 TOPS<\/b> (INT8) в Pro-версии .<\/li>\n<li><b>Память<\/b>: До 192 ГБ LPDDR4X (в конфигурации Pro), но без унификации. Пользователи Reddit отмечают проблемы с пропускной способностью при загрузке LLM >70B параметров .<\/li>\n<li><b>Масштабируемость<\/b>: Нет аналога NVLink. Для больших моделей требуется ручная оптимизация через swap-файлы .<\/li>\n<li><b>Охлаждение<\/b>: Инженерные образцы склонны к перегреву при длительной нагрузке, что требует дополнительного кулера .<\/li>\n<\/ul>\n<p><b>Резюме<\/b>: DGX Spark выигрывает в балансе памяти и вычислений, Orange Pi предлагает сырую мощность TOPS, но страдает от архитектурных ограничений.<\/p>\n<p>---<\/p>\n<h4><b>2. Программная экосистема: Готовность к работе<\/b><\/h4>\n<h5><b>NVIDIA<\/b><\/h5>\n<ul>\n<li><b>Стек<\/b>: Полная предустановка DGX OS + CUDA, NeMo, RAPIDS, поддержка PyTorch\/Jupyter. Бесшовная интеграция с NGC-каталогом и облаком DGX .<\/li>\n<li><b>Развертывание<\/b>: Локальная тонкая настройка (fine-tuning) моделей до 70B параметров с последующим деплоем в дата-центр без переписывания кода .<\/li>\n<li><b>Для разработчиков<\/b>: Поддержка Windows через WSL2, что упрощает миграцию с ПК .<\/li>\n<\/ul>\n<h5><b>Orange Pi<\/b><\/h5>\n<ul>\n<li><b>ПО<\/b>: Базовые образы Ubuntu\/OpenEuler. Для работы AI требуется CANN-Toolkit (только через Docker), установка которого занимает 5–6 часов из-за зависимостей .<\/li>\n<li><b>Поддерживаемые фреймворки<\/b>: ONNX, TensorFlow, Caffe. <b>Нет поддержки PyTorch напрямую!<\/b> Экспорт LLM (например, Whisper) возможен только через ONNX с ручной конвертацией .<\/li>\n<li><b>Сообщество<\/b>: Документация – преимущественно на китайском. Англоязычные гайды фрагментарны, а на Reddit жалуются на сложность отладки .<\/li>\n<\/ul>\n<p><b>Резюме<\/b>: NVIDIA предлагает enterprise-решение «из коробки», Orange Pi требует экспертных знаний и времени для настройки.<\/p>\n<p>---<\/p>\n<h4><b>3. Сценарии использования: Для кого эти устройства?<\/b><\/h4>\n<ul>\n<li><b>NVIDIA DGX Spark<\/b>:\n<ul>\n  <li><b>Исследователи<\/b>: Локальный запуск Llama 3 70B или GPT-4-class моделей.<\/li>\n  <li><b>Корпорации<\/b>: Разработка edge-приложений для робототехники (Isaac) или медвизуализации (Clara) с гарантией совместимости .<\/li>\n  <li><b>Стартапы<\/b>: Прототипирование агентов ИИ с помощью NIM-микросервисов .<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Orange Pi AI Studio Pro<\/b>:\n<ul>\n  <li><b>Энтузиасты<\/b>: Эксперименты с компьютерным зрением (YOLO) на дешевом железе.<\/li>\n  <li><b>Нишевые проекты<\/b>: Развертывание специфичных моделей (например, для обработки сенсорных данных), где не нужна интеграция с облаком.<\/li>\n  <li><b>Китайский рынок<\/b>: Альтернатива Jetson Orin для вузов и госпредприятий .<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>---<\/p>\n<h4><b>4. Цена и Доступность<\/b><\/h4>\n<ul>\n<li><b>NVIDIA<\/b>: От $3000, доступен с мая 2025 через партнеров (например, Dell, Supermicro) .<\/li>\n<li><b>Orange Pi<\/b>: Цена не объявлена, но аналоги (Atlas 200I DK) стоили ~$500. Ориентировочно Pro-версия – $700–$1000. <b>Важно<\/b>: нет глобальных поставок; покупка только через AliExpress .<\/li>\n<\/ul>\n<h4><b>Итоговая таблица сравнения<\/b><\/h4>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\"><b>Критерий<\/b><\/td>\n<td style=\"text-align: center\"><b>NVIDIA DGX Spark<\/b><\/td>\n<td style=\"text-align: center\"><b>Orange Pi AI Studio Pro<\/b><\/td>\n<\/tr>\n<tr>\n<td>----------------------------<\/td>\n<td>------------------------------------------<\/td>\n<td>--------------------------------------<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Аппаратная мощность<\/b><\/td>\n<td style=\"text-align: center\">1 PFLOPS (FP4), 128 ГБ RAM<\/td>\n<td style=\"text-align: center\">352 TOPS (INT8), 192 ГБ RAM<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Поддержка LLM<\/b><\/td>\n<td style=\"text-align: center\">До 405B параметров (2 устройства)<\/td>\n<td style=\"text-align: center\">До 70B (с оговорками)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Программная готовность<\/b><\/td>\n<td style=\"text-align: center\">Полный стек AI Enterprise<\/td>\n<td style=\"text-align: center\">Ручная настройка CANN-Toolkit<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Экосистема<\/b><\/td>\n<td style=\"text-align: center\">CUDA, PyTorch, облачная интеграция<\/td>\n<td style=\"text-align: center\">ONNX\/TensorFlow, изолированность<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Целевая аудитория<\/b><\/td>\n<td style=\"text-align: center\">Enterprise, исследователи<\/td>\n<td style=\"text-align: center\">Энтузиасты, нишевые разработчики<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Цена<\/b><\/td>\n<td style=\"text-align: center\">От $3000<\/td>\n<td style=\"text-align: center\">~$700–$1000 (оценка)<\/td>\n<\/tr>\n<\/table>\n<h4><b>Заключение: Что выбрать?<\/b><\/h4>\n<ul>\n<li><b>NVIDIA DGX Spark<\/b> – выбор для тех, кому нужен <b>промышленный инструмент<\/b> с минимумом настройки. Идеален для команд, внедряющих ИИ в продукты с последующим масштабированием. Демократизация без жертв .<\/li>\n<li><b>Orange Pi AI Studio Pro<\/b> – <b>экспериментальная платформа<\/b> для тех, кому важен TOPS\/$ и кто готов бороться с китайской документацией. Подойдет для R&D в условиях санкционных ограничений или бюджетных проектов .<\/li>\n<\/ul>\n<p><b>Тренд<\/b>: Оба устройства подтверждают сдвиг ИИ в сторону edge-вычислений. Но если NVIDIA ведет к «персонализации суперкомпьютеров», то Orange Pi остается хардварным хаком для избранных. Ориентируйтесь на задачи: для стартапа или лаборатории – DGX Spark; для образовательных целей или кастомных задач – Orange Pi, если вы готовы к боли.<\/p>\n<blockquote>\n<p>*«AI будет мейнстримом в каждом приложении для каждой индустрии»* (Дженсен Хуанг, NVIDIA ). В 2025 это звучит как констатация факта, а не прогноз.<\/p>\n<\/blockquote>\n<p>Почитать подробнее можно тут:<br \/>\n<a href=\"https:\/\/www.nvidia.com\/en-us\/products\/workstations\/dgx-spark\/\">https:\/\/www.nvidia.com\/en-us\/products\/workstations\/dgx-spark\/<\/a><br \/>\nили тут<br \/>\n<a href=\"http:\/\/www.orangepi.cn\/html\/hardWare\/computerAndMicrocontrollers\/details\/Orange-Pi-AI-Studio-Pro.html\">http:\/\/www.orangepi.cn\/html\/hardWare\/computerAndMicrocontrollers\/details\/Orange-Pi-AI-Studio-Pro.html<\/a><\/p>\n",
            "date_published": "2025-06-22T18:29:39+03:00",
            "date_modified": "2025-09-24T23:41:42+03:00",
            "tags": [
                "AI",
                "Hardware",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png",
            "_date_published_rfc2822": "Sun, 22 Jun 2025 18:29:39 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "247",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.23.22.png"
                ]
            }
        },
        {
            "id": "244",
            "url": "https:\/\/gavrilov.info\/all\/waic-2025-world-artificial-intelligence-conference\/",
            "title": "WAIC 2025 – World Artificial Intelligence Conference",
            "content_html": "<p><b>WAIC (World Artificial Intelligence Conference)<\/b> — это крупнейшая международная конференция по искусственному интеллекту, проходящая в Китае. Её ключевые аспекты:<\/p>\n<p>300 000 посетителей 😱 и 1300 спикеров 😱 <a href=\"https:\/\/www.worldaic.com.cn\">https:\/\/www.worldaic.com.cn<\/a> – программу не ищите,  ее просто нет. еще.<\/p>\n<p>pdf тут <a href=\"http:\/\/a.gavrilov.info\/data\/posts\/WAIC2025.pdf\">http:\/\/a.gavrilov.info\/data\/posts\/WAIC2025.pdf<\/a><\/p>\n<ol start=\"1\">\n<li><b>Фокус на инновациях<\/b>:\n<ul>\n  <li>Демонстрация прорывных технологий, включая <b>робототехнику и Embodied AI<\/b> (физические роботы, заменяющие людей в локальных сценариях). Например, на WAIC 2024 было представлено [более 50 роботов], многие из которых дебютировали именно здесь.<\/li>\n  <li>Участие ведущих компаний (включая Alibaba, SenseTime), даже тех, кто не специализируется исключительно на ИИ.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Глобальное управление ИИ<\/b>:\n<ul>\n  <li>Конференция служит площадкой для обсуждения этических норм и международного регулирования ИИ. В 2025 году запланирован [высокоуровневый саммит по глобальному управлению ИИ с участием политических деятелей (например, министра иностранных дел Китая Ван И).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Бизнес-экосистема<\/b>:\n<ul>\n  <li>Стартапы (например, SenseTime, разработчик систем распознавания лиц) привлекают многомиллионные инвестиции через WAIC.<\/li>\n  <li>Выставки и нетворкинг объединяют инвесторов, разработчиков и корпорации.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Тренды<\/b>:\n<ul>\n  <li>Акцент на <b>практическом применении ИИ<\/b> в промышленности, здравоохранении и повседневной жизни.<\/li>\n  <li>Рост темпов развития не только программных, но и аппаратных решений (роботы, сенсоры).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>⚠️ Не путать с Western Association of Independent Camps WAIC <a href=\"https:\/\/www.waic.org\">https:\/\/www.waic.org<\/a> — это отдельная организация, не связанная с ИИ.<\/p>\n<p>Как же захотелось в Шанхай :)<\/p>\n<p>Их сайт <a href=\"https:\/\/online2025.worldaic.com.cn\">https:\/\/online2025.worldaic.com.cn<\/a> у меня с компа не открылся :( вроде должна быть возможность платного участия, но онлайн.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1170\" data-ratio=\"1.4079422382671\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6941.jpg\" width=\"1170\" height=\"831\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6942.jpg\" width=\"1170\" height=\"826\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6944.jpg\" width=\"1170\" height=\"815\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6945.jpg\" width=\"1170\" height=\"833\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6946.jpg\" width=\"1170\" height=\"830\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6947.jpg\" width=\"1170\" height=\"834\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6949.jpg\" width=\"1170\" height=\"822\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6950.jpg\" width=\"1170\" height=\"826\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6952.jpg\" width=\"1170\" height=\"837\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6953.jpg\" width=\"1170\" height=\"832\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6954.jpg\" width=\"1170\" height=\"828\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6955.jpg\" width=\"1170\" height=\"810\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6956.jpg\" width=\"1170\" height=\"826\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6957.jpg\" width=\"1170\" height=\"828\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6958.jpg\" width=\"1170\" height=\"828\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6959.jpg\" width=\"1170\" height=\"819\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6960.jpg\" width=\"1170\" height=\"826\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6962.jpg\" width=\"1170\" height=\"824\" alt=\"\" \/>\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_6964.jpg\" width=\"1170\" height=\"811\" alt=\"\" \/>\n<\/div>\n<\/div>\n",
            "date_published": "2025-06-06T00:09:25+03:00",
            "date_modified": "2025-06-07T13:29:26+03:00",
            "tags": [
                "AI",
                "WAIC 2025"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/IMG_6941.jpg",
            "_date_published_rfc2822": "Fri, 06 Jun 2025 00:09:25 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "244",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/IMG_6941.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6942.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6944.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6945.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6946.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6947.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6949.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6950.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6952.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6953.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6954.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6955.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6956.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6957.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6958.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6959.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6960.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6962.jpg",
                    "https:\/\/gavrilov.info\/pictures\/IMG_6964.jpg"
                ]
            }
        },
        {
            "id": "239",
            "url": "https:\/\/gavrilov.info\/all\/transkribaciya-audio-python-na-faster-whisper\/",
            "title": "Транскрибация аудио python на faster-whisper",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-174.png\" width=\"256\" height=\"256\" alt=\"\" \/>\n<\/div>\n<p>Все достаточно легко<\/p>\n<p>Подготовка<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">python3 -m venv .\/whisper<\/code><\/pre><p>Активация и установка этого <a href=\"https:\/\/github.com\/SYSTRAN\/faster-whisper\">https:\/\/github.com\/SYSTRAN\/faster-whisper<\/a><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">source .\/whisper\/bin\/activate\npip install faster-whisper<\/code><\/pre><p>Сам код<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">import sys\nimport os\nimport time\nfrom faster_whisper import WhisperModel\n\n# --- Конфигурация модели Whisper ---\nmodel_size = &quot;large-v3&quot;\n# Выберите свою конфигурацию:\n# model = WhisperModel(model_size, device=&quot;cuda&quot;, compute_type=&quot;float16&quot;) # Если есть GPU и CUDA\n# model = WhisperModel(model_size, device=&quot;cuda&quot;, compute_type=&quot;int8_float16&quot;) # Если есть GPU и CUDA с INT8\nmodel = WhisperModel(model_size, device=&quot;cpu&quot;, compute_type=&quot;int8&quot;) # Для CPU (как в вашем примере)\n# -----------------------------------\n\ndef transcribe_mp3_to_text(mp3_filepath):\n    &quot;&quot;&quot;\n    Транскрибирует MP3 файл и сохраняет результат в текстовый файл.\n    &quot;&quot;&quot;\n    if not os.path.exists(mp3_filepath):\n        print(f&quot;Ошибка: Файл MP3 не найден: {mp3_filepath}&quot;)\n        return False\n\n    if not mp3_filepath.lower().endswith(&quot;.mp3&quot;):\n        print(f&quot;Ошибка: Файл '{mp3_filepath}' не является MP3 файлом. Пропускаем.&quot;)\n        return False\n\n    # Извлечение имени файла без расширения\n    filename_without_ext = os.path.splitext(os.path.basename(mp3_filepath))[0]\n    output_txt_filepath = os.path.join(os.path.dirname(mp3_filepath), f&quot;{filename_without_ext}.txt&quot;)\n\n    print(f&quot;[{time.strftime('%Y-%m-%d %H:%M:%S')}] Начинаем транскрипцию '{mp3_filepath}'...&quot;)\n    print(f&quot;Результат будет сохранен в '{output_txt_filepath}'&quot;)\n\n    try:\n        segments, info = model.transcribe(mp3_filepath, beam_size=5)\n\n        detected_language_msg = f&quot;Detected language: '{info.language}' with probability {info.language_probability:.2f}&quot;\n        print(detected_language_msg)\n\n        # Сохранение транскрипции в текстовый файл\n        with open(output_txt_filepath, 'w', encoding='utf-8') as f_out:\n            f_out.write(f&quot;--- Транскрипция для: {os.path.basename(mp3_filepath)} ---\\n&quot;)\n            f_out.write(f&quot;{detected_language_msg}\\n\\n&quot;)\n            \n            full_text = [] # Для сбора всего текста, если нужно вывести в конце\n\n            for segment in segments:\n                segment_line = f&quot;[{segment.start:.2f}s -&gt; {segment.end:.2f}s] {segment.text}&quot;\n                print(segment_line) # Выводим в консоль для отладки\n                f_out.write(f&quot;{segment.text}\\n&quot;) # Записываем только текст в файл, по сегментам\n                full_text.append(segment.text)\n\n            # Если вы хотите сохранить всю транскрипцию одним блоком в конце файла или отдельный файл\n            # f_out.write(&quot;\\n\\n--- Полный текст ---\\n&quot;)\n            # f_out.write(&quot; &quot;.join(full_text))\n\n        print(f&quot;[{time.strftime('%Y-%m-%d %H:%M:%S')}] Транскрипция успешно завершена! Результат в '{output_txt_filepath}'&quot;)\n        return True\n\n    except Exception as e:\n        print(f&quot;Ошибка при транскрипции файла '{mp3_filepath}': {e}&quot;)\n        # Вы можете добавить логирование ошибки в отдельный файл, если нужно\n        return False\n\nif __name__ == &quot;__main__&quot;:\n    if len(sys.argv) &lt; 2:\n        print(&quot;Использование: python process_mp3.py &lt;путь\/к\/вашему\/файлу.mp3&gt;&quot;)\n        sys.exit(1)\n\n    mp3_file_path_arg = sys.argv[1] # Это будет полный путь к MP3 файлу, переданный из Automator\/Bash\n    transcribe_mp3_to_text(mp3_file_path_arg)<\/code><\/pre><p>Итоги запуска<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">(whisper) (base) yuriygavrilov@MacBookPro fastwhisper % python whisp.py            \nDetected language 'ru' with probability 0.998883\n[0.00s -&gt; 4.96s]  Раз, два, три, привет, как дела?\n[5.94s -&gt; 8.54s]  Все хорошо, а у тебя как?\n[9.54s -&gt; 10.78s]  И у меня все хорошо\n[10.78s -&gt; 12.98s]  Спасибо, пока\n(whisper) (base) yuriygavrilov@MacBookPro fastwhisper %<\/code><\/pre><p>тестовый файл тут<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" data-length=\"14\" href=\"https:\/\/gavrilov.info\/audio\/test.mp3\">test.mp3<\/a><\/div>\n<\/div>\n<p>ограничений по времени нет, кормите его любыми файлами любой длины. Если нужно можно упростить запуск как хотите. На мак можно даже поставить действие на папку и при появлении там файлов типа mp3 они будут автоматически транскрибироваться.<\/p>\n<p>Буду делать через приложении на маке automator<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-29-v-04.39.57.png\" width=\"316\" height=\"342\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-21.04.40.png\" width=\"1134\" height=\"240\" alt=\"\" \/>\n<\/div>\n<p>Как то примерно так :)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-21.38.38.png\" width=\"1228\" height=\"1198\" alt=\"\" \/>\n<\/div>\n<p>осталось прикрутить это а действие к папке<\/p>\n<p>кажись заработало :)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.07.03.png\" width=\"132\" height=\"58\" alt=\"\" \/>\n<\/div>\n<p>Создалась транскрипция сама<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.07.58.png\" width=\"386\" height=\"282\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.08.33.png\" width=\"750\" height=\"280\" alt=\"\" \/>\n<\/div>\n<p>получилось в итоге вот так: Открываем Automator, настраиваем действие и все.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.10.06.png\" width=\"1184\" height=\"870\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.12.51.png\" width=\"2482\" height=\"490\" alt=\"\" \/>\n<\/div>\n<p>работает так: кидаем файл в папку тест, скрипт запускается, транскрипция появляется рядом. Все.<\/p>\n<p>Проверим качество модели на этом:<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/AA_Cat_2025_v1.mp3\">AA_Cat_2025_v1.mp3<\/a><\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.24.14.png\" width=\"824\" height=\"558\" alt=\"\" \/>\n<\/div>\n<p>почти идеал 🤘<\/p>\n<p>Второй раз чуть иначе, но почти точно.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.37.19.png\" width=\"874\" height=\"546\" alt=\"\" \/>\n<\/div>\n",
            "date_published": "2025-05-27T22:15:27+03:00",
            "date_modified": "2025-05-29T04:42:50+03:00",
            "tags": [
                "AI",
                "Audio"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-174.png",
            "_date_published_rfc2822": "Tue, 27 May 2025 22:15:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "239",
            "_rss_enclosures": [
                {
                    "url": "https:\/\/gavrilov.info\/audio\/test.mp3",
                    "type": "audio\/mpeg",
                    "length": 42578
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/AA_Cat_2025_v1.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                }
            ],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "jouele\/jouele.css",
                    "jouele\/jouele.js"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-174.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-29-v-04.39.57.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-21.04.40.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-21.38.38.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.07.03.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.07.58.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.08.33.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.10.06.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.12.51.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.24.14.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-05-27-v-22.37.19.png"
                ]
            }
        },
        {
            "id": "238",
            "url": "https:\/\/gavrilov.info\/all\/neplohoe-prilozhenie-dlya-raspoznaniya-golosa\/",
            "title": "Неплохое приложение для распознания голоса",
            "content_html": "<p>Но только для мака и есть локальные модели<\/p>\n<p><a href=\"https:\/\/superwhisper.com\">https:\/\/superwhisper.com<\/a><\/p>\n<p>недавно появилось приложение для ИОС<\/p>\n<p><a href=\"https:\/\/apps.apple.com\/us\/app\/superwhisper\/id6471464415\">https:\/\/apps.apple.com\/us\/app\/superwhisper\/id6471464415<\/a><\/p>\n",
            "date_published": "2025-05-25T23:17:46+03:00",
            "date_modified": "2025-05-25T23:17:44+03:00",
            "tags": [
                "AI",
                "Voice"
            ],
            "_date_published_rfc2822": "Sun, 25 May 2025 23:17:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "238",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "237",
            "url": "https:\/\/gavrilov.info\/all\/testiruem-suno-4-5\/",
            "title": "Тестируем Suno 4.5 🎸🤘",
            "content_html": "<p>В целом нейронка показывает себя достойно, почти как 4.0 но чуть качественнее и может создавать треки по 8 минут. 4 могла только до 4 минут.<\/p>\n<p>Пара экспериментов<\/p>\n<p>Жрецы данных :) 🤣🤘🎸<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v24.mp3\">Priests_of_Data_(Жрецы_Данных)_2025_v24.mp3<\/a><\/div>\n<\/div>\n<p>А вот по заказу в стиле кровостока 🤣 от <a href=\"https:\/\/datanature.ru\">Александра Баракова<\/a>, но пожалуй надо текст переписать<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v25.mp3\">Priests_of_Data_(Жрецы_Данных)_2025_v25.mp3<\/a><\/div>\n<\/div>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v26.mp3\">Priests_of_Data_(Жрецы_Данных)_2025_v26.mp3<\/a><\/div>\n<\/div>\n<p>Другой текст 🙉<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v46.mp3\">Priests_of_Data_(Жрецы_Данных)_2025_v46.mp3<\/a><\/div>\n<\/div>\n<p>Это то как нейронка понимает dmbok и предлагает исполнение, от себя я не добавлял ничего. Но был интересный опыт в первом промте я попросил нейронку дать рекомендации, не только для меня но и для другой нейронки. ( deepseek был первый, вторая flash 2.5 preview )<\/p>\n<p>Маленькие правки некоторых выражений все же были, но наверное только ради хорошего звучания на русском и что бы не коробило слух.<\/p>\n<p>Анна Ахматова<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/AA_Cat_2025_v1.mp3\">AA_Cat_2025_v1.mp3<\/a><\/div>\n<\/div>\n<p>Ремикс на песню apologies onerepublic<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Apologize_by_me_2025_v5.mp3\">Apologize_by_me_2025_v5.mp3<\/a><\/div>\n<\/div>\n<p>Кстати нейронка теперь лучше защищает авторские права, ее нельзя попросить спой как Киркоров, идет проверка по названиям треков и исполнителям. Но можно другую нейронку попросить переделать песню. Вот как например эта:<\/p>\n<p>Этот трек переписала другая нейронка, но с сохранением смысла. Использовала Flash 2.5 preview.<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Apologize_by_me_2025_v2.mp3\">Apologize_by_me_2025_v2.mp3<\/a><\/div>\n<\/div>\n<p>4.5 сейчас платная, стоит 10 $ в месяц<br \/>\nЕще в бесплатных версиях они начали портить чуть треки, что ты купил их.<\/p>\n<p>С первого раза не получается хорошо, очень редко, обычно 10-15 раз надо сгенерировать  снова и поправить слова или написать английские слова на русском, что бы нейронка понимала как произнести.<\/p>\n<p>В версии 4.5 появился функционал генерации кусочков, то есть если песня вам нравится, а только некоторые слова или окончание надо поправить, то это можно сделать. Заменить можно примерно любые 6 секунд.<\/p>\n<p>Немного профильных треков:<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/The_One_S7_Community_analysts_BD_2025.mp3\">The_One_S7_Community_analysts_BD_2025.mp3<\/a><\/div>\n<\/div>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/Evolving_Data's_Path_(Code_of_High)_2025_v12.mp3\">Evolving_Data’s_Path_(Code_of_High)_2025_v12.mp3<\/a><\/div>\n<\/div>\n<p>Для сравнение этот трек сделан на версии 4.0:<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/EDP_2025.mp3\">EDP_2025.mp3<\/a><\/div>\n<\/div>\n<p>А тут немного личного :) такое нейронка пишет на после анализа чатов, ну почти 🙈🥹<\/p>\n<div class=\"e2-text-audio\">\n<div class=\"e2-text-super-wrapper e2-jouele-wrapper\"><a class=\"jouele\" data-space-control=\"true\" href=\"http:\/\/a.gavrilov.info\/data\/posts\/In_the_Fog_of_Love_2025_v1.mp3\">In_the_Fog_of_Love_2025_v1.mp3<\/a><\/div>\n<\/div>\n<p>Все тексты делал тут: <a href=\"http:\/\/openrouter.ai\">http:\/\/openrouter.ai<\/a> в основном Gemini Flash 2.5 либо DeepSeek R1<\/p>\n",
            "date_published": "2025-05-19T08:29:28+03:00",
            "date_modified": "2025-05-21T09:05:12+03:00",
            "tags": [
                "AI",
                "Data",
                "Music"
            ],
            "_date_published_rfc2822": "Mon, 19 May 2025 08:29:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "237",
            "_rss_enclosures": [
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v24.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v25.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v26.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Priests_of_Data_(Жрецы_Данных)_2025_v46.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/AA_Cat_2025_v1.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Apologize_by_me_2025_v5.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Apologize_by_me_2025_v2.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/The_One_S7_Community_analysts_BD_2025.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/Evolving_Data's_Path_(Code_of_High)_2025_v12.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/EDP_2025.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                },
                {
                    "url": "http:\/\/a.gavrilov.info\/data\/posts\/In_the_Fog_of_Love_2025_v1.mp3",
                    "type": "audio\/mpeg",
                    "length": ""
                }
            ],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "jouele\/jouele.css",
                    "jouele\/jouele.js"
                ],
                "og_images": []
            }
        },
        {
            "id": "233",
            "url": "https:\/\/gavrilov.info\/all\/prakticheskoe-rukovodstvo-postroeniya-agentov-ii\/",
            "title": "Практическое руководство построения Агентов ИИ",
            "content_html": "<p><a href=\"http:\/\/a.gavrilov.info\/data\/posts\/Practical_Guide_to_Building_Agents.pdf\">Инструкция оригинал тут<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/AI_Agents.png\" width=\"600\" height=\"380\" alt=\"\" \/>\n<\/div>\n<p>Потом еще свой код покажу, но он работает в версии 1.65, надо бы обновить.<\/p>\n<p>Документ представляет собой руководство по разработке автономных систем (агентов) на базе языковых моделей (LLM). Основные темы:<\/p>\n<p>Определение агентов: системы, выполняющие задачи от имени пользователя с высокой степенью автономии.<br \/>\nКлючевые компоненты: модели LLM, инструменты (API, функции), инструкции, защитные механизмы (guardrails).<br \/>\nОркестрация: подходы к управлению агентами (одиночные и мультиагентные системы).<br \/>\nGuardrails: механизмы безопасности для контроля рисков.<br \/>\nПрактические рекомендации: выбор моделей, проектирование инструментов, обработка исключений, интеграция с людьми.<\/p>\n<p>Ниже не полный перевод. Раздел Guardrails очень интересный!<\/p>\n<hr \/>\n<h4>Практическое руководство по созданию агентов<\/h4>\n<p><b>Автор: OpenAI<\/b><\/p>\n<p>---<\/p>\n<h5>Содержание<\/h5>\n<ol start=\"1\">\n<li><b>Введение<\/b><\/li>\n<li><b>Что такое агент?<\/b><\/li>\n<li><b>Когда следует создавать агента?<\/b><\/li>\n<li><b>Основы проектирования агентов<\/b><\/li>\n<li><b>Выбор моделей<\/b><\/li>\n<li><b>Определение инструментов<\/b><\/li>\n<li><b>Конфигурация инструкций<\/b><\/li>\n<li><b>Оркестрация<\/b>\n<ul>\n  <li>8.1. Системы с одним агентом<\/li>\n  <li>8.2. Мультиагентные системы<\/li>\n<\/ul>\n<\/li>\n<li><b>Защитные механизмы (Guardrails)<\/b><\/li>\n<li><b>Заключение<\/b><\/li>\n<\/ol>\n<p>---<\/p>\n<h4>1. Введение<\/h4>\n<p>Крупные языковые модели (LLM) становятся всё более способными решать сложные многошаговые задачи. Достижения в области логических рассуждений, мультимодальности и использования инструментов открыли новую категорию систем на базе LLM — <b>агентов<\/b>.<\/p>\n<p>Это руководство предназначено для продуктовых и инженерных команд, изучающих создание своих первых агентов. В нём собраны практические рекомендации, основанные на опыте внедрения агентов в различных проектах.<\/p>\n<p><b>После прочтения вы узнаете:<\/b><\/p>\n<ul>\n<li>Как выбирать подходящие сценарии использования.<\/li>\n<li>Как проектировать логику агентов и управлять их взаимодействием.<\/li>\n<li>Как обеспечивать безопасность и предсказуемость работы.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>2. Что такое агент?<\/h4>\n<p>Агенты — системы, которые <b>самостоятельно<\/b> выполняют задачи от имени пользователя.<\/p>\n<h5>Ключевые характеристики:<\/h5>\n<ol start=\"1\">\n<li><b>Использование LLM<\/b>\n<ul>\n  <li>Управление рабочими процессами.<\/li>\n  <li>Корректировка действий при ошибках.<\/li>\n<\/ul>\n<\/li>\n<li><b>Доступ к инструментам<\/b>\n<ul>\n  <li>Взаимодействие с API, базами данных, внешними системами.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><b>Примеры задач:<\/b><\/p>\n<ul>\n<li>Обработка запросов в службе поддержки.<\/li>\n<li>Бронирование ресторана.<\/li>\n<li>Генерация отчётов.<\/li>\n<\/ul>\n<p><b>Не являются агентами:<\/b><\/p>\n<ul>\n<li>Простые чат-боты.<\/li>\n<li>Системы без управления рабочими процессами.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>3. Когда следует создавать агента?<\/h4>\n<p>Агенты подходят для задач, где традиционные правила и детерминированные системы неэффективны.<\/p>\n<h5>Сценарии для внедрения:<\/h5>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Категория<\/td>\n<td>Примеры задач<\/td>\n<\/tr>\n<tr>\n<td>Сложные решения<\/td>\n<td>Одобрение возврата средств.<\/td>\n<\/tr>\n<tr>\n<td>Сложные правила<\/td>\n<td>Проверка безопасности поставщиков.<\/td>\n<\/tr>\n<tr>\n<td>Неструктурированные данные<\/td>\n<td>Анализ страховых случаев.<\/td>\n<\/tr>\n<\/table>\n<p><b>Перед созданием агента:<\/b><\/p>\n<ul>\n<li>Убедитесь, что задача требует неоднозначных решений.<\/li>\n<li>Если задача простая, используйте детерминированные методы.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>4. Основы проектирования агентов<\/h4>\n<p>Агент состоит из трёх компонентов:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Компонент<\/td>\n<td>Описание<\/td>\n<\/tr>\n<tr>\n<td><b>Модель<\/b><\/td>\n<td>LLM для логики и принятия решений.<\/td>\n<\/tr>\n<tr>\n<td><b>Инструменты<\/b><\/td>\n<td>API, базы данных, внешние системы.<\/td>\n<\/tr>\n<tr>\n<td><b>Инструкции<\/b><\/td>\n<td>Правила и ограничения поведения.<\/td>\n<\/tr>\n<\/table>\n<p><b>Пример кода (Agents SDK):<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">weather_agent = Agent(  \n    name=&quot;Weather agent&quot;,  \n    instructions=&quot;Вы помощник, который отвечает на вопросы о погоде.&quot;,  \n    tools=[get_weather],  \n)<\/code><\/pre><p>---<\/p>\n<h4>5. Выбор моделей<\/h4>\n<p><b>Рекомендации:<\/b><\/p>\n<ol start=\"1\">\n<li>Начните с самой мощной модели для базового уровня производительности.<\/li>\n<li>Заменяйте её на более лёгкие модели, где это возможно.<\/li>\n<\/ol>\n<p><b>Примеры задач:<\/b><\/p>\n<ul>\n<li>Простые запросы → Маленькие модели (например, `gpt-3.5`).<\/li>\n<li>Сложные решения → Мощные модели (например, `gpt-4`).<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>6. Определение инструментов<\/h4>\n<p>Инструменты расширяют возможности агентов через API.<\/p>\n<h5>Типы инструментов:<\/h5>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Тип<\/td>\n<td style=\"text-align: right\">Примеры<\/td>\n<\/tr>\n<tr>\n<td><b>Данные<\/b><\/td>\n<td>Запросы к CRM, чтение PDF.<\/td>\n<\/tr>\n<tr>\n<td><b>Действия<\/b><\/td>\n<td>Отправка email, обновление CRM.<\/td>\n<\/tr>\n<tr>\n<td><b>Оркестрация<\/b><\/td>\n<td>Агент возвратов, исследовательский агент.<\/td>\n<\/tr>\n<\/table>\n<p><b>Пример кода:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">search_agent = Agent(  \n    name=&quot;Search agent&quot;,  \n    instructions=&quot;Помогите пользователю искать в интернете.&quot;,  \n    tools=[WebSearchTool(), save_results],  \n)<\/code><\/pre><p>---<\/p>\n<h4>7. Конфигурация инструкций<\/h4>\n<p><b>Рекомендации:<\/b><\/p>\n<ul>\n<li>Используйте существующие документы (например, инструкции службы поддержки).<\/li>\n<li>Разбивайте задачи на шаги.<\/li>\n<li>Определяйте чёткие действия для каждого шага.<\/li>\n<li>Учитывайте крайние случаи.<\/li>\n<\/ul>\n<p><b>Пример генерации инструкций:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">prompt = &quot;&quot;&quot;  \nВы эксперт по созданию инструкций для агентов.  \nПреобразуйте документ в нумерованный список без неоднозначностей.  \nДокумент: {{help_center_doc}}  \n&quot;&quot;&quot;<\/code><\/pre><p>---<\/p>\n<h4>8. Оркестрация<\/h4>\n<h5>8.1. Системы с одним агентом<\/h5>\n<ul>\n<li>Один агент управляет всеми задачами.<\/li>\n<li>Простота внедрения и обслуживания.<\/li>\n<\/ul>\n<p><b>Пример работы:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">await Runner.run(agent, [UserMessage(&quot;Столица США?&quot;)])<\/code><\/pre><h5>8.2. Мультиагентные системы<\/h5>\n<ul>\n<li><b>Менеджер-агент<\/b> координирует специализированных агентов.<\/li>\n<li><b>Децентрализованные агенты<\/b> передают задачи друг другу.<\/li>\n<\/ul>\n<p><b>Пример менеджер-агента:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">manager_agent = Agent(  \n    name=&quot;Менеджер переводов&quot;,  \n    tools=[spanish_agent, french_agent],  \n)<\/code><\/pre><p>---<\/p>\n<h4>9. Защитные механизмы (Guardrails)<\/h4>\n<p><b>Цель:<\/b> Предотвращение рисков (утечки данных, вредоносные запросы).<\/p>\n<h5>Типы защит:<\/h5>\n<ul>\n<li><b>Классификатор релевантности<\/b> → Фильтрация не относящихся к делу запросов.<\/li>\n<li><b>Фильтр PII<\/b> → Защита персональных данных.<\/li>\n<li><b>Модерация<\/b> → Блокировка вредоносного контента.<\/li>\n<\/ul>\n<p><b>Пример кода:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">@input_guardrail  \nasync def churn_detection(ctx, input):  \n    # Проверка риска оттока клиентов  \n    ...<\/code><\/pre><p>---<\/p>\n<h4>10. Заключение<\/h4>\n<p><b>Ключевые принципы:<\/b><\/p>\n<ul>\n<li>Начинайте с простых агентов.<\/li>\n<li>Используйте защитные механизмы.<\/li>\n<li>Планируйте вмешательство человека для критических задач.<\/li>\n<\/ul>\n<p>Агенты открывают новые возможности для автоматизации сложных рабочих процессов.<\/p>\n<p><b>OpenAI<\/b> — компания, занимающаяся разработкой ИИ. Наша миссия — обеспечить, чтобы искусственный интеллект приносил пользу человечеству.<\/p>\n",
            "date_published": "2025-04-20T14:09:40+03:00",
            "date_modified": "2025-04-20T14:16:18+03:00",
            "tags": [
                "Agents",
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/AI_Agents.png",
            "_date_published_rfc2822": "Sun, 20 Apr 2025 14:09:40 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "233",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/AI_Agents.png"
                ]
            }
        },
        {
            "id": "232",
            "url": "https:\/\/gavrilov.info\/all\/svezhee-po-klassifikacii-podvezli-i-mistral\/",
            "title": "Свежее по классификации подвезли – mistral",
            "content_html": "<p>🔥 Classifier Factory от Mistral<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg\" width=\"1280\" height=\"911\" alt=\"\" \/>\n<\/div>\n<p>Classifier Factory — это интуитивно понятное руководство для создания и обучения собственных моделей классификации на базе компактных LLM от Mistral AI.<\/p>\n<p>С его помощью — как через веб‑интерфейс La Plateforme, так и через API — можно быстро разворачивать решения для модерации контента, детекции намерений, анализа тональности, кластеризации данных, обнаружения мошенничества, фильтрации спама, рекомендательных систем и других задач<\/p>\n<p>Таким образом, Classifier Factory упрощает весь цикл работы с custom‑классификаторами: от подготовки данных до развёртывания готовой модели в продакшене.<\/p>\n<p>Еще они обнвоили доку.<\/p>\n<p>🔜 <a href=\"https:\/\/docs.mistral.ai\/capabilities\/finetuning\/classifier_factory\/\">Docs<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/moderation_classifier.ipynb\">Cookbook: Moderation Classifier<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/intent_classification.ipynb\">Cookbook: Intent Classification<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/product_classification.ipynb\">Cookbook: Classification of Food<\/a><\/p>\n<p>@ai_machinelearning_big_data<\/p>\n<p>#Mistral #api<\/p>\n",
            "date_published": "2025-04-16T23:08:56+03:00",
            "date_modified": "2025-04-17T09:19:44+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg",
            "_date_published_rfc2822": "Wed, 16 Apr 2025 23:08:56 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "232",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg"
                ]
            }
        },
        {
            "id": "231",
            "url": "https:\/\/gavrilov.info\/all\/nemnogo-aktualnogo-pro-npu-chipy\/",
            "title": "Немного актуального про NPU чипы",
            "content_html": "<p><a href=\"https:\/\/habr.com\/ru\/companies\/recognitor\/articles\/898152\/\">https:\/\/habr.com\/ru\/companies\/recognitor\/articles\/898152\/<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-173.png\" width=\"800\" height=\"646\" alt=\"\" \/>\n<\/div>\n",
            "date_published": "2025-04-16T21:43:53+03:00",
            "date_modified": "2025-04-16T21:43:50+03:00",
            "tags": [
                "AI",
                "NPU"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-173.png",
            "_date_published_rfc2822": "Wed, 16 Apr 2025 21:43:53 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "231",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-173.png"
                ]
            }
        },
        {
            "id": "230",
            "url": "https:\/\/gavrilov.info\/all\/kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa\/",
            "title": "Как навести порядок в хаосе данных: стратегия для бизнеса",
            "content_html": "<p>Любопытная статья про порядок и знания. Раньше к этому стремились большие компании, может даже инвестиционные, а сегодня это под силу даже мелким.<\/p>\n<p>Основное это RAG, втаскивание смысловых значение и аккумулирование всего в виде FAQ.<\/p>\n<p><a href=\"https:\/\/telegra.ph\/Kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa-03-31\">https:\/\/telegra.ph\/Kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa-03-31<\/a><\/p>\n",
            "date_published": "2025-04-15T21:13:12+03:00",
            "date_modified": "2025-04-15T21:13:09+03:00",
            "tags": [
                "AI",
                "Data Governance"
            ],
            "_date_published_rfc2822": "Tue, 15 Apr 2025 21:13:12 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "230",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "229",
            "url": "https:\/\/gavrilov.info\/all\/chat-z-ai-tri-modelki-open-source\/",
            "title": "chat.z.ai – три модельки open source",
            "content_html": "<p>Регистрироваться не нужно. Работают огонь. Особенно последняя мощная. Прямо технические выкладки делает и рассуждает. Долго конечно, но потом как мини исследование пишет.<\/p>\n<p><a href=\"https:\/\/chat.z.ai\/\">https:\/\/chat.z.ai\/<\/a> – пробуем тут<\/p>\n<p><a href=\"https:\/\/bigmodel.cn\/\">https:\/\/bigmodel.cn\/<\/a> – или тут<\/p>\n<p><a href=\"https:\/\/huggingface.co\/collections\/THUDM\/glm-4-0414-67f3cbcb34dd9d252707cb2e\">https:\/\/huggingface.co\/collections\/THUDM\/glm-4-0414-67f3cbcb34dd9d252707cb2e<\/a> или сами запускаем отсюда.<\/p>\n<p>Zhipu AI открывает код своих моделей: в 8 раз быстрее конкурентов с уникальной технологией размышления<\/p>\n<p>🔍 Что произошло?<br \/>\nZhipu AI объявила о полном открытии кода своей технологической цепочки, включая:<br \/>\n• GLM-4-32B-0414 — базовая модель с улучшенной работой инструментов (код, поиск)<br \/>\n• GLM-Z1-32B-0414 — рекордная эффективность (аналог 671B модели на 32B параметрах)<br \/>\n• GLM-Z1-Rumination — первый ИИ с полным циклом исследования (поиск → анализ → проверка)<\/p>\n<ul>\n<li>Также доступны облегчённые 9B-версии (GLM-4-9B-0414, GLM-Z1-9B-0414)<\/li>\n<\/ul>\n<p>Все модели распространяются по лицензии MIT.<\/p>\n<p>💡 Что умеет “Размышляющая” модель:<\/p>\n<ul>\n<li>Самостоятельно ищет информацию<\/li>\n<li>Анализирует данные<\/li>\n<li>Проверяет гипотезы<\/li>\n<li>Формирует выводы<\/li>\n<\/ul>\n<p>Например, модель можно запросить сформировать отчет о рынке серверных операционных систем в Китае.<\/p>\n<p>⚙️ Технические детали:<br \/>\n▸ Рекордная скорость генерации до 200 токенов\/сек<br \/>\n▸ Сопоставимая с DeepSeek-R1 производительность при меньшем размере<br \/>\n▸ Поддержка HTML\/CSS\/JS\/SVG с интерактивным выполнением кода прямо в чате<br \/>\n▸ Оптимизация для consumer-GPU (например, RTX 4090)<br \/>\n▸ Три версии API: скоростная, бюджетная и бесплатна<\/p>\n<p>Такие модельки не сильно прожорливые и думаю вполне себе потянет такая железка OrangePi AIPro (20T) 24Гб  за 40тс рублей  <a href=\"https:\/\/onpad.ru\/catalog\/cubie\/orange_pi\/orage_pi\/3698.html\">https:\/\/onpad.ru\/catalog\/cubie\/orange_pi\/orage_pi\/3698.html<\/a><\/p>\n<p>AI да Китай<\/p>\n<p>Вопрос: А и Б сидели на трубе, А упала Б пропала, кто остался на требе?<\/p>\n<p>Ответ:<\/p>\n<h2>“А и Б сидели на трубе”: История, смысл и решение старинной русской загадки<\/h2>\n<h3>Введение<\/h3>\n<p>Старинные русские загадки, передающиеся из уст в уста, представляют собой не только забавную головоломку, но и отражение народной мудрости, языковых тонкостей и культуры. Одна из самых известных и популярных загадок, которая流传 в русскоязычной среде, звучит так: “А и Б сидели на трубе, А упала, Б пропала, кто остался на трубе?” В данном исследовании我们将深入探讨 эту загадку, её происхождение, смысл и, конечно, правильный ответ.<\/p>\n<h3>История загадки<\/h3>\n<p>Загадка “А и Б сидели на трубе” имеет давнюю историю и является классическим примером языковой головоломки, которая проверяет внимательность и сообразительность. Она передаётся из поколения в поколение, оставаясь актуальной и популярной в русскоязычной культуре. Эта загадка относится к категории загадок, которые кажутся сложными на первый взгляд, но имеют простое решение, основывающееся на игре с языком.<\/p>\n<h3>Смысл загадки<\/h3>\n<p>Для понимания смысла загадки有必要 разобрать её по частям:<\/p>\n<ol start=\"1\">\n<li>“А и Б сидели на трубе” – здесь подразумеваются три элемента: А, “и” (что в русском языке означает “и”), и Б.<\/li>\n<li>“А упала” – подразумевает исчезновение или удаление первого элемента.<\/li>\n<li>“Б пропала” – подразумевает исчезновение или удаление третьего элемента.<\/li>\n<li>“Кто остался на трубе?” – вопрос, который задаётся для определения, что осталось после исчезновения А и Б.<\/li>\n<\/ol>\n<h3>Решение загадки<\/h3>\n<p>Правильный ответ на загадку “А и Б сидели на трубе, А упала, Б пропала, кто остался на трубе?” – это “и” (что в русском языке означает “и”).<\/p>\n<p>Этот ответ можно объяснить следующим образом:<\/p>\n<ul>\n<li>В оригинальной фразе “А и Б сидели на трубе” присутствуют три символа: А, “и”, Б.<\/li>\n<li>Если А “упала” (то есть исчезла), а Б “пропала” (также исчезла), то на трубе остается только “и”.<\/li>\n<li>В русском языке “и” – это отдельное слово, обозначающее “и”, и именно это слово остается на трубе после исчезновения А и Б.<\/li>\n<\/ul>\n<p>Этот ответ подтверждается несколькими источниками:<\/p>\n<ul>\n<li>“Согласно указанной загадке на трубе находилось три буквы – это а, и, б. Поскольку две буквы (а, б) с трубы куда-то пропали, то на трубе осталась только буква ‘и’.” [[11](<a href=\"https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-upalo-b-propalo-kto-ostalsya-na-trube)]\">https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-upalo-b-propalo-kto-ostalsya-na-trube)]<\/a><\/li>\n<li>“Эта загадка связана с игрой букв(А,И,Б), а раз присутствует ИГРА БУКВ, то...” [[10](<a href=\"https:\/\/proza.ru\/2016\/10\/06\/1316)]\">https:\/\/proza.ru\/2016\/10\/06\/1316)]<\/a><\/li>\n<\/ul>\n<h3>Вариации загадки<\/h3>\n<p>В русскоязычной культуре существуют различные вариации этой загадки, которые сохраняют её суть, но меняют детали:<\/p>\n<ol start=\"1\">\n<li>“А, И, Б сидели на трубе. А упала. Б пропала. Кто остался на трубе?” [[10](<a href=\"https:\/\/proza.ru\/2016\/10\/06\/1316)]\">https:\/\/proza.ru\/2016\/10\/06\/1316)]<\/a><\/li>\n<\/ol>\n<ol start=\"2\">\n<li>“А и Б сидели на трубе. А упало, Б пропало, что осталось на трубе?” [[13](<a href=\"https:\/\/otvet.mail.ru\/question\/54546059)]\">https:\/\/otvet.mail.ru\/question\/54546059)]<\/a><\/li>\n<\/ol>\n<ol start=\"3\">\n<li>“А и Б сидели на трубе, А уехал за границу, Б чихнул и... кто остался на трубе?” [[15](<a href=\"https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-uehal-za-granitsu-b-chihnul-i-lyog-v-bolnitsu-kto-ostalsya-na-tru)]\">https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-uehal-za-granitsu-b-chihnul-i-lyog-v-bolnitsu-kto-ostalsya-na-tru)]<\/a><\/li>\n<\/ol>\n<p>Эти вариации демонстрируют гибкость загадки и её способность адаптироваться к разным контекстам, сохраняя при этом суть.<\/p>\n<h3>Языковые особенности<\/h3>\n<p>Эта загадка демонстрирует несколько интересных языковых особенностей русского языка:<\/p>\n<ol start=\"1\">\n<li><b>Игра с буквами<\/b>: Загадка основана на игре с отдельными буквами русского алфавита (А, И, Б).<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Символическое представление<\/b>: Каждая буква представляется как отдельное существо, которое может “сидеть”, “упасть” или “пропасть”.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Слогovость<\/b>: Русский язык, будучи слоговым, позволяет такую игру с отдельными буквами, что делает загадку возможной.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Краткость и изящность<\/b>: Ответ на загадку – всего одна буква “и”, что делает его особенно элегантным и удивительным.<\/li>\n<\/ol>\n<h3>Cultural context<\/h3>\n<p>Эта загадка отражает народную мудрость и любовь к языкознанию в русскоязычной культуре. Она часто используется для развития логического мышления и внимательности у детей, а также для развлечения взрослых. Загадка демонстрирует, как важны детали и как有时候 решение может быть проще, чем кажется.<\/p>\n<h3>Modern interpretations and references<\/h3>\n<p>Эта загадка продолжает использоваться в современном контексте:<\/p>\n<ul>\n<li>В детских садах и школах её используют для развития языковых навыков<\/li>\n<li>В интернет-форумах и социальных сетях она часто появляется в разделах с загадками<\/li>\n<li>В некоторых видеороликах для детей эта загадка используется как образец традиционной русской головоломки [[12](<a href=\"https:\/\/www.youtube.com\/watch?v=ZhVvZn6vkzc)]\">https:\/\/www.youtube.com\/watch?v=ZhVvZn6vkzc)]<\/a><\/li>\n<\/ul>\n<h3>Conclusion<\/h3>\n<p>Загадка “А и Б сидели на трубе, А упала, Б пропала, кто остался на трубе?” представляет собой яркий пример традиционной русской головоломки, основывающейся на игре с буквами. Её суть заключается в том, чтобы понять, что после исчезновения А и Б на трубе остаётся “и”. Этот простой, но изящный ответ демонстрирует тонкости русского языка и народной мудрости.<\/p>\n<p>Эта загадка не только забавляет, но и развивает языковое мышление, что делает её ценным элементом русскоязычной культуры. Она напоминает нам о важности деталей и о том, как有时候 решение может быть проще, чем кажется.<\/p>\n<h3>References<\/h3>\n<p>[10] А и Б сидели на трубе... (Исаков Олег) \/ Проза.ру. <a href=\"https:\/\/proza.ru\/2016\/10\/06\/1316\">https:\/\/proza.ru\/2016\/10\/06\/1316<\/a><\/p>\n<p>[11] а и б сидели на трубе. а упало б пропало кто остался на трубе?. <a href=\"https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-upalo-b-propalo-kto-ostalsya-na-trube\">https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-upalo-b-propalo-kto-ostalsya-na-trube<\/a><\/p>\n<p>[12] Считалочка – загадка – А и Б сидели на трубе – YouTube. <a href=\"https:\/\/www.youtube.com\/watch?v=ZhVvZn6vkzc\">https:\/\/www.youtube.com\/watch?v=ZhVvZn6vkzc<\/a><\/p>\n<p>[13] А и Б сидели на трубе А упала, Б пропала, что осталось на трубе?. <a href=\"https:\/\/otvet.mail.ru\/question\/54546059\">https:\/\/otvet.mail.ru\/question\/54546059<\/a><\/p>\n<p>[15] А И Б СИДЕЛИ НА ТРУБЕ А УЕХАЛ ЗА ГРАНИЦУ Б ЧИХНУЛ И ... <a href=\"https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-uehal-za-granitsu-b-chihnul-i-lyog-v-bolnitsu-kto-ostalsya-na-tru\">https:\/\/uchi.ru\/otvety\/questions\/a-i-b-sideli-na-trube-a-uehal-za-granitsu-b-chihnul-i-lyog-v-bolnitsu-kto-ostalsya-na-tru<\/a><\/p>\n",
            "date_published": "2025-04-15T16:14:22+03:00",
            "date_modified": "2025-04-15T16:27:21+03:00",
            "tags": [
                "AI"
            ],
            "_date_published_rfc2822": "Tue, 15 Apr 2025 16:14:22 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "229",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "227",
            "url": "https:\/\/gavrilov.info\/all\/osnovnye-tezisy-statyi-ai-index-2025-state-of-ai-in-10-charts\/",
            "title": "Основные тезисы статьи “AI Index 2025: State of AI in 10 Charts",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_5769.jpeg\" width=\"990\" height=\"893\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Оригинал: <a href=\"https:\/\/hai.stanford.edu\/news\/ai-index-2025-state-of-ai-in-10-charts\">https:\/\/hai.stanford.edu\/news\/ai-index-2025-state-of-ai-in-10-charts<\/a><\/div>\n<\/div>\n<h4>Основные тезисы статьи “AI Index 2025: State of AI in 10 Charts” :<\/h4>\n<ol start=\"1\">\n<li><b>Улучшение небольших моделей ИИ<\/b>\n<ul>\n  <li>Модели с меньшим числом параметров достигают уровня крупных. Например, Microsoft Phi-3-mini (3.8 млрд параметров) в 2024 году показала результаты, сравнимые с моделью PaLM (540 млрд параметров) 2022 года. Это сокращение параметров в 142 раза за два года.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Снижение стоимости использования ИИ<\/b>\n<ul>\n  <li>Стоимость обработки запросов для моделей уровня GPT-3.5 упала с $20 до $0.07 за миллион токенов (снижение в 280 раз за 18 месяцев). Цены на оборудование снижаются на 30% ежегодно, а энергоэффективность растет на 40%.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Китай сокращает разрыв с США<\/b>\n<ul>\n  <li>США создали 40 значимых моделей ИИ в 2024 году, Китай — 15. Однако разрыв в качестве между американскими и китайскими моделями сократился до минимума на тестах MMLU и HumanEval. Китай лидирует по публикациям и патентам в области ИИ.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Рост проблемных инцидентов с ИИ<\/b>\n<ul>\n  <li>Зафиксировано 233 инцидента, связанных с ИИ (+56.4% за год), включая дипфейки и случаи кибербуллинга.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"5\">\n<li><b>Прогресс ИИ-агентов<\/b>\n<ul>\n  <li>В коротких задачах (2 часа) ИИ превосходит людей в 4 раза, но при увеличении времени до 32 часов люди демонстрируют вдвое лучшие результаты.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"6\">\n<li><b>Рекордные инвестиции в ИИ<\/b>\n<ul>\n  <li>78% компаний внедрили ИИ в 2024 году (рост с 55% в 2023). Частные инвестиции США составили $109.1 млрд, Китая — $9.3 млрд.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li><b>Медицинские устройства с ИИ<\/b>\n<ul>\n  <li>FDA одобрило 223 ИИ-устройства в 2023 году против 6 в 2015.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"8\">\n<li><b>Регуляторная активность в США<\/b>\n<ul>\n  <li>Число законов штатов, связанных с ИИ, выросло до 131 в 2024 году (в 2016 — 1).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"9\">\n<li><b>Региональный оптимизм<\/b>\n<ul>\n  <li>В Китае, Индонезии и Таиланде более 77% населения видят в ИИ больше пользы, чем вреда. В США, Канаде и Нидерландах этот показатель ниже 40%.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"10\">\n<li><b>Глобализация разработки ИИ<\/b>\n<ul>\n  <li>Модели создаются в новых регионах: Ближний Восток, Латинская Америка, Юго-Восточная Азия.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>---<\/p>\n<h4>Синтез<\/h4>\n<p>Статья демонстрирует <b>динамичное развитие ИИ<\/b> в 2024 году:<\/p>\n<ul>\n<li><b>Технологический прогресс<\/b>: Малые модели стали эффективнее, а стоимость их использования резко снизилась, что делает ИИ доступнее .<\/li>\n<li><b>Интеграция в общество<\/b>: ИИ активно применяется в медицине, транспорте (например, 150 тыс. поездок Waymo в неделю) и бизнесе, где 78% компаний используют технологии для повышения продуктивности .<\/li>\n<li><b>Инвестиции и геополитика<\/b>: США сохраняют лидерство, но Китай усиливает позиции. Глобальные инвестиции в генеративный ИИ достигли $33.9 млрд .<\/li>\n<li><b>Этические вызовы<\/b>: Рост инцидентов и нехватка стандартов оценки безопасности ИИ требуют усиления регулирования. Правительства, включая ЕС и ООН, разрабатывают новые рамки .<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>Выводы<\/h4>\n<ol start=\"1\">\n<li><b>Доступность и эффективность<\/b> ИИ растут, но сохраняется разрыв между регионами в инфраструктуре и образовании (например, 81% учителей в США не готовы преподавать ИИ) .<\/li>\n<li><b>Регулирование отстает<\/b> от технологий: несмотря на рост законов, стандарты оценки рисков остаются редкими .<\/li>\n<li><b>Оптимизм vs. скептицизм<\/b>: В Азии выше доверие к ИИ, тогда как на Западе преобладают опасения, связанные с этикой и заменой рабочих мест .<\/li>\n<li><b>Будущее за гибридными решениями<\/b>: ИИ-агенты уже превосходят людей в узких задачах, но для сложных когнитивных процессов требуется симбиоз с человеком .<\/li>\n<\/ol>\n<p>Статья подчеркивает, что <b>ИИ трансформирует общество<\/b>, но для устойчивого развития необходимы глобальное сотрудничество, инвестиции в образование и прозрачные стандарты.<\/p>\n",
            "date_published": "2025-04-09T18:27:46+03:00",
            "date_modified": "2025-04-09T18:27:05+03:00",
            "tags": [
                "AI"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/IMG_5769.jpeg",
            "_date_published_rfc2822": "Wed, 09 Apr 2025 18:27:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "227",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/IMG_5769.jpeg"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171e)"
}