Разберём, как в xk6-sip, расширении нагрузочного инструмента k6 для тестирования VoIP/SIP-звонков, устроена проверка качества звука: запись звонка, оценка того, что услышал абонент, по эталону, и как это работает в функциональных тестах и под нагрузкой.
200 OK означает, что АТС соединила звонок, но не означает, что люди слышат друг друга. Исчерпанные порты медиасервера, ошибки NAT, перепутанные медиапотоки, транскодинг на пределе CPU дают звонок с успешной сигнализацией и тишиной, чужим голосом или хрипом в трубке. SIPp и большинство нагрузочных инструментов для телефонии проверяют сигнализацию, а RTP в лучшем случае считают пакетами. Для контакт-центра такой звонок — потерянный клиент, а в отчёте нагрузочного теста он зелёный.
В функциональных тестах телефонии эту проблему обычно решают эталонами: записывают, что должен услышать абонент в каждом кейсе, и сравнивают с записью звонка в CI. Подход рабочий, но эталон на каждый кейс нужно поддерживать, а под нагрузкой его не запустишь. В xk6-sip то же сравнение живёт прямо в скрипте k6 и работает на тысячах звонков.
В статье:
Читать далееМы пару лет были партнерами Yandex Kazakhstan, у нас есть своя речевая аналитика, под капотом были SpeechKit для распознавания голос в текст, и YandexGPT для последующей смысловой оценки диалогов. В конце 2025 года Yandex Kazakhstan решил, что ему не нужен партнер, у которого есть свой продукт, пусть даже на технологиях Yandex, и расторг с нами партнерское соглашение.
Все что ни делается, все делается к лучшему. Во первых мы посмотрели по сторонам, что еще есть на рынке облачного распознавания голоса. Нам очень понравилась Gladia, лучше чем SpeechKit, но это тема отдельной статьи. Во вторых, многих клиенты давно просят локальное распознавание голоса, из соображений безопасности данных. А у SpeechKit не очень хорошо получается распознавание казахского языка, и просто беда с распознаванием узбекского языка. И внезапно, на локальной видеокарте получилось очень хорошо распознавать казахский и узбекский языки, намного лучше, чем у SpeechKit. Забегая вперед, качество в ущерб производительности.
Фаза загрузки в моём тесте bufferbloat не нагружала линию: speed.cloudflare.com отвечал на запрос гигабайта кодом 403 и одним байтом, а код этого не замечал. Как это исказило вердикты, как ошибка всплыла при скорости 0.0000008 Мбит/с и почему генератор нагрузки обязан измерять собственную нагрузку.
Читать далееКогда агент начинает ждать решения человека, обычной очереди сообщений становится недостаточно: нужно понимать, кто отвечает за переход состояния и что происходит при сбое процесса. На практике это приводит к вопросам приоритета ответов, повторной обработке, версиям данных и защите от конкурентных записей.
В этой статье разберём архитектуру Agent Inbox: как с помощью конечного автомата, CAS-подобных проверок и SQLite построить предсказуемый цикл взаимодействия агента и человека.
Читать далееПривет, Хабр!
Мы считаем, что в настоящее время просто незаменимы книги, рассматривающие такие темы, которые пока не автоматизируются средствами искусственного интеллекта. Одна из таких предметных областей — проектирование распределённых систем. В нашем ассортименте давно закрепилась добротная книга Иэна Гортона «Масштабирование систем. Основы и проектирование распределённых архитектур», которую многие читатели сравнивают с «кабанчиком на минималках». Теперь же мы уже в начале октября ждём из типографии переведённую нами книгу «Think Distributed Systems», оригинал которой вышел в издательстве «Manning». Наш уважаемый автор Владислав Светлаков @svetlakoff, написавший книгу «Архитектура бэкенда. API для надежных корпоративных приложений», в своё время охарактеризовал книгу Торнова так:
«Я посмотрел, мне эти темы понравились, их ранее не встречал. Я бы такую книгу прочитал, единственное я не знаю, насколько аудитория такое воспримет... она достаточно фундаментальная, она примерно как книга по кафке, где глубоко описываются детали, и тут глубоко описываются детали про согласованность, про гонку, как обмен данными происходит... а по поводу этой книги у меня сложилось ощущение, что там присутствует похожий подход, но к набору технологий про распределенные вычисления».
Ниже мы перевели для вас обзор английской (аудио)версии книги «Think Distributed Systems», по которому предлагаем вам составить первое впечатление о ней.
Читать далееПривет, Хабр! Меня зовут Владимир Аламов, я инженер по информационной безопасности и комьюнити-лидер сообщества Security Champions в Авито.
Недавно AvitoTech совместно с SPbCTF организовали соревнование по спортивному хакингу HoneyBadger CTF. Участникам нужно было найти в системе дыру и через неё дотянуться до спрятанных данных. Лиги сделали две: «Медовую» для новых игроков и «Барсучью» для продвинутых.
В этой статье я расскажу про одно из самых сложных заданий «Медовой лиги» — МёдХантер. Это игрушечный сервис для поиска работы. В нём нужно пройти целую цепочку и достать из одной системы сразу три флага. Начинается всё с безобидного импорта резюме по ссылке, а заканчивается запуском своего кода на чужом сервере.
Читать далееИИ помогает быстрее искать уязвимости, разбирать исправления и готовить эксплойты. Окно технологических работ от этого длиннее не становится. У команды по-прежнему есть проверка совместимости, согласования и системы, которые должны работать. Атакующему достаточно выбрать одну подходящую ошибку.
Чем больше находок, тем острее вопрос: что исправлять первым?
Читать далееПривет, друзья! Меня зовут Сабрина, я XAI/MI researcher, и это наш новый туториал и в этот раз он ближе к разбору статьи. Если вы не знаете ни одно термина из заголовка — вам можно и нужно читать статью — она написана с целью познакомить Вас со всеми терминами во время прочтения.
Работать будем с двумя красивыми вещами. Первая — из DL: автоэнкодеры. Вторая — из математики: динамическая система и то, что расположено внутри нее.
Изучать динамическую систему в AE будет на основе публикации Navigating the Latent Space Dynamics of Neural Models. Приступим!
Читать далееМеня зовут Кирилл, я руковожу двумя аналитическими командами в Циане, сервисе недвижимости, где пользователи ищут квартиры для покупки, долгосрочной или посуточной аренды, а собственники, агенты и застройщики размещают объекты и находят клиентов.
У меня в зоне ответственности две команды аналитиков. Первая работает с CRM-коммуникациями на основе действий пользователей. Её задача — помогать людям быстрее находить подходящие объекты и возвращаться в продукт в правильный момент. Вторая команда отвечает за модерацию и доверие к объявлениям. Мы помогаем снижать количество фейковых квартир и недостоверных объектов, разбираемся с нарушениями правил коммуникации на площадке.
В этой статье расскажу, чем занимаются мои команды: как мы работаем с сегментами пользователей, рекомендациями, A/B-тестами, модерацией, рендерами и self-service-инструментами. А еще — почему хороший аналитик в продукте не должен оставаться человеком, к которому приходят только за выгрузками.
Читать далееBB - это открытая программа под лицензией MIT, в которой Claude Code, Codex, Pi и ACP-агенты работают в одном окне. За 7 месяцев репозиторий собрал около 4 тысяч звёзд. Главное в BB не окно, а то, что его интерфейс достраивается плагинами и новый плагин подхватывается без перезапуска программы.
Недавно я снимал про BB ролик. Там агент за 20 минут и два промпта собрал плагин, который расшифровывает запись созвона, выделяет договорённости со сроками и пишет письмо клиенту. Ролик был про то, что это даёт пользователю, а в этой статье я разберу код и покажу, за счёт чего это работает. Всё ниже проверено по репозиторию get-bb/bb по состоянию на конец сентября 2026.
Читать далееЛетом мир криптовалют заметно поскучнел — Госдума и Совет Федерации приняли законопроекты, которые перевели крипту в юридическое поле. В этой статье коротко расскажу, почему это важное изменение для российской экономики и что это значит для рядового инвестора.
Читать далееПедагогика готовила человека к будущему. Будущее пришло. Его попросили выключить телефон.
В Дартмутском колледже проректор Сантьяго Шнелл предложил различать две вещи: что студент понимает самостоятельно и что способен сделать с помощью искусственного интеллекта. Предложение опасное. Из него следует, что по хорошей работе ещё нельзя установить, хорошо ли образован человек. А ведь работа уже проверена. Оценка поставлена. Дипломы напечатаны.
Потом выяснилось, что сам Шнелл пользуется ИИ при подготовке текстов. Его статью детектор Pangram пометил как «100% AI-written». Шнелл объяснил: идеи и решения мои, программа помогает с изложением. Его объяснение детектор тоже пометил как машинное. Об этом сообщила The Dartmouth.
Сюжет, конечно, превосходный. Один искусственный интеллект помогает проректору выражаться, другой помогает читателям сомневаться. Человеческая мысль пока проходит по делу косвенно.
И тут можно с удовольствием застрять. Кто сколько написал. Кто что скрыл. Кого уволить. Всё это знакомые вопросы, для них уже существуют комиссии. А вот для вопроса «что мы вообще считали образованием?» готовой процедуры может не оказаться.
За Шнеллом числится вполне определённая проблема: он не всегда раскрывал участие ИИ и 25 сентября за это извинился. Но можно добиться образцового раскрытия. Ввести сноску. Утвердить форму. И остаться с прежним незнанием: что именно умеет человек, подписавший безупречно оформленный текст?
Раньше хорошая письменная работа служила косвенным свидетельством понимания. Теперь её можно получить, почти не занимаясь предметом. Здесь трещит научная претензия педагогики: уверенность, что она знает, какое развитие стоит за полученной работой. Метод сообщал нам о развитии человека — или мы научились оценивать продукт и привыкли считать, что человек к нему прилагается?
Читать далееПредставим, что kNN отнес новую точку к некоторому ближайшему классу. Все просто и знакомо. Однако привычная схема скрывает интересную недосказанность. Какие именно признаки сделали выбранный класс ближе? Возможно, почти всю разницу дал сигнал от одной координаты, возможно это вклад весьма конкретного набора координат, который можно интерпретировать как устойчивый признак более высокого порядка, а может, эти вклады распределены почти равномерно? На самом деле ответить на вопросы выше довольно легко. Для этого достаточно сохранить слагаемые, из которых получилось расстояние, перед тем, как «затирать» их суммированием.
Читать далееКогда пишут программу HelloWorld на C, обычно выводят текст “Hello, World!”. Но когда программа пишется для микроконтроллера, часто ограничиваются миганием светодиода, особенно для микроконтроллеров семейства STM32.
В статье я разберу, как можно вывести “Hello World” в программе для микроконтроллеров этого семейства.
Читать далееПривет, Хабр! На связи Ангелина Большина, Денис Толкачев и Игорь Буянов, команда Customer Support NLP, мы разрабатываем ботов для службы поддержки клиентов. И наша работа полезна для развития продукта MWS AI Клиентский сервис. Сегодня мы расскажем вам про то, как мы автоматизировали оценку наших ботов с помощью специально разработанной метрики. Мы разделили материал: сначала расскажем про бизнес-составляющую, а затем – про технические детали. Итак, поехали!
Читать далееПривет, Хабр! На связи Ангелина Большина, Денис Толкачев и Игорь Буянов, команда Customer Support NLP, мы разрабатываем ботов для службы поддержки клиентов. И наша работа полезна для развития продукта MWS AI Клиентский сервис. Сегодня мы расскажем вам про то, как мы автоматизировали оценку наших ботов с помощью специально разработанной метрики. Мы разделили материал: сначала расскажем про бизнес-составляющую, а затем – про технические детали. Итак, поехали!
Читать далееПлагины, которые начинались как маленькие решения для себя, а потом стали полезны тысячам дизайнеров.
Когда в работе постоянно повторяются одни и те же действия, рано или поздно начинаешь думать, как их убрать. В этой статье я рассказываю, как из мелких раздражителей в Figma выросли мои собственные плагины: от простых утилит до ShapeFlow, которым сейчас пользуются 20 000+ дизайнеров. Заодно делюсь тем, как вайб-кодинг помог мне быстрее проверять идеи, собирать инструменты под свои задачи и по-другому смотреть на привычную дизайнерскую рутину.
Читать далееВ вайбкодинге документацию первым читает агент, и открывает он почти только то, на что ему сослались. По журналам Claude Code одного моего проекта файлы без входящей ссылки агент открывал в среднем 1,2 раза, а 57 из 88 таких не открыл ни разу.
Раньше документацию писали в конце цикла, и читал её человек. В вайбкодинге код пишет агент, и получает он только то, что ему подали. Я посчитал по журналам за пять недель, какие markdown-файлы агент открывал. Точкой входа ниже называю то, чем агента запускают на задачу: файлы слеш-команд в .claude/commands и описания субагентов в .claude/agents. Документы, названные в точке входа, агент открывал в среднем 12,3 раза.
Читать далееВ данной статье описывается решето для поиска составных и простых чисел для рядов А(а) = 2а+1, B(b) = 6b-1 и С© = 6с+1. Через выборку решетом раскрывается тайна распределения простых чисел‑близнецов.
Идея работы решета — выбрать составные числа в последовательности — через идентификаторы или порядковые номера их расположения в ряду.
Рассмотрим ряд нечетных чисел, которые образовываются формулой А(а) = 2а+1:
Читать далееКак работать с коллекциями в Http API‑клиенте...
В клиенте уже год как работал экспорт коллекции как патча — одного JSON‑файла с операциями вида upsertRequest / removeRequest / setCollectionMeta. Достаточно, чтобы переслать коллеге точечное изменение: поправил заголовок в одном запросе — экспортировал — коллега применил патч у себя. Рабочая штука для передачи «из рук в руки».
Ниже — история одной конкретной фичи: зачем понадобился «git‑friendly» экспорт коллекции, как устроена стабильная сериализация и разрешение коллизий имён файлов, и какую дыру в защите секретов мы нашли и закрыли по пути. Без сравнений с другими клиентами — только то, что случилось и что мы с этим сделали.
Читать далее