Обновить
512K+

Open source *

Открытое программное обеспечение

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

Как дать Claude Code документацию, которую он прочтёт: импорт в CLAUDE.md молча ломается в пути на пробеле

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

Если в пути импорта в CLAUDE.md есть пробел, Claude Code обрывает путь на нём, файл не грузится, а ошибки нет. Так у меня ни разу не загрузились два общих справочника, на которые ссылался CLAUDE.md. Я собрал пустой проект, разложил по файлам кодовые слова и спрашивал агента, какие слова он видит, запретив ему читать файлы. Вышло, что ссылка на документ в CLAUDE.md ещё не значит, что агент его прочтёт: у каждого способа ссылки свои правила загрузки.

Читать далее

Новости

SGLang без магии: как устроены основные настройки инференса LLM

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

Когда LLM помещается на одной GPU и получает несколько запросов в минуту, настройка движка инференса обычно заканчивается на выборе модели и типа данных. Проблемы начинаются дальше: модель перестает помещаться в память, растет очередь запросов, длинные промпты съедают KV-кэш, а GPU простаивают в ожидании обмена данными друг с другом. 

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

Разберем пять групп настроек: параллелизм: TP, DP, CP, PP и EP, KV-кэш: Radix Cache и HiCache, вычисления и коммуникации в MoE, attention-бекенд, спекулятивное декодирование. Задача — не перечислить все CLI-флаги SGLang, а понять, что именно в пайплайне инференса меняет каждая настройка и в какой ситуации ее имеет смысл трогать. Поехали! 

Читать далее

Как мы запустили Qwen3.8–27B целиком на RTX 5060 8 GB и получили ~30 токенов/с

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

Наш проект называется ExVRAM Lab. Это открытая исследовательская лаборатория, в которой мы проверяем, насколько большие локальные LLM можно запускать на обычных видеокартах с ограниченным объёмом VRAM, если использовать ultra‑low‑bit quantization, полное размещение весов на GPU и существующие open‑source inference‑технологии.

ExVRAM расшифровывается как Exchange Compute for VRAM. Основная идея проекта — в ряде сценариев выгоднее потратить часть свободной вычислительной мощности GPU на работу с более компактным представлением весов, чем хранить часть модели в оперативной памяти и постоянно передавать данные через PCIe.

Когда мы начинали проект, исходный вопрос был достаточно простой: можно ли запустить dense‑модель примерно на 27 миллиардов параметров на видеокарте всего с 8 ГБ VRAM так, чтобы она не просто «запустилась», а работала полностью на GPU, поддерживала длинный контекст и обеспечивала нормальную интерактивную скорость генерации.

В качестве основной тестовой системы мы используем NVIDIA GeForce RTX 5060 8 GB на архитектуре Blackwell. Основная модель в текущих экспериментах — Qwen3.8–27B.

Сначала результат выглядел не слишком впечатляюще. Модель запускалась, но значительная часть весов оставалась в системной памяти. Около 5,7 GiB весов находилось на GPU, ещё примерно 2,5 GiB — на CPU. Скорость генерации составляла порядка 3,8–5,5 токена в секунду.

При этом сама видеокарта была загружена далеко не полностью.

Это стало одним из первых важных наблюдений проекта. Проблема заключалась не столько в нехватке вычислительной мощности RTX 5060, сколько в том, что часть decoder weights находилась в RAM. Во время autoregressive generation данные приходилось постоянно передавать между CPU и GPU через PCIe.

Читать далее

NetHackers — открытое сообщество для создания программы, которая сможет стабильно проходить NetHack

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

Привет, Хабр. Я — Влад Куренков, руковожу научной группой «Адаптивные агенты» Института AIRI и сегодня я хочу позвать вас поделать немного распределённой науки. Вот, в чём суть.

Есть такая компьютерная игра NetHack — пошаговый рогалик 1987 года, который до сих пор не может пройти искусственный интеллект. Жизнь у героя одна, сохранений нет, подземелье каждый раз новое, а игра по дороге ничего не подсказывает. Если вы сыграли плохо, то выясняется это тогда, когда ничего исправить уже нельзя. На таких же ошибках спотыкаются ИИ‑агенты, когда пишут код: отдельный шаг они выполняют прекрасно, а на длинной дистанции держать планку им уже сложнее. И NetHack в этом плане становится весьма полезной для проверки агентов.

По этой причине я запустил открытое сообщество людей, которые создают системы планирования ИИ, чтобы вместе решить NetHack. Понятно, что игра — это не ценность сама по себе. Гораздо важнее способ, которым возьмут игру, а также тот факт, что этот способ станет общественным достоянием. Если вы разрабатываете ИИ‑агентов, занимаетесь планированием или пишете игровых ботов, давайте идти к этой цели вместе.

