Инженер из Midjourney выложил в опенсорс алгоритм, который позволяет делать верстку без CSS. То есть он сам считает layout текста, без DOM и без браузерного reflow.
Звучит странно, потому что мы привыкли, что за это отвечает браузер. Но браузер делает это тяжело, через каскад стилей, зависимости между элементами и пересчеты при каждом изменении. Если текст часто меняется, вся система начинает тормозить. Pretext убирает этот слой и сводит задачу к прямой математике.
Собственно, это дает кратный выигрыш по скорости – до 500х.
Зачем это все нужно?
Сейчас появляется все больше интерфейсов, где текст и структура не заданы заранее, а формируются динамически. В частности – это история про агентов.
Когда агент собирает UI под задачу пользователя, интерфейс не фиксирован, он постоянно меняется, иногда буквально на каждом шаге. И каждый такой апдейт через браузерный reflow – это лишняя задержка и непредсказуемость.
С Pretext это занимает гораздо меньше времени + полностью контролируемо со стороны кода. Когда интерфейс генерирует не человек, а система, удобнее работать с прямыми алгоритмами, а не с тяжелым браузерным пайплайном.
Ну и, конечно, выглядит это очень красиво. За счет скорости обработки выдумать поверх Pretext можно что угодно (примеры прикладываем). И все же в первую очередь проект интересен именно тем, как изящно он ложится на новые сценарии.
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
sql-tap — это прокси-демон, который перехватывает SQL-запросы между вашим приложением и базой данных (PostgreSQL или MySQL), отображая их в интерактивном терминальном интерфейсе. Позволяет анализировать запросы и транзакции без изменения кода приложения.
Основные моменты:
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
The Pudding пытаются повторить успех своего легендарного проекта про карманы в женских джинсах, на этот раз рассказывая про проблемы женской одежды в целом.
Материал большой, иллюстративно красивый и «жирный» по фактуре. Вот несколько фактов из него:
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Если браузер работает медленно или ломается после обновлений - проблема часто не в Linux, а в установке. Многие ставят браузер из случайных источников или вручную скачивают архивы, из-за чего нет автообновлений, слетают зависимости и появляются ошибки.
Правильный подход - устанавливать браузер из официального репозитория или через пакетный менеджер системы. Тогда вы получаете:
Для примера установим Google Chrome официальным способом.
Установка Google Chrome (Ubuntu / Debian)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.deb
Запуск браузера
google-chrome
Обновление системы (включая браузер)
sudo apt update && sudo apt upgrade -y
Проверка версии
google-chrome --version
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Большинство систем поиска и векторных БД сегодня очень дорогие.
Причина простая, они хранят данные в RAM или реплицированных SSD, где стоимость может доходить до $600–$3600 за TB в месяц.
Но turbopuffer предлагает другой подход.
Хранить данные не в памяти серверов, а в object storage (например S3 или GCS).
Стоимость:
Разница может достигать до 100× дешевле для холодных данных.
📌 Архитектура turbopuffer:
Client
↓
Query layer
↓
SSD / memory cache (горячие данные)
↓
Object storage (источник истины)
То есть:
Vector search становится ключевой частью AI-систем:
Но именно retrieval слой часто становится самой дорогой частью AI-инфраструктуры.
Архитектура turbopuffer показывает, что:
> дешевый storage + умный cache
> может заменить дорогие memory-based search системы.
Будущее AI-поиска может выглядеть так:
И тогда поиск по миллиардам документов становится почти “zero-cost” инфраструктурой.
Подробнее:
https://turbopuffer.com/blog/zero-cost
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Решение: использование
DATEDIFF
DATEDIFF: эта функция вычисляет разницу между двумя датами. Она используется для того, чтобы обеспечить сравнение именно «сегодняшних» и «вчерашних» температур.Если сформулировать обычным языком следующий запрос, то окажется, что он выражает следующую идею: нужно выбрать такие идентификаторы, чтобы температура, соответствующая представляемым ими датам, была бы больше, чем температура на «вчерашние» по отношению к ним даты.
SELECT DISTINCT a.Id
FROM Weather a, Weather b
WHERE a.Temperature > b.Temperature
AND DATEDIFF(a.Recorddate, b.Recorddate) = 1
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Train/test split — кажется самой простой частью ML.
Но именно здесь чаще всего ломают всю модель.
И самое опасное — ты можешь даже не заметить
Data Leakage — тихий убийца моделей
Ты случайно «подсматриваешь» в тест.
Примеры:
👉 нормализация на всём датасете до split
👉 target encoding на всех данных
👉 feature, напрямую связанная с таргетом
Модель показывает космический скор,
а в проде — провал.
Случайный split там, где нельзя
Ты делаешь random split…
но данные зависимы.
Примеры:
👉 временные ряды
👉 пользователи (один и тот же user в train и test)
👉 сессии
Модель узнаёт данные, а не обобщает.
Игнорирование времени
В задачах с временем:
👉 ❌ случайный split
👉 ✅ train = прошлое, test = будущее
Иначе ты:
👉 обучаешься на будущем
👉 предсказываешь прошлое
Это не ML. Это читерство.
4️⃣ Дисбаланс классов в split
Ты сделал split и получил:
👉 train: 5% positive
👉 test: 1% positive
Метрики начинают врать.
Решение:
👉 stratified split
Слишком маленький test
Test = 50 объектов
Accuracy = 90%
Звучит круто.
Но это статистический шум.
Маленький test = ненадёжная оценка.
Тест используется как валидация
Классическая ошибка:
👉 обучился
👉 посмотрел на test
👉 подкрутил модель
👉 снова посмотрел
Это уже не test. Это validation 2.0.
Дубликаты в train и test
Если один и тот же объект попал в обе выборки:
Модель просто запоминает.
Особенно критично:
👉 CV
👉 e-commerce
👉 табличные данные с ID
Неправильный split в CV
Cross-validation тоже можно сломать:
👉 leakage между фолдами
👉 группы не учитываются
👉 time-series перемешаны
Используй:
👉 GroupKFold
👉 TimeSeriesSplit
Главный инсайт
Train/test split — это не про «разделить данные».
Это про симуляцию реального мира.
Если split не отражает прод —
все метрики бесполезны.
В одном предложении
Плохой split может сделать плохую модель «идеальной» —
до момента, когда она выйдет в прод.
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Для корпораций это фактически бесплатно, а датасет выходит уникальным — таких данных нет в интернете и их невозможно сгенерировать синтетически.
Так что да, люди сами помогают создавать себе замену.
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот где большинство агент-фреймворков ошибаются:
Память хранится в одном месте.
Ресурсы — в другом.
Навыки разбросаны по системе.
Когда агенту нужен контекст, обычно делают плоский векторный поиск и просто надеются на лучший результат.
Именно это и проблема. OpenViking решает её одной идеей:
рассматривать контекст агента как файловую систему.
Всё работает через единый протокол:
viking://Память, ресурсы и навыки организованы как директории с уникальными URI.
Агент может ls, find и навигировать по контексту, как разработчик в терминале.
Главный прорыв — многоуровневая загрузка контекста:
- L0 — одно предложение для быстрого поиска
- L1 — обзор ~2000 токенов для принятия решений
- L2 — полные детали, загружаются только когда действительно нужны
Большинство агентов просто загружает всё в контекст и надеется на лучшее.
OpenViking загружает только нужные данные и только в нужный момент.
Результат:
- меньше расходов на токены
- выше точность
- быстрее работа агентов
Retrieval теперь тоже работает логичнее.
Вместо одного плоского семантического поиска:
1. сначала происходит позиционирование на уровне директорий
2. затем рекурсивный поиск внутри наиболее релевантных директорий
Можно буквально видеть траекторию поиска — это больше не чёрный ящик.
Есть и механизм самоэволюции агента.
В конце каждой сессии система автоматически:
- извлекает новые знания
- обновляет память агента
- обновляет память пользователя
То есть агент становится умнее с каждым использованием.
Проект уже имеет:
- 9K звёзд на GitHub
- 13 контрибьюторов
Разработан командой ByteDance Viking, которая строит инфраструктуру векторного поиска с 2019 года.
Проект полностью open-source под лицензией Apache 2.0.
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
gstack превращает Claude Code в команду специалистов, доступных по запросу. Он предлагает восемь навыков для управления рабочими процессами, включая планирование, ревью кода и автоматизацию браузера, все через удобные команды.
Основные моменты:
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Актриса выложила на GitHub опенсорс-инструмент MemPalace для работы с памятью ИИ-агентов. Делала его вместе с другом.
Фишка в том, что все данные хранятся локально, а система сама решает, какие факты о пользователе подтягивать под конкретный запрос. По бенчмарку LongMemEval инструмент уже обгоняет и платные, и бесплатные решения.
За сутки репозиторий набрал 2k+ звёзд.
Похоже, границы между индустриями окончательно стерлись 💀
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Instant Grep ищет по миллионам файлов за миллисекунды
16.8 сек → 13 мс
И главное:
они не ускоряли regex
они убрали лишний поиск
Как это работает
- создаётся индекс: куски текста → файлы
- используются триграммы (fil, ile, le_)
- сначала ищутся кандидаты
- потом запускается regex
большинство файлов вообще не открывается
- индексируются не все куски
- только самые «полезные»
- редкие символы имеют больший вес
Всё локально
- индекс хранится у тебя
- привязан к Git
- быстрый доступ через memory map
Скорость даёт не regex
а умный отбор файлов до поиска.
https://x.com/cursor_ai/status/2036122609931165985
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
- 47 000 действий для агентов в 250+ приложениях
- Подключения к Slack, GitHub, Gmail, Stripe, Discord, Google Sheets и другим сервисам
- Все действия проверены, агент больше не «галлюцинирует» API
- Разворачивается одной CLI-командой: подключил один раз — используешь везде
Это тот самый слой интеграций, которого агентам давно не хватало.
https://github.com/withoneai/cli
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Да, без Excel и без GUI.
Sheets - это инструмент, который позволяет читать и редактировать CSV прямо в терминале через TUI или CLI.
Что внутри:
Работает на Windows, macOS и Linux.
Идеально, если ты живёшь в терминале и не хочешь дергаться между окнами.
Excel начинает нервничать.
https://github.com/maaslalani/sheets
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Модель от OpenBMB, которая умеет:
Главный плюс - всё это в одной модели, без костылей из ASR + TTS
https://huggingface.co/openbmb/VoxCPM2
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Возможно, кто-то из прочитавших заголовок скажет — зачем возиться с WAL, если есть более простые способы.
NOTIFY, например.Да, действительно, и, если вам нужно мониторить изменения в небольшой, не слишком часто обновляющейся таблице, то это отличный вариант. Но дело в том, что все уведомления
NOTIFY падают в одну очередь, и если таких уведомлений много, то они затормозят работу всей БД.Кроме того, их размер ограничен 8000 байтов, чего может быть недостаточно. А еще, если сервис-получатель был по какой-то причине не доступен и сообщение не дошло, повторное через NOTIFY не отправляется — то есть данные просто потеряются.
В общем, не идеальный вариант.
Спойлер: этот вариант тоже не идеальный. Как минимум, придется повозиться:
wal_level на logical со стандартного replica — так он начнет делать более подробные записи о том, как и что конкретно изменилось в базе. publications (то есть, расписать, какие таблицы и действия вы хотите отслеживать) и репликационный слот (то есть отдельную копию WAL, которая гарантирует, что никакие важные данные из лога не удалятся, пока уведомление не будет отправлено).Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Этим вопросом задалась команда J'son & Partners Consulting, которая сравнила подходы к подготовке ИИ-специалистов в России, США и Китае. Во всех трех странах ключевой вызов один — образование не успевает за темпами развития технологий, поэтому важно его адаптировать.
Какие меры предпринимают:
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Очень часто DISTINCT добавляют просто чтобы убрать дубли после неудачного join. Запрос вроде работает, но по факту ты сначала раздуваешь результат, а потом заставляешь базу его чистить. На больших таблицах это легко убивает производительность.
Плохой вариант:
SELECT DISTINCT u.id, u.name
FROM users u
JOIN orders o ON o.user_id = u.id;
Лучше так:
SELECT u.id, u.name
FROM users u
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.user_id = u.id
);
Почему это сильный приём:
EXISTS останавливается, как только находит первое совпадение
не нужно тащить лишние строки
не нужно потом убирать дубли
логика запроса становится честной - ты проверяешь наличие, а не собираешь мусор
Это один из самых частых hidden performance fixes в SQL. Если видишь DISTINCT, сразу спрашивай себя: он тут реально нужен или просто маскирует плохую логику JOIN.
Всё про Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM