Обновить

Все потоки

Сначала показывать
Порог рейтинга

Недавно на axios вышла статья “В войнах за таланты ИИ есть проблема лояльности”. Мне кажется, основную мысль в ней почти высказал Дарио Амодеи:

новые таланты приходят в фирму ради денег, а не ради миссии

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

Денег у ИИ уже очень много, а полезных всем результатов как-то пока не видно. Рак и Альцгеймер не побеждены, климат нагревается, войны идут. И новостей о миллиардных инвестициях в эти темы я не вижу. Инвестиции в ИИ-вооружения есть, а в ИИ-мир - нет.

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

А даже если и произойдёт - каков механизм перераспределение богатств из карманов OpenAI и Anthropic всем остальным? Пока что такого механизма нет и близко. Они даже налоги с доходов особо не платят (почему-то рос цены акций не считаются доходом). Пока что врачи в Сан-Франциско вынуждены подрабатывать, чтобы позволить себе жить среди инженеров с ИИ-зарплатами. Выходит, если тебе не посчастливилось работать в одной из очень немногих компаний (наример, ты слишком молод, или слишком стар, или работаешь не в IT, или не в Калифорнии, или не повезло на собеседовании, или просто недостаточно умён для прохождения собеседования), то никаких особых денег от ИИ ты не получишь.

Всё выглядит так, что миссия Anthropic - создать AGI и заработать все деньги мира. Ну или заработать все деньги мира не создавая AGI. Ради этой миссии люди туда и идут.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Как я отказался от HR в компании

Мне нужно было найти 2 спеца - SEO и контент-менеджера, сайт на Битриксе. Отправил HR требования и условия, работа удаленная. Неделя прошла, спрашиваю - все не подходят. На второй неделе не выдержал, спросил какого хрена где резюме. В итоге забрал на себя и за 2 дня нанял в команду спецов.

Иногда HR только мешают своими бестолковыми подборами и созданием видимости работы. И да, когда я открыл сам все отклики я офигел от количества отказов толковым спецам. На вопрос почему столько отказов и почему у меня не спрашивали, внятного ответа так и не получил. На тот момент я работал руководителем отдела трафика в компании.

Теги:
Всего голосов 7: ↑7 и ↓0+10
Комментарии3

Меня в разных постах обвиняли, что я якобы базирую свою критику AI только на старых бесплатных моделях. Что-ж, пару недель назад я дал задачку самой последней самой платной версии Claude и вот мои наблюдения. Если кратко, из него можно выбить правильный ответ, если знать какой ответ должен быть, но в процессе выбивания оно демонстрирует целый букет наивностей, свойственный людям, которые перешли на верилог из Си. Я аж прослезился, вспомнив как я делал такие же ошибки 30 лет назад. При этом оно еще и пытается спорить и что-то доказывать, что я у него запросил якобы "теоретически невозможно".

Конечно самое коронное из наивностей - это перепутать стадии конвейера и состояния последовательного конечного автомата. Даю ему задачу спроектировать блок, который принимает транзакции TIn и выдает транзакции TOut после применения некоторого алгоритма. Вообще-то такой блок уже существует, поэтому любые попытки Claude сказать "теоретически невозможно" сразу шлются подальше. Если все транзакции потока - простые, то блок должен принимать транзакции Tin каждый такт и выдавать результат Tout каждый такт (после задержки в фиксированное количество тактов).

И что же ИИ делает? Оно строит последовательный конечный автомат с 5-ю стадиями, в котором начинает обрабатывать новую транзакцию только когда, через пять тактов, заканчивает обрабатывать старую. При этом в комментариях оно пишет что это якобы pipeline, то бишь конвейер. Что разумеется ерунда, поскольку в конвейер можно засовывать следующую транзакцию как только предыдущая прошла первую стадию, не дожидаясь пока она докатится до пятой.

Помимо меня в 1996 году я такую же ошибку видел в последнее время у одного хоббиста из Израиля, который стал в своем блоге учить мир как писать процессоры, и в ответ на возражение "это не конвейер" стал оправдываться что это "конвейер" в некотором абстрактном смысле, типа поэтическом. А также у вышедшего на пенсию профессора программирования из Шотландии, который решил на старости лет также поучить людей тому что он сам неверно понимает. Это вообще свойственно программистам на Си которые впервые увидели верилог. Что показывает кому Антропик дает тренировать клод.

Итак, я пишу клоду "это не конвейер, я запросил конвейер". В ответ оно соглашается и меняет в комментариях "pipeline" на "state machine states". Но код остается тот же самый.

На это я ему говорю "каждое процессирование занимает 5 тактов для любой транзакции, я же запрашивал back-to-back для простых транзакций". ИИ в ответ оптимизирует два состояния и далее заявляет, что якобы три такта это "теоретический предел".