Далее расскажу подробнее про проект NetHackers и наше сообщество.

Читать далее

Что отвалится у вашего сайта, если завтра отключат иностранные сервисы. Проверил 50 сайтов

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

Мне стало интересно, насколько российские сайты в 2026 году ещё зависят от зарубежных сервисов. Не в смысле «пользуется ли компания Zoom», а буквально: что сломается у сайта, если завтра иностранный провайдер отключит российских клиентов.

Я написал открытую утилиту и прогнал через неё 50 сайтов: банки, магазины, операторов связи, авиакомпании, госорганы. Спойлер: серверы почти все уже перевезли, а вот сертификаты, аналитика и шрифты остались. Рассказываю, что нашлось, как устроена проверка и как одна регулярка повесила всю программу.

Читать далее

Рутину — в скилл, ошибку — в правило. Как я сделал QA-конвейер из скиллов

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

Всем привет! Меня зовут Костя, я QA-инженер в Банки.ру. Общение с агентом у меня давно стало обыденным делом. И в какой-то момент я заметил, что работа тестировщика превратилась в ежедневное объяснение ему одного и того же: «прочти задачу», «составь критерии приёмки», «сделай баг-репорт», «сделай отчёт за сегодня».

Готовых QA-скиллов под мой стек на find-skills не нашлось, поэтому я собрал свои: 10 скиллов для Claude Code — от критериев приёмки и деплоя до логов, баг-репортов, тест-кейсов в Allure и отчёта. Каждую ошибку агента я превращаю в правило внутри скилла. В статье рассказал, как устроен этот QA-конвейер, где агенту нужны мои апрувы, и опубликовал скиллы в открытый репозиторий.

Читать далее

Потоки, события и ожидание результата: многозадачность в PL/I

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

Когда говорят о PL/I, воображение часто рисует большие машины и программы из другой эпохи. Но у языка есть и вполне современная сторона: процедуры, массивы, многопоточное выполнение. Если вы писали на Go или Python, базовый сценарий будет понятен: запустить работу в фоне, пока она идёт заняться чем‑то ещё, а затем дождаться результата.

Разберём этот сценарий на примерах, которые опираются на реализованную многозадачность в pli‑llvm — новом открытом кроссплатформенном компиляторе языка PL/I, который был создан на основе спецификации языка TR25 с добавлением некоторых более поздних полезных фишек из IBM Enterprise PL/I.

Читать далее

Домашний ИИ: простой способ добавить «интеллект» своему компьютеру

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

В этой статье мы рассмотрим открытые модели машинного обучения. Они не требуют обязательного подключения к интернету и подписки, никуда не передают ваши данные и достаточно компактные, чтобы их можно было запускать на ПК или ноутбуке. Эксперименты выполнялись на ПК с Core i5-14600, 32 ГБ DDR5 и RTX 3070Ti c 8 ГБ VRAM. Комментарии подготовлены экспертами лаборатории искусственного интеллекта российской ИТ-компании «Криптонит».

Читать далее

Автодополнение в tatarnetes, sheeternetes on-prem и новые фичи гендерных K8s

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

Есть у меня несколько проектов, которые начинались как шутка в чате про Kubernetes и почему-то не остановились. Например, Sheeternetes родился из спора о том, можно ли сделать оркестратор контейнеров в электронной таблице, и оказалось, что можно. Tatarnetes вырос из желания, чтобы kubectl заговорил по-татарски (и из татарских мемов). Kyvernetria попыталась честно ответить на вопрос, как выглядел бы Kubernetes, если бы его поведение строилось на подтверждённых наукой средних различиях между мужчинами и женщинами, а не на стереотипах. Ну а Mansplainetes и Misogynetes появились как сатира на тех, кто в такие стереотипы свято верит.

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

Читать далее

Later, Bender: когда чат закончился, а проект нет

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

В какой-то момент я заметил довольно глупую вещь: чем дольше работаешь с моделями над реальными проектами, тем больше сам начинаешь выполнять роль, которую вроде бы собирался отдать машине. Не писать код и не придумывать архитектуру — это как раз модели уже умеют неплохо. Хуже другое. Нужно помнить, что мы вчера решили не трогать Elasticsearch до тех пор, пока не появится реальная боль. Что вот этот кусок интерфейса пока временный. Что в том чате был хороший вариант названия. Что одна гипотеза уже проверялась и оказалась плохой. Что вот это надо сделать потом, а вот это — никогда. Пока всё живёт в одном разговоре, проблема почти незаметна. Потом разговор заканчивается, контекст вымывается, открывается новый чат, меняется модель, запускается отдельный агент — и внезапно выясняется, что «мы это уже обсуждали» хранится в довольно ненадёжном месте. Во мне.

