За последнее время я прочитал множество репозиториев, где в Pyhton пользуются типизацией и почти везде синтаксис не новее 3.11: Optional, TypeVar на уровне модуля, Generic[T], кавычки вокруг опережающих ссылок. При этом у Python 3.10 поддержка закончилась, и разработчики языка дали нам новых удобных инструментов и чтобы ими пользоваться не всегда нужно обновляться до последней версии. В этой статье расскажу, какие основные фишки появились за последние несколько лет и как ими пользоваться даже в проектах на старых версиях.
Читать далееПочему 70B-модель может поместиться в память и всё равно тормозить под нагрузкой? Разбираем AI-инфраструктуру 2026 года по слоям: HBM и KV-кеш, prefill и decode, NVLink и InfiniBand, tensor/pipeline parallelism, MoE, CPU, RAM и NVMe и смотрим, где на практике заканчивается производительность GPU-кластера.
Читать далееРазработчики одними из первых начали использовать ИИ-агентов, чтобы автоматизировать рутинные задачи. Для компании важно, чтобы такие изменения происходили системно: эффект был очевиден, накопленные навыки собирались и обобщались, а разработчиков можно было бы обучать работе с ними.
Читать далееКак превратить разовых покупателей в бренд-адвокатов: анализ и пошаговый разбор архитектуры участия
Все начинается с того что маркетолог предлагает увеличить бюджет. Продажи — повысить качество обращений. Собственник — задумывается над тем чтобы сменить маркетолога. О том, зачем клиенту возвращаться, пока никто не спросил. И он уже благополучно ушёл к расторопному конкуренту.
Меня интересует вполне конкретная проблема небольшого бизнеса: маркетинг работает по схеме «реклама — контакт — продажа», после чего компания возвращается в начало и снова платит за следующий контакт. Пока новых покупателей хватает, конструкция выглядит надёжной. В маленьком городе или узкой нише однажды выясняется: людей меньше, чем планов по масштабированию.
Что тогда? Ещё одна скидка? Или мы всё-таки начнём превращать покупателей в постоянных клиентов, участников и людей, способных привести других?
Разберём эту гипотезу на знакомой мне балетной студии любительского балета, а механики посмотрим у «ВкусВилла», «Петровича» и «Купера». У каждого примера своя задача. Нам нужна система, которую можно собрать в небольшом бизнесе. Для её устройства возьмём идеи клиентского опыта — всего, что человек переживает при выборе и использовании продукта, — из Marketing 6.0 Филипа Котлера и соавторов. Персонализация у Абрахама и Эдельмана поможет выбирать предложение и следующий шаг под ситуацию конкретного клиента. «Фабрика смыслов» и «Туман войны» дадут архитектуру участия: подготовку людей, роли, поддержку и распространение идеи.
Читать далееСтартовала большая осенняя распродажа Steam, а значит, самое время охотникам за подешевевшими тайтлами пополнить кошельки и как следует закупиться. О том, какие игры этого года, хиты последних лет и, конечно, индюшки стоит добавить в свою библиотеку — расскажем прямо сейчас!
Читать далееМеня зовут Кирилл, я работаю BIM‑менеджером, писал эту статью совместно со своей коллегой Анастасией @nobimnolife. Помучавшись с разработкой ЦИМ без какой‑либо автоматизации, вместе мы подготовили плагин IDS Core. В этой статье – способы подбора кода без ИИ, метод Левенштейна и сила общего труда.
С 2026 года архитектурно-градостроительное решение в Москве сдаётся вместе с цифровой информационной моделью в IFC. У каждого помещения в ней должны быть заполнены два свойства: RUS_MSSK_SpaceAndZone_Code и RUS_MSSK_SpaceAndZone_Name — код и наименование по Московской строительной системе классификаторов (МССК), раздел «Помещения и зоны». В жилом доме это сотни помещений, и называются они в модели так, как привыкла мастерская: «С/у», «Кладовка», «ПУИ/Мусороудаление (К1)», «Элетрощитовая жилой части». Классификатор таких имён не знает, а проверяющие на вопрос «а если нужного нет?» отвечают честно: берите близкое по смыслу.
Мы решили, что «близкое по смыслу» можно хотя бы частично посчитать. Ниже — как устроен классификатор, на чём ломается наивный поиск похожих строк, где пригодился Левенштейн и почему точность упирается не в алгоритм, а в людей.
Классификатор: 638 строк и одна, которой нет
МССК распространяется в свободном доступе, нужный раздел — «Помещения и зоны». Это 638 кодов с иерархией по уровням:
ПЗ 30 Помещения квартир
ПЗ 30 10 Жилые помещения
ПЗ 30 10 03 Жилая комната
ПЗ 30 20 Вспомогательные помещения
ПЗ 30 20 13 Совмещенный санузел
ПЗ 31 Общественная зона
Читать далееУ нашего ИИ-оркестратора более девяноста инструментов: работа с таблицами, документами, почтой, задачами, веб-страницами, презентациями и т.д.
При обработке запросов модель на каждом шаге выбирает, какой из них вызвать. Вопрос, который периодически всплывает: сколько из них ей показывать за раз — все или только те, что подходят к запросу?
Наш оркестратор умеет работать как с большими облачными моделями, так и с маленькими, которые помещаются на бытовой видеокарте. Минимальный рабочий вариант: RTX 3090 24Gb + Qwen3.6 27B.
Цель - заставить минимальный рабочий вариант выполнять корпоративные задачи с приемлемым качеством и с приемлемой скоростью.
Ясно что, для малой и большой моделей способ выбора инструментов должен отличаться, но как найти оптимальный вариант вопрос сложный.
Обычно оркестратор показывает модели весь список инструментов и она уже решает какой нужно выбрать для ответа на запрос. Так делают Hermes, OpenClaw и Ouroboros. Ни один из них не выбирает инструменты по тексту запроса. У некоторых для слабых моделей и маленького контекста есть режим, где модели дают только каталог — имя и короткое описание — и инструмент «подключить», так что нужное она находит и загружает сама. Эти агенты рассчитаны на фронтир-модели уровня Claude и GPT-5, которые держат сотню инструментов без потерь. Моя задача другая: работать на локальной 27B в закрытом контуре. Для неё узкий набор измеримо лучше.
Как устроен узкий набор
Схема простая. Перед основным вызовом модели работает роутер: по тексту запроса он выбирает раздел — «датасеты», «почта», «презентации» ... — и внутри раздела подраздел. Модель получает недевяносто описаний инструментов, а около двадцати. О существовании остальных на этом шаге она не знает.
Читать далееЕсли говорить честно, у информационной безопасности есть неприятная особенность: атакующему часто достаточно относительно небольших вложений, а защищающейся компании приходится тратить миллионы. И это не повод махнуть рукой. Это повод наконец перестать обсуждать ИБ как абстрактную строку расходов.
Читать далееСоздатель языка Elixir Жозе Валим (José Valim) размышляет об изменении языков программирования: изменился разработчик — должны измениться и языки.
Привет, Хабр! На связи Хекслет. Весь материальный мир — от дверных ручек до архитектуры заводов — построен под пропорции и ограничения человека. И гораздо выгоднее делать роботов антропоморфными: пусть у них будут руки, ноги и пальцы — тогда они смогут пользоваться нашей инфраструктурой.
То же и софтом, синтаксисом и IDE: эта инфраструктура оптимизирована под человеческое восприятие. Должны ли мы сохранять эту эргономичность для ИИ-агентов?
Валим считает, что нужно адаптировать языки программирования под агентов, а не наоборот. В отличие от заводов и автомобилей, перестроить цифровую среду под новые сущности можно быстро и дёшево. Вместо того, чтобы заставлять ИИ-агентов пользоваться «человеческими дверными ручками» вроде синтаксического сахара или протоколов LSP, следует создать для них принципиально иную среду обитания. Ниже — перевод его размышлений о том, как должны измениться инструменты и языки программирования в агентную эпоху.
Читать далееЕдинственная причина, по которой современные авторегрессионные трансформеры вообще пригодны для инференса — это использование KV кэша, без которого каждый следующий токен требовал бы операций для вычисления всех попарных произведений между векторами ключей и запросов. KV кэш позволяет обменивать память на скорость, в результате чего лимитирующим фактором в инференсе становится пропускная способность памяти, и очередной токен вычисляется за линейное время.
Сейчас узнаем что из этого следует.
Читать далееБыстрый аналог Jev API для классификации запросов — в телефоне. В статье — что это за модель, как запустить сервер за пять минут и как встроить его в бота или автоматизацию с помощью одного curl и десяти строк на Python.
Читать далееEmacs не стоит на месте: в него добавляют всё больше режимов на базе TreeSitter. В этой статье разбираемся, где взять грамматики, какие их версии использовать и как настроить treesit.el.
(goto-definition)Иногда от модели нужен не красивый ответ, а быстрое решение. Пропустить запрос или заблокировать, выбрать маршрут, оценить результат, отфильтровать документы для RAG.
Для этого появился Spring AI TypeSafe. Проект интегрирует Jev API, который отвечает на типизированные вопросы числовыми значениями и не генерирует текст.
Читать далееЧат, перевод и решения для ваших скриптов — прямо на телефоне, без интернета и без подписок. Разбираем Cortiq Mobile: открытое приложение для Android и iOS, которое запускает нейросети локально. С замерами, скриншотами и инструкцией «попробовать за пять минут».
Читать далееКогда едешь в Армению на неделю, всё довольно просто: купить симку в аэропорту, поменять наличные на драмы, заказать такси через Яндекс Go и есть толму, запивая таном.
Когда переезжаешь, всё не так просто. Разобраться с легализацией, найти жильё на долгосрок и найти возможность регулярно перегонять рубли в драмы — три базовые вещи из огромного списка.
А ещё выясняется, что в Ереване нет привычной батареи от ЖЭКа, зимой главный счёт — за газ, а 180 дней считаются не «подряд», а в течение года. Я собрал базовый минимум для человека, который переезжает в Армению из России в 2026 году. Прочитайте и сохраните, если смотрите в эту сторону.
Читать далееИИ-агент работает в песочнице, но отдельным инструментам нужны разные права. Анализатору можно читать исходники, а менять их нельзя. Как проверить, что этот запрет действует?
В экспериментах с Linux и gVisor встретились три ситуации. Механизм ограничения отсутствует, для его настройки не хватает прав или настройка проходит успешно без ожидаемого эффекта. Даже загруженная и подключённая программа фильтрации не всегда что-то фильтрует. Показываю результаты, ошибки собственных проверок и подход, который помогает проверить ограничения до запуска инструмента агента.
Читать далееПривет, Хабр! Меня зовут Ирина, я UX/CX-исследователь в отделе RnD финтех-компании. Мы разрабатываем много всего нового, много тестируем, пробуем и изучаем. Я провожу качественные и количественные исследования и запускаю A/B-тесты.
Расскажу, как Вариокуб от Яндекса позволил мне самой запускать тесты, на которые раньше уходили недели разработки, и поделюсь граблями, на которые наступила по дороге. И объясню, почему, на мой взгляд, простые A/B-тесты должен уметь запускать и читать каждый исследователь.
Читать далееКоманда Rust рада сообщить о новой версии языка — 1.99.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.99.0 вам достаточно выполнить команду:
$ rustup update stable
Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску 1.99.0.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках!
Читать далееПривет, Хабр!
На связи Андрей, продуктовый дизайнер Garage Eight.
В сентябре обновлений было много: новые модели, интерфейсные фичи, библиотеки и несколько свежих айдентик. Остальные находки месяца — ниже.
1. Иконки для Cursor
2. Opus 5.5 + GPT-6 Astra
3. iPhone Duo
4. iOS 27 updated icons
5. beUI Pro + GSAP + Torph
6. Figma releases
7. KEEN
8. Xsolla
Погнали!Сделал бесплатный курс для тех кто хочет научиться создавать локальные ИИ приложения на Python. За семь занятий разберём помощника, который ищет по вашим документам, отвечает на вопросы и показывает исходные фрагменты для проверки.
Чат с документами выглядит просто. Положили файлы в папку, задали вопрос, получили несколько складных предложений. Но стоит ответу разойтись с текстом — и хочется увидеть всю кухню: что нашёл поиск, что отправили модели и откуда она взяла последнюю фразу.
В local‑docs‑ai вокруг этой цепочки собран короткий курс. Семь занятий, одна программа. Она читает Markdown и TXT, ищет подходящие фрагменты через локальную embedding‑модель, передаёт их языковой модели и показывает исходный текст с именами файлов и номерами строк. Есть терминальные команды и окно в браузере.
Маршрут рассчитан на человека, которому знакомы функции, списки и словари Python. Сначала запускаем готовый пример. Затем разбираем его по частям, меняем документы и учимся различать два сбоя: поиск промахнулся или модель неверно пересказала найденное. В этой статье пройдём весь механизм; код и отдельные занятия лежат в одном репозитории.
Читать далее