И вот тут я обнаружил интересную фичу: если на Клод наорать капслоком, оно перестает трендеть про "теоретический предел" c последовательным многотактовым конечным автоматом - и строит конвейер.

Но если бы с ним сидел не я, а джун после коледжа, он бы поверил клауду про "теоретический предел" и вот так бы и оставил. И что потом делать с результатом? Смириться что телефон выводит на экран игры по одному пикселю в секунду и батарейка здыхает через 5 минут?

Именно поэтому я убежден, что студентов нужно тренировать так, чтобы они умели решать задачки такого типа безо всякого ИИ. А если не хотят - пусть идут в Макдональдс или собирать клубнику на плантациях в Вилсонвилле, замещать там нелегальных мексиканцев, которых Трамп пытается высылать.

Как их сейчас тренируют в вузах? Набивают всякими мусором, который потом превращается в кашу в голове из JK-триггеров и карт Карно. Там и про конвейеры и FIFO есть, они просто висят как сферические кони в вакууме, без понятия как это прилагать к решению задач.

Теги:
Всего голосов 24: ↑24 и ↓0+30
Комментарии14

Наговорить бессвязно — рабочий приём, а не лень

Андрей Карпатый, который в 2026 перешёл в Anthropic в команду претрейна, описал приём из собственной практики. Когда модели не хватает контекста, а печатать лень, он переключается на голосовой ввод и минут десять говорит потоком сознания — без структуры, как выйдет. Смысл не в экономии времени: модели неплохо собирают связное из бессвязного, и пересказ ваших путаных мыслей возвращается к вам чище оригинала.

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

Но переносить этот приём на редакцию я бы не спешил, и вот почему.

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

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

Отдельно про цену. Десять минут речи — это довольно большой кусок текста и примерно две тысячи токенов, и он остаётся в переписке до конца сессии. Каждый следующий ваш вопрос модель читает вместе с ним заново: к двадцатой реплике вы оплатили эти десять минут двадцать раз. Но дороже не деньги, а место. Окно контекста не резиновое, и ваши оговорки лежат в нём рядом с правилами канала. Чем длиннее разговор, тем охотнее модель цепляется за случайную фразу из потока вместо инструкции в скилле. В агентском пайплайне это ещё умножается на каждый шаг цикла.

Отсюда рабочая рамка. Наговаривать — в отдельной сессии, забирать оттуда только сборку, ужимать её руками и приносить в работу абзацем, который вы прочли и одобрили. Проверять при этом не то, что модель оставила, а то, что она выбросила. Ценность приёма не в готовом брифе, а в том, что он вытаскивает из вас причины, которые вы не стали бы печатать. Собеседником модель тут работает отлично. Автором задачи — нет.

В канале вышло ещё днём.

Теги:
Всего голосов 7: ↑5 и ↓2+3
Комментарии0

Да, на Хабре появилась многофакторная аутентификация

Сразу ответим на основные вопросы: да, на дворе 2026 год; да, раньше ее не было; нет, этот пост не пролежал в черновиках с 2013-го.

Мы добавили в Хабр Аккаунт дополнительное подтверждение входа. Если включить его в настройках, после ввода пароля нужно будет подтвердить вход еще одним способом.

Доступны два способа подтверждения:

— одноразовый код из приложения-аутентификатора
— код, отправленный на электронную почту

Все настраивается в разделе «Многофакторная аутентификация» в настройках Хабр Аккаунта. 

На этом все. Включайте и возвращайтесь на Хабр с защищенного аккаунта. 

Теги:
Всего голосов 24: ↑24 и ↓0+59
Комментарии5

SmileLadder. Как трилогия про "память и мозг" привела к циклу про управление вниманием. Пост №1 - от синтетической к реальной ЭЭГ

В прошлой статье я попробовал описать внимание как динамическое распределение весов в графе. Тогда нейронная активность, оцениваемая по ЭЭГ, были синтетическими: граф состоял из модельных узлов, а сигнал генерировался осцилляторами в модели Хиндмарша-Роуза.

Публикация получилась сложная и я этим постом попытаюсь перейти к разбору исследования вопроса управления вниманием. Первое, что я попробую - это возьму реальную ЭЭГ: Для проверки я использовал открытый датасет STEW — Simultaneous Task EEG Workload. В нём 48 участников: для каждого записаны состояние покоя и работа с многозадачным тестом SIMKAP.

На реальной EEG индекс ASI (по которому я выдвигал гипотезу, что он может быть оценкой уровня внимания) различает покой и высокую когнитивную нагрузку. Но есть важные ограничения, о которых скажу ниже.

Берём реальную EEG - там 14 EEG-каналов, частота дискретизации 128 Гц. Всего 96 записей.

Кортикальные узлы я представил 14-тью реально измеренными каналами: AF3, F7, F3, FC5, T7, P7, O1, O2, P8, T8, FC6, F4, F8, AF4.
Кортикальные узлы я представил 14-тью реально измеренными каналами: AF3, F7, F3, FC5, T7, P7, O1, O2, P8, T8, FC6, F4, F8, AF4.

Каналы сгруппированы по областям: префронтальной, фронтальной, фронтоцентральной, височной, теменной и затылочной. Полная таблица соответствий лежит в репозитории.

Вот так использую свою модель

EEG делится на окна по 4 секунды с шагом 2 секунды. Для каждого окна рассчитываются четыре компонента:

  1. спектральная вовлечённость - отношение активности beta к theta и alpha;

  2. alpha gating - изменение задней alpha-активности;

  3. фазовая организация - согласованность theta-ритма между передними и задними каналами;

  4. пространственная селективность - насколько неравномерно распределена вовлечённость по каналам.

На этих 14 каналах обучается графовый attention-readout. В коде он называется узелTHAL - это скрытый вычислительный узел-оркестратор.

Практический результат: у 48 участников из этого датасета медиана ASI-EEG составила:

  • 0,5129 в покое;

  • 0,5311 при высокой нагрузке.

Медианный парный сдвиг равен +0,0218, 95% bootstrap-интервал — [0,0049; 0,0533]. Парный критерий Уилкоксона дал p = 0,00182. Это означает, что нулевая гипотеза об отсутствии различий отвергается, так как p-value меньше стандартного уровня значимости 0,05. 

На этих данных ASI-EEG действительно реагирует на изменение когнитивного состояния. Это уже не результат виртуальной EEG, а эффект, полученный на записях реальных тестов.

Есть и второй пруф: графовый классификатор проверялся с разделением участников между фолдами. На уровне целой записи он различил покой и нагрузку с точностью 88,5%, а ROC AUC составил 0,969.

Все числа сохранены в summary.json, а расчёт можно повторить по исходному коду:

python "Model GAT/stew_asi_gat_experiment.py" \
  --dataset dataset \
  --output "Model GAT/results" \
  --bootstrap 5000

Практический цикл управления вниманием я теперь вижу так:

задачи и контекст → оценка ожидаемого фокуса → EEG-маркер фактической нагрузки → обратная связь → корректировка списка задач

Текущий репозиторий закрывает только один фрагмент этого цикла: показывает, что реальная EEG содержит воспроизводимый сигнал изменения нагрузки. Следующий шаг - не «читать мысли», а научиться замечать момент, когда нагрузка перестаёт быть продуктивной мобилизацией и превращается в распад селективности.

Код, данные расчёта и графики: GitHub-репозиторий - его я форкнул от задачи идентификации и дописал свою часть.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

🤖 AI-агенты для Ansible: как делегировать рутину и не писать плейбуки руками — бесплатный стрим 12 августа

Я перестал писать Ansible-плейбуки руками. Вообще. Вместо этого у меня работает AI-агент, который знает лучшие паттерны, понимает мою инфраструктуру и сам пишет роли, модули, соединяет их и поднимает всё необходимое. Недавно он за вечер собрал связку Terraform + Ansible на новом сервере — и справился лучше, чем я ожидал.

На стриме покажу, как это устроено изнутри:

🔧 Архитектура AI-агента для Ansible: база знаний, инструментарий, что дёргать и как дёргать
📜 Как агент пишет роли и модули: промпты, валидация, итеративное исправление ошибок
🖥 Живой пример: поднимем инфраструктуру с нуля руками агента — в реальном времени
💡 Границы применимости: что агент делает хорошо, а что пока лучше делать самому

Андрей Чуян — основатель DebugSkills, автор AI-агента для работы с Ansible, спикер лабораторных по AI-оркестрации и Kubernetes.

📅 12.08.2026, 19:00 (МСК)
📡 ktalk
⏱️ 45 мин контент + 15 мин Q&A

> «Я ушёл из рутины, делегировал Ansible AI-агенту, который занимается этим.» — Андрей Чуян, из диалога с участником на лекции Jenkins

Это не вебинар и не лабораторная. Это живой разговор о том, как AI меняет работу DevOps-инженера уже сегодня. Без продаж, без подписок — просто приходите и смотрите.

Ссылка на регистрацию: https://debug-skills.timepad.ru/event/4127747/

Жду вас! 🤖

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Как получить готовый план по оптимизации лагающего сайта с помощью аудита фронтенда