Мне это надоело. С этого, собственно, и начался Later, Bender. Название появилось позже. Сначала был гораздо менее романтичный вопрос: как сделать так, чтобы полезное состояние работы переживало чат и не требовало от человека каждый раз заново пересказывать машине, что вообще происходит?

Читать далее

Decision-модели изнутри: как устроены Jev, Clef, pplx-decider, Strands Decider, Laya и GLiDE

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

15 сентября TypeSafe выпустила Jev и назвала её первой моделью класса System One. Jev получает состояние системы и набор типизированных вопросов, а возвращает распределение вероятностей по допустимым ответам. Весь ответ считается за один прямой проход, без генерации токенов.

За 16 дней вышли ещё пять реализаций той же идеи: Clef и Clef-flash от Cloudflare, pplx-decider-v1-27b от Perplexity, Strands Decider 2B от AWS, Laya от Convai Innovations и GLiDE от Fastino. Миллион решений у самой дешёвой из них стоит 12 долларов, у Claude Sonnet 5 в роли классификатора — 700.

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

Читать далее

Как я перестал верить нейросети и полюбил контрольные разряды: Zero-Trust для распознавания юридических документов

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

Покажите VLM скан исполнительного листа — и она уверенно вернёт реквизиты. Формат будет идеальным, тон — безупречным. Одна беда: среди реквизитов с ненулевой вероятностью окажется несуществующий ИНН с правильным форматом, сумма, которую никто не сверил с документом, а рядом в сводке будет гореть «качество: 100 %» — на скане 745×1024 @ 96 DPI, с которого в принципе нельзя прочитать реквизиты.

Это не гипотеза и не страшилка из интернета — это логи реального проекта. Я строю конвейер, который читает сканы российских юридических документов (исполнительные листы, постановления ФССП, удержания из зарплаты, УПД, договоры) и готовит реестры для 1С. Он построен вокруг одного принципа: вывод модели никогда не принимается на веру. Нейросеть предлагает, алгоритм проверяет, человек смотрит только то, что не сошлось.

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

Читать далее

Три CLI‑агента, один Telegram‑интерфейс: JSON‑RPC, ACP, worktree и контроль разрешений

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

Codex CLI, Claude Code и Cursor Agent умеют самостоятельно читать код, изменять файлы и запускать тесты. Но стоит отойти от компьютера — и проверить состояние задачи или ответить на запрос разрешения становится неудобно.

Я сделал AI Control — локальный Telegram‑пульт для этих трёх агентов. С телефона можно запустить или продолжить задачу, следить за её состоянием, получить результат и подтвердить отдельное действие.

Бот работает на компьютере с проектами и подключается к Telegram через long polling. Открывать входящие порты или поднимать дополнительный сервер не требуется.

Читать далее

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

Роутер, который чинит себя сам: OpenWrt + sing‑box, раздельная маршрутизация и сторож

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

Домашний роутер за 3 тысячи рублей: российские сайты открываются напрямую, остальное идёт через VLESS + Reality, а когда провайдер VPN среди ночи меняет адреса серверов, роутер сам находит новые и чинится — без моего участия. Рассказываю, как это устроено на OpenWrt и sing-box: раздельный DNS, сторож, безопасные перезапуски и грабли, на которые я наступил. В конце — репозиторий и инструкция, проверенная сборкой с нуля.

Читать далее

Свой Kubernetes‑кластер в рюкзаке: частное облако на ARM64

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

Хотел домашний Kubernetes, который уносится в рюкзаке. Получился кластер из четырёх RK3588 на Talos и Cozystack: control‑plane, NVMe, виртуалки и отдельный BMC на OpenWrt.

Читать далее

Поддержка YDB в Ptah 0.13.0: описание схемы в HCL и управление миграциями

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

В Ptah 0.13.0 появилась нативная поддержка YDB. Ptah умеет читать текущую схему базы, сравнивать её с декларативным описанием и на основе разницы строить план изменений или генерировать версионные миграции. В статье разберём этот процесс на примере HCL-схемы, посмотрим на работу с индексами и drift detection, а также на особенности YDB, которые приходится учитывать при миграциях: разные возможности версий, feature flags и нетранзакционный DDL.

Читать далее

Боты, которые сами встают в очередь: как я добавил компаньонов в AzerothCore и что сломалось по дороге

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