Привет! Я Рома Игнатович, лид фронтенд-разработки в Далее. Обычно задача «ускорить сайт» без конкретики превращается в перебор гипотез вслепую. PageSpeed тут не спасет, потому что он показывает только симптомы — например, низкую скорость загрузки, нестабильную вёрстку, задержку кликов, — но не причины. За одинаковыми цифрами может стоять что угодно, от тяжёлых картинок до медленного бэкенда. Поэтому вместо точечных проверок я использую аудит фронтенда — он сразу сужает область поиска и помогает быстро составить план по доработкам.

Как проходит аудит

Смотреть можно без доступа к коду, во вкладке Performance в DevTools. Берём ключевой сценарий (например, флоу покупки) и записываем performance trace: скролл, клики, переходы, ввод — ищем долгие таски, блокировки потока, просадки анимаций. Параллельно смотрим Network waterfall (какие запросы блокируют остальные), рантайм и три метрики Web Vitals: LCP, TTFB, CLS. Для мультирегиональных продуктов пригодится WebPageTest — показывает поведение сайта из разных точек и с разным качеством соединения.

В Performance можно отслеживать пропущенные фреймы, тяжелые анимации и нагруженность каждого участка флоу
В Performance можно отслеживать пропущенные фреймы, тяжелые анимации и нагруженность каждого участка флоу

Проверять стоит не только на мощной машине: CPU throttling (4–6x) имитирует медленное устройство и вскрывает лаги, а network throttling на 3G/4G показывает, насколько критичны тяжёлые изображения и порядок загрузки. Сценарии прогоняем дважды — в норме и с throttling; если с throttling сайт деградирует критично, это уже не техдолг, а прямые потери конверсии.

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

Типичные проблемы и варианты их решений

Загрузка и контент:

  • весь код в одном бандле → браузер грузит и парсит всё сразу, плюс изображения по 20–30 МБ. Фикс: разбить на смысловые чанки, грузить по страницам и сценариям;

  • устаревшие форматы вместо WebP/AVIF, нет адаптивных размеров (srcset), грузятся элементы за пределами вьюпорта. Фикс: современные форматы + lazy loading;

  • высокий TTFB значит, что тормозит бэкенд, высокий LCP может быть где угодно. Фикс: проверяем бэкенд, настраиваем отправку первичного запроса при монтировании страницы.

Интерфейс и рендеринг:

  • расчёт анимаций на CPU вместо GPU, свойства вроде width/height/top/left вместо transform — браузер пересчитывает layout. Фикс: transform/opacity, но без перебора с will-change;

  • main thread перегружен синхронными операциями и тяжёлыми вычислениями. Фикс: распределять задачи параллельно, выносить тяжёлые операции из основного потока;

  • layout shift — не зарезервировано место под контент, не заданы размеры изображений и блоков. Фикс: фиксировать размеры заранее, skeleton-заглушки.

От аудита к бэклогу

Такой аудит даёт гипотезы, которые ещё нужно перевести на язык задач. Формулирую каждую находку как цепочку: проблема → гипотеза → действие. Например:

  • интерфейс подвисает при открытии карточки → долгие JS-задачи → разбить выполнение;

  • анимация лагает → расчёты идут на CPU → перевести на GPU через transform;

  • страница долго грузится → тяжёлые изображения → оптимизировать формат и размер.

У любой оптимизации — измеримая цель: например, LCP < 2.5 с, CLS < 0.1, снижение веса страницы на 30–40% и т. п.

Из действий собираю план: задачи ранжирую по эффекту и затраченным ресурсам — в приоритете то, что влияет на ключевые сценарии, конверсию и быстро чинится.

В итоге получается приоритизированный план с обоснованными гипотезами и задачами на доработку, который потом проверяется повторно — тестированием, бизнес-командой или новым техническим анализом.