С 2022 года я в одиночку поддерживаю сервер World of Warcraft 3.3.5a на открытом ядре AzerothCore. Расскажу, как я закрывал главную проблему небольшого сервера ботами-компаньонами и на какие грабли при этом наступил. Если вы работаете с AzerothCore или TrinityCore, часть историй может сэкономить вам пару вечеров.

Задача: пустые очереди

Поиск подземелий (LFG) в WotLK рассчитан на тысячи игроков онлайн. На небольшом сервере очередь на героик может висеть часами: нет танка, нет хила, а то и вообще никого. Игрок заходит вечером, ждёт и уходит.

Решение напрашивалось само: если людей не хватает, группу должны добирать боты. Причём такие, которые умеют играть свою роль, а не стоят столбом у входа.

Основа: mod-playerbots

Писать всё с нуля я не стал. Для AzerothCore есть модуль mod-playerbots. Он заводит ботов на отдельных аккаунтах, сам их прокачивает и экипирует. Боты умеют вести себя в подземельях, рейдах и на полях боя.

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

Как настраивается пул ботов

Модуль держит пул «случайных ботов». В конфиге задаются минимальная и максимальная численность пула и распределение по уровневым диапазонам: сколько ботов держать на 15–19 уровнях, сколько на 20–29 и так далее до 80-го.

Первая неочевидная вещь: сумма квот по диапазонам должна совпадать с максимальной численностью пула. Если изменить количество ботов и не пересчитать диапазоны, распределение по уровням поедет. Я поймал это, когда сокращал пул с 1550 ботов до 50.

Читать далее

Резервирование кластера Greengage DB. Часть 3

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

В данной статье рассмотрим сложные сценарии восстановления кластера Greengage DB, в которых кластер восстанавливается на новом окружении.

Читать далее

Открываем код YTsaurus Flow: как обрабатывать более 100 ГБ/с в реальном времени без потерь и дублей

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

Если вы когда‑либо строили пайплайны для обработки потоков данных в реальном времени со строгими требованиями, то наверняка знаете, сколько инфраструктурных заморочек в этом деле. Например, обеспечивать относительно низкие end‑to‑end‑задержки в штатном режиме относительно несложно. Но что, если они нужны и в высоких перцентилях, в том числе при сбоях или плановом обслуживании одного из используемых дата‑центров целиком? Как правильно партиционировать поток данных, обрабатывающие его процессы и их долгосрочное состояние, если нагрузка постоянно меняется? Как гарантировать exactly‑once, то есть отсутствие потерь и дублей даже при сбоях оборудования и в краевых случаях? Как понять, обработали ли мы все данные на тот или иной момент? 

С такими вопросами мы столкнулись при разработке высоконагруженных рекомендательных систем. Для этих задач мы создали YTsaurus Flow — фреймворк потоковой обработки данных с сохранением состояния между событиями и гарантиями exactly‑once по умолчанию. Это совместный проект команд Yandex Infrastructure и Яндекс Рекламы для обработки потоков данных в реальном времени. И сегодня мы открываем его исходный код под лицензией Apache® 2.0.

Flow — часть YTsaurus, платформы хранения и обработки данных, которую мы выложили на GitHub в марте 2023 года. Flow использует хранилище, очереди и общий механизм транзакций платформы, чтобы брать на себя управление состоянием и восстановление обработки после сбоев. Разработчик пайплайна при этом сосредоточивается на прикладной логике.

В статье разберём, зачем мы разработали собственный движок, как устроены его пайплайны и за счёт чего обеспечивается exactly‑once. А на примере реального сервиса покажем, как переход на Flow помог сократить задержку поставки данных для дообучения моделей с десятка‑другого часов примерно до двух.

Читать далее

Код в Word без картинок: подсветка синтаксиса через python-docx и Pygments

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

В прошлой статье мой генератор отчетов вставлял код в Word картинками, и первый же комментарий был: «Код рисунками – брр». Справедливо: такой код не скопировать, не найти поиском, а при печати он мылится.

Разобрался, как сделать правильно: листинги текстом с подсветкой синтаксиса, рамкой, заливкой и автонумерацией «Листинг N» через поля Word. Все на python-docx и Pygments, около ста строк. По пути – пара ловушек, о которых почти нигде не пишут: почему Word может не открыть документ из-за порядка XML-тегов и зачем задавать шрифт четыре раза.

Бонус – замеры: 30 листингов текстом собираются за 0,6 с против 4,1 с картинками, а файл получается в три раза легче.

Разобраться в деталях
1
23 ...