Подробнее обо всех этапах пишу в большой статье на Workspace: читать здесь.

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Вышел 9-й номер журнала Paged Out (#8 выпустили в июне), который включает в себя различные материалы на тему этичного хакинга и информационной безопасности. Издание публикуется в формате: 1 страница — 1 статья. Все остальные Paged Out выпуски можно скачать с сайта проекта.

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

Как реализовать семантический поиск для RAG-архитектуры в PostgreSQL без усложнения инфраструктуры?

Ситуация: вы разрабатываете чат-бота для техподдержки на базе RAG-архитектуры. Используете PostgreSQL как хранилище знаний и делаете поиск по текстовым полям, но качество ответов нестабильное: система плохо справляется с синонимами, профессиональным сленгом и переформулировками запросов. Обязательно ли внедрять отдельную векторную базу данных, или можно реализовать семантический поиск прямо в PostgreSQL? Возможна ли простая проверка продуктовой гипотезы без усложнения архитектуры?

Да, семантический поиск в RAG-сценариях можно реализовать прямо в PostgreSQL без выделенной векторной базы данных (ClickHouse, Opensearch, Qdrant, Milvus и т. д). 

Для этого используется PostgreSQL + расширение pgvector, которое добавляет поддержку хранения эмбеддингов (векторов) и поиск по расстоянию до ближайших соседей (KNN) прямо внутри SQL-движка. Разберем, как это работает на практике.

В RAG-пайплайне текст документов и запрос пользователя преобразуются в векторные представления. PostgreSQL хранит эти векторы в таблице и позволяет выполнять поиск по смысловой близости, а не по точному совпадению слов.

Для этой задачи будем использовать pgvector — это расширение к PostgreSQL, которое добавляет тип данных vector и операторы поиска по расстоянию до ближайших соседей (KNN).

Поддерживаются три основные метрики сравнения векторов:

  • L2 (евклидово расстояние) — классическое расстояние между двумя точками в многомерном пространстве. Хорошо работает, если векторы не нормализованы и распределение значений относительно равномерное.

  • Cosine similarity (косинусное сходство). В отличие от предыдущей метрики измеряет не абсолютное расстояние, а угол между двумя векторами. Подходит для текстовых эмбеддингов, где важна направленность, а не масштаб. Требует нормализации векторов.

  • Inner product (внутреннее произведение) — скалярное произведение двух векторов. Может использоваться как прокси для оценки «сходства» при обучении моделей и в задачах ранжирования.

Допустим, мы получаем на наш запрос именно такой вектор от модели OpenAI. Для хранения создаем таблицу с типом VECTOR:

CREATE TABLE items (
 id SERIAL PRIMARY KEY,
 title TEXT,
 embedding VECTOR(1536)
);

Добавим данные для нескольких векторов разных объектов:

INSERT INTO items (title, embedding) VALUES
 ('PostgreSQL embeddings', '[0.10, -0.80, 0.45]'),
 ('Neural image processing', '[0.42, 0.18, -0.35]'),
 ('Sound pattern matching', '[-0.20, 0.70, 0.60]'),
 ('Document clustering', '[0.09, -0.79, 0.48]');

Теперь сравним их попарно и отсортируем по расстоянию:

SELECT
  a.title AS title_a,
  b.title AS title_b,
  a.embedding <-> b.embedding AS distance
FROM items a
JOIN items b ON a.id < b.id
ORDER BY distance;

Оператор <-> здесь вычисляет расстояние между двумя векторами. Таким образом, мы можем оценивать степень семантической близости любых объектов, представленных векторами. Какая именно метрика используется, зависит от операторного класса, заданного при создании индекса.

В подобных RAG-сценариях нет необходимости сразу вводить отдельный класс инфраструктуры типа векторная БД. Семантический поиск можно реализовать эволюционно поверх существующего PostgreSQL.

А если вы не хотите самостоятельно заниматься настройкой индексов, тюнингом памяти и производительности, а также обновлением версии PostgreSQL, то воспользуйтесь DBaaS от Selectel. Мы предоставим вам кластер PostgreSQL с преднастроенными расширениями, готовый к эксплуатации под нагрузкой. Это позволит сосредоточиться на RAG-логике и качестве поиска, а не на инфраструктурной оптимизации.

Теги:
Всего голосов 8: ↑7 и ↓1+11
Комментарии0

Почему я перестал удалять пользователей сразу

Раньше логика удаления у меня была максимально простой:

DELETE FROM users
WHERE subscription_end < NOW();

Пока проект небольшой, кажется, что этого достаточно. Но потом начинаешь учитывать, что происходит вокруг. 
Обработчик платежей может еще не закончить работу. Webhook мог прилететь повторно. Воркер может обработать событие с небольшой задержкой. В результате возникает гонка между обновлением подписки и задачей удаления.

В какой-то момент пользователь действительно удовлетворяет условию удаления. Через несколько секунд — уже нет. Если удалить его сразу, восстановление обойдется гораздо дороже, чем сама ошибка. После нескольких таких сценариев я перестал выполнять удаление сразу.

Теперь сначала пользователь получает статус pending_deletion, а отдельная задача спустя заданный интервал еще раз проверяет его состояние. Если за это время подписка продлилась, платеж обработался или статус изменился, удаление просто отменяется. По сути это обычная перепроверка перед необратимой операцией. С тех пор я стараюсь применять этот принцип не только к удалению пользователей. Если действие нельзя легко отменить, одной проверки условия перед выполнением уже недостаточно.

Поделитесь, кто как делает? используете отложенное удаление, soft delete или сразу выполняете операцию, если условие выполнено?

Теги:
Всего голосов 4: ↑2 и ↓2+2
Комментарии3

Случайность в биологии

Представляю статью в виде препринта. Вначале небольшое описание, затем ссылки.

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

В отличие от физики в биологии появляется новое и трудно определимое понятие случайности, не связанное с теорией вероятности. В этой статье представлены три сюжета, связанные с этим обстоятельством. Я начну со взглядов Чарлза Дарвина и Томаса Гексли, которые считали возможным совместить детерминизм с естественным отбором в биологической эволюции. В 19-м веке теория вероятности начала проникновение в физику в молекулярно-кинетической теории. Тем не менее, в целом физики были убеждены в детерминизме законов физики и у биологов не было особого выбора.

Следующие два сюжета раскрывают взгляды на случай как удачу Жака Моно и Стивена Гулда. Вначале рассмотрена борьба Жака Моно с термодинамиками-анимистами Ильей Пригожиным и Манфредом Эйгеном, которые рассматривали случайность как закономер­ность. Затем рассмотрен мысленный эксперимент Стивена Гулда, который должен был показать роль случая как удачи в макроэволюции, и противоположный взгляд сторонника конвергентной эволюции Саймона Морриса. В последнем разделе обсуждается возможное компромиссное решение.

ResearchGate или PREPRINTS.RU

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

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

Команда Cursor представила исходный код проекта minisqlite. Это реализация СУБД SQLite на языке Rust и успешно проходящая официальный набор тестов sqllogictest от проекта SQLite.

Проект minisqlite подготовлен в ходе эксперимента по проверке эффективности работы ИИ‑моделей GPT-5.5, Grok 4.5, Opus 4.8 и Fable 5, по воссозданию SQLite только на основе официального 835-страничного руководства, без доступа к оригинальному коду, интернету, наборам тестов и исполняемому файлу SQLite. Основная идея эксперимента — использование подробной спецификации в качестве промпта для создания сложного продукта.

Представленная реализация minisqlite основывается на результатах, полученных при использовании ИИ‑модели Opus 4.8.

Проект minisqlite включает около 200 тыс, строк кода на Rust, не содержащего unsafe‑блоков в коде библиотеки. Библиотека может открывать файлы, созданные в оригинальном sqlite3, и записывать файлы, которые можно прочитать в sqlite3. Реализация охватывает диалект SQL от SQLite, поддержку транзакций, 90 встроенных функций, планировщик запросов, движок выполнения запросов и движок хранения, совместимый с дисковым форматом SQLite 3. Из внешних зависимостей в minisqlite задействован только пакет elsa, с использованием которого реализован страничный кэш.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии3

Представлен открытый конвертер book‑to‑skill для ИИ‑агентов. Проект анализирует книги и документы в PDF, EPUB, DOCX, Markdown, считывает текст, собирает конспекты глав, словарь, паттерны и шпаргалку, а затем превращает это в skill. Инстурмент экономит токены — получается в 24–51 раз меньше затрат, чем если просто закинуть нейросети целую книгу.

Теги:
Всего голосов 6: ↑5 и ↓1+8
Комментарии0

Эксперт «Диасофт» примет участие в круглом столе IT-World «Почему хорошие системы плохо работают вместе?»

6 августа 2026 года в 16:00 IT-World проведет круглый стол «Почему хорошие системы плохо работают вместе?». В нем примет участие Дмитрий Гаврин, заместитель директора департамента «Цифровые решения» и один из авторов блога компании «Диасофт» (Как 30 лет боли в интеграции привели нас к собственной платформе)

О чем будут говорить спикеры:           

  • Почему интеграции остаются одной из самых болезненных зон корпоративного ИТ-ландшафта?

  • Что чаще ломает взаимодействие систем - слабые API, разные модели данных, отсутствие владельца процесса или спешка внедрения?

  • Как оценивать API-зрелость решения до покупки: документация, версионирование, песочница, ограничения, поддержка изменений?

  • Как меняется ответственность поставщика ИТ-решения, если его продукт становится частью большого корпоративного контура?

  • Что должно происходить с интеграциями при обновлении продукта, смене версии или доработке соседней системы?

  • Почему единые справочники и мастер-данные остаются проблемой даже там, где уже есть MDM, НСИ или корпоративная шина?

  • Где проходит граница между быстрой автоматизацией и архитектурным долгом, который потом мешает масштабировать решение?

  • Какие требования к интеграциям, API, данным и поддержке стоит включать в ТЗ, договор и критерии выбора поставщика?

Приглашаем вас стать слушателями, это бесплатно. Вопрос экспертам можно задать в чате во время мероприятия или заранее при регистрации.

Регистрация по ссылке

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Две недели назад я получил $5 000 кредитов Azure по программе Microsoft for Startups и за четырнадцать дней я сжёг из них $2 100 на одной настройке, которую “забыл” вернуть обратно. В разработке PhotoMentor у меня работают три модели с закреплёнными ролями: GPT как CPO и исполнитель, Kimi K2.7-Code как red team – обе на Azure – и Claude как ревьюер, на моей собственной подписке. Когда я проектировал биллинг для Android, я осознанно выкрутил ризонинг на максимум по всей цепочке. Уверен, что это было правильное решение и с т.з. архитектурной прочности, и собственной психологической уверенности. Биллинг – это деньги, конфликты владения, повторная выдача прав. Тут нужна была щепотка паранойи. Но вот потом я его не вернул. Строго говоря, я не забыл, а попал в ловушку той самой психологической уверенности. Плюс спросил, и модель заверила меня, что такая глубина оправдана. Ну, возможно она в 9 из 10 так и скажет. У модели, оптимизирующей качество вывода, нет строки расходов под мой burn rate и нет представления о том, что подписка ревьюера упирается в лимит через час, и вместо релиза я сижу и жду сброса квоты. Поэтому давай, берсерк, закидывайся стимуляторами и жги. Что максимальный ризонинг купил мне на обычной, обратимой работе: — процедуру maintenance drain на staging-окружении, которым пользуется ровно один человек – я; — retry-механику такой основательности, что в одном тесте кнопку «Повторить» пришлось нажать семь раз, потому что безобидное событие blocked в IndexedDB трактовалось как фатальная ошибка; — итерации усиления runbook, каждая честно лучше предыдущей и ни одна из них не несущая. Правило, которое стоило написать в первый день: Максимальный ризонинг – для необратимого. Production-миграции, удаление данных, подписание релиза, финальный аудит. Всё обратимое – средний уровень и короткий цикл: реализация → тест → проверка. Неограниченные токены не делают мышление бесплатным. Они просто переносят его стоимость туда, куда ты не смотришь: в календарь, в лимиты и в терпение. Девять часов назад я отправил наконец Android-релиз PhotoMentor на проверку в Google Play. Жду.

Mean Machine Angel, Судья Дредд. Оригинальный арт Давида Содерстрема (Disse86), опубликован на его странице DeviantArt.
Mean Machine Angel, Судья Дредд. Оригинальный арт Давида Содерстрема (Disse86), опубликован на его странице DeviantArt.
Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии3

С 29 июля по 5 августа на Бирже Инфостарта появились новые задачи по доработке и интеграции 1С. В подборке — обмены между конфигурациями, настройка УНФ и БП, интеграции с внешними системами и консультации.

Новые заказы

На Бирже размещают задачи разного масштаба: от консультаций и небольших доработок до внедрений и комплексных интеграций. Заказчики могут найти исполнителя, а специалисты — выбрать проект под свою экспертизу и загрузку.

Перейти на Биржу заказов

Теги:
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

Как проверить VDS до покупки: ядра, память, диск?
Слово VDS не закреплено ни за одной технологией. У одного это машина KVM, у другого контейнер, у третьего просто тариф подороже с пометкой dedicated. За одинаковой строкой характеристик стоят разные модели распределения ресурсов, и утренний тест дает результат, который вечером не повторится.

Что стоит выяснить до тестов? KVM запускает гостя с собственным ядром на аппаратной виртуализации, OpenVZ и LXC делят ядро хоста. Распространенное заблуждение: KVM якобы исключает оверкоммит. Не исключает, провайдер назначает машинам больше vCPU и памяти, чем есть на хосте. Отсюда вопросы к тарифу. Закреплены ли vCPU за физическими процессорами. Зарезервирована ли память. Есть ли лимит IOPS и что при его превышении. Слова dedicated, isolated и NVMe без этих ответов не значат ничего.

Ядра. Под dedicated понимают физическое ядро, закрепленное за машиной. Pinning эксклюзивности не дает: на тот же процессор оператор может посадить чужие vCPU. Проверяется это наблюдением.

mpstat -P ALL 1 60

Колонка %steal показывает время, когда система готова работать, а процессор ей не дали. Важна повторяемость: единичный всплеск это шум, рост в одни часы это конкуренция. На контейнерном тарифе лимит виден как троттлинг, steal остается низким.

cat /sys/fs/cgroup/cpu.max /sys/fs/cgroup/cpu.stat
200000 100000
nr_throttled 1843
throttled_usec 21904331

Ненулевой nr_throttled означает, что режет лимит, а не сосед. В виртуальной машине таких значений не будет. Дальше sysbench в один поток и на всех ядрах, одна версия утилиты и один cpu-max-prime на кандидатах.

sysbench cpu --threads=1 --cpu-max-prime=20000 --time=60 run
sysbench cpu --threads=$(nproc) --cpu-max-prime=20000 --time=60 run

Строгого удвоения при удвоении потоков не будет, мешают кеш и шина памяти. Настораживает обратное: многопоточный результат равен однопоточному, а mpstat показывает steal.

Память. Объем в тарифе это то, что видит гостевая система, а не то, что зарезервировано на хосте. При ballooning драйвер отдает страницы гипервизору, и наличие устройства подтверждает механизм, но не политику.

free -m && swapon --show
stress-ng --vm 1 --vm-bytes 70% --vm-keep --timeout 10m --metrics-brief

Тест гоняйте на пустой машине и параллельно смотрите vmstat. Использование swap само по себе ни о чем не говорит, оно зависит от настроек гостя. Тревожат устойчивые si и so при умеренной нагрузке и падение MemAvailable. Если процесс исчез раньше срока, ответ в журнале ядра.

journalctl -k --since "-15 min" | grep -Ei "oom-kill|killed process"

Диск. Лимит в 20000 IOPS без размера блока, соотношения чтения и записи и глубины очереди это просто число. Те же 20000 при iodepth 32 ничего не обещают при iodepth 1, а именно так работает приложение, ждущее ответа на запрос. Файл сначала заполняют целиком, иначе чтение из пустых областей завысит результат.

fio --name=randrw --filename=/var/tmp/fio.test --size=4G \
    --rw=randrw --rwmixread=70 --bs=4k --direct=1 --ioengine=libaio \
    --iodepth=1 --time_based --runtime=120 --refill_buffers=1 \
    --group_reporting --percentile_list=50:95:99:99.9

Затем тот же вызов с iodepth 32 и проверка в разделе IO depths, достигнута ли глубина. Сохраняйте IOPS и процентили clat, а не среднее. Один прогон шумного соседа не покажет, нужны три в разные часы. Растущий p99 при стабильной медиане это и есть нестабильность.

Как сравнивать? Не складывайте IOPS, миллисекунды и баллы в один рейтинг. Сначала отсеките тарифы, не проходящие пороги приложения, потом расставьте веса: базе важнее p99 диска, агенту сборки процессор, медиасервису исходящая полоса. Для каждого прогона сохраняйте дату, локацию, образ, версии утилит и команду.

Универсального первого места нет. Есть тариф, проходящий ваши пороги трижды подряд в разное время суток.

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

Почему «прошли обучение по ИИ» и «трансформировались» — это разные вещи

За последний год почти каждая компания среднего и крупного размера так или иначе прошла через «программу по ИИ»: закупили лицензии на Copilot/GigaChat/что-то ещё, провели серию тренингов, отчитались перед руководством цифрой охвата — «80% сотрудников обучены».

И почти в каждой такой компании через полгода-год возникает один и тот же вопрос от руководства: «А почему мы не видим эффекта на процессы?»

Вы задумывались о том, какие причины могут способствовать тому, чтобы так происходило? Коротко о причинах:

Проблема прокси-метрик:

1. Когда руководство оценивает прогресс ИИ-трансформации, оно почти всегда смотрит на прокси-показатели:

- куплены ли лицензии на инструменты;

- проведён ли тренинг;

- какой процент сотрудников этот тренинг прошёл.

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

2.      HR и T&D-функции попадают в ту же ловушку с другой стороны: они отчитываются охватом обучения и NPS тренинга. Обе метрики хорошо описывают процесс обучения, но не описывают его результат.

Аналогия, которая обычно заходит: это как измерять уровень фитнеса по количеству купленных абонементов в спортзал.

Чтобы измерять не процесс, а результат, нужна шкала, построенная на поведенческих индикаторах, а не на самооценке сотрудника («оцените по шкале от 1 до 5, насколько уверенно вы используете ИИ» — это почти всегда бесполезный вопрос, люди систематически завышают самооценку в подобных опросах).

Это не оценочная шкала «плохой/хороший сотрудник», а диагностический инструмент: точка, откуда стоит начинать конкретную работу с конкретным человеком или отделом.

Так почему один тренинг не двигает всех одинаково? Как определить уровень ИИ-зрелости компании? По какой метрике и как оценивать?

На эти и другие вопросы команда «Авандок» ГК «КОРУС Консалтинг» ответит на открытом вебинаре «Пять уровней ИИ-зрелости сотрудников: диагностика, типовые барьеры, роли в ИИ-трансформации» 11 августа в 14:00 (Мск)

Регистрируйтесь на вебинар и сможете получить ответы на все эти вопросы, а также задать свои

Теги:
Всего голосов 2: ↑0 и ↓2-2
Комментарии0