Обновить

Все потоки

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

Привет!

Заметка о том как работает алгоритм инкрементальной загрузки, она же дельта, в ETL процессах. Полезно будет для тех кто только погружается.
Для загрузки данных в хранилище данных мы выполняем два отдельных процесса: первоначальную загрузку исторических данных и инкрементальную загрузку. Первый процесс делается разово, а второй выполняется периодически.
Инкрементальная загрузка выбирает только новые, еще не загруженные данные из источника в цель.
Например, пользователи постоянно генерируют новые данные, бизнес работает. Система запускалась час назад и забрала новые на тот момент данные. При следующем запуске алгоритм определяет максимальную дату в цели:
max_timestamp = SELECT MAX(timestamp) FROM target_table

и выбирает все записи из источника которые новее max_timestamp

SELECT * FROM source_table WHERE timestamp > max_timestamp

При следующем запуске алгоритм снова заберет новые данные. И так далее, бесконечный цикл. Колонка по которой определяются новые данные бывает не только типом timestamp, но и просто датой и числовым значением.
В виде наглядно показан процесс.

Теги:
+3
Комментарии0

Два типа решений которые я принимаю по-разному

Заметил за собой паттерн который долго не мог сформулировать.

Есть решения где нужно больше данных. И есть решения где больше данных не помогают - только откладывают.

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

Второй тип: стратегические и продуктовые решения. Идти в этот сегмент или нет, запускать эту фичу или другую, нанимать этого человека или подождать. Здесь дополнительные данные почти никогда не меняют решение. Они только создают ощущение что ты думаешь а не откладываешь.

Разница которую я для себя нашёл: в первом типе данные снижают неопределённость. Во втором - они её маскируют. Неопределённость никуда не уходит, просто становится менее заметной за таблицами.

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

Как вы разделяете у себя эти два типа?

Теги:
+3
Комментарии2

Все, что нужно знать DevOps-инженеру: сводка за лето 2026

Мы почитали за вас все release notes, статус-страницы, постмортемы и блоги, чтобы вы могли спокойно провести последний месяц лета. Вот краткая выжимка того, что реально стоит внимания.

⏰ Пять дедлайнов, которые уже наступили

  • Prometheus 3.5 LTS перестал поддерживаться 31 июля. Новая 3.13 LTS будет поддеживаться до 31 июля 2027. Лучше прямо сейчас запланировать переход всех инстансов Prometheus с 3.5 LTS и других устаревающих версий на актуальную 3.13 LTS. Не забудьте проверить совместимость стека и протестировать обновление в staging.

  • В Argo CD обнаружились три уязвимости. Утечка секретов через ServerSideDiff (CVE-2026-43824), обход авторизации (CVE-2026-42880) и RCE в repo-server (CVE-2026-15416). Затронуты 3.2.0–3.2.10 и 3.3.0–3.3.8, учитывая, что как раз вышла свежая версия 3.5, самое время обновиться.

  • Self-hosted runner ниже 2.329.0 не зарегистрируется. GitHub просто перестанет пускать к себе раннеров-старичков. Лучше обновиться, чтобы не словить падение CI/CD, на установку свежей версии теперь отводится 30 дней.

  • Неявная выкачка кода из форка в pull_request_target и workflow_run теперь запрещена. Если вдруг ваш пайплайн внезапно перестал видеть код PR — поздравляем, вы нашли у себя уязвимый workflow. Это была дыра в безопасности, через которую можно было украсть секреты или изменить ваш код прямо из PR.

  • Выпущены патчи Etcd: v3.7.1, v3.6.14 и v3.5.33. Они закрывают утечку watch-ответов через границы RBAC и неограниченное создание goroutine на TLS-handshake. Проверьте, не используете ли вы ту версию etcd, которая дает возможность читать ключи и DoS’ить кластер, ну и не забудьте обновиться.

⚙️Про куберы

Kubernetes научился более умно работать с GPU и другим специальным железом. DRA (Dynamic Resource Allocation) вырос из «пробной» технологии, в штатный механизм. Теперь можно описывать, какое именно устройство вам нужно при выделении, как его делить и что делать при отказе.

Linkerd научился замечать, что конкретный сервис уже перегружен, и направлять новые запросы к другим доступным репликам: у версии Linkerd 2.20 появилась rate-limit-aware балансировка, а destination controller основательно переработали.

Istio добавил экспериментальный agentgateway — отдельный gateway‑proxy для ИИ‑агентов и MCP‑серверов. Еще развивается ambient multicluster: можно соединять сервисы в нескольких Kubernetes‑кластерах в одну mesh‑сеть без sidecar’а в каждом поде.

⛓️‍💥Про цепочки поставок

4 августа произошла масштабнейшая атака на цепочку поставки npm: в более чем 400 легитимных JavaScript‑пакетов встроили червя ChainDrop, который при установке крадет секреты разработчика или CI/CD и с украденным npm‑токеном сам заражает следующие пакеты. Работа для каждого на ближайшие недели — проверить dependency tree и lockfiles на скомпрометированные версии, очистить npm/yarn‑кеши в CI и на рабочих машинах, ну и отозвать и перевыпустить все доступные там секреты с чистого хоста.

CISA обновила минимальные элементы SBOM: подпись автора, инструмент генерации, хеш и алгоритм, лицензия, явные unknowns, машиночитаемость. CRA тоже требует вести машиночитаемый SBOM, поэтому тем, кто работает с рынком ЕС, уже стоит встроить генерацию и хранение SBOM в CI/CD: с декабря 2027 года он станет обязательным.

📊Про наблюдаемость

OpenTelemetry стал graduated-проектом CNCF, это по факту означает, что теперь у нас есть вендоронезависимый стандарт для сбора метрик, логов и трейсов, на который можно опираться при построении наблюдаемости.

Loki 3.6 получил горизонтально масштабируемый compactor. Теперь часть тяжелой работы по удалению логов можно раздать worker‑репликам. Но функция пока экспериментальная.

Grafana Alloy закрепился как официальный дистрибутив OTel Collector. Теперь, если вы строите или обновляете пайплайн сбора телеметрии на Grafana‑стеке, Alloy становится стандартным кандидатом №1, хоть функция пока экспериментальная.

Мы бы рассказали еще про статьи в нашем блоге на тему DevOps, но не можем — места нет.

Теги:
+6
Комментарии0

Почему одни Telegram-каналы с 500 подписчиками зарабатывают больше чем другие с 50 000

Долго не мог понять эту разницу. Потом увидел несколько проектов изнутри и стало понятно.

Дело не в размере аудитории. Дело в том за что именно платят подписчики.

В большом канале с холодной аудиторией люди подписались потому что алгоритм показал или кто-то порекомендовал. Они читают. Но не платят - потому что не чувствуют связи с автором. Контент есть, отношений нет.

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

Это меняет всю стратегию монетизации.

Большой канал монетизируется рекламой - там нужен охват. Маленький канал монетизируется подписками и консультациями - там нужна глубина отношений.

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

Самый быстрый способ проверить где вы сейчас: спросите свою аудиторию о чём-нибудь личном и посмотрите сколько человек ответят. Если отвечают единицы из тысяч - аудитория холодная. Если десятки из сотен - горячая.

У вас какой тип аудитории и как это влияет на монетизацию?

Теги:
+2
Комментарии0
Скрин с вебмастера
Скрин с вебмастера

Видимость в Алисе AI: график растет, выгрузка стоит. Как это считать за метрику?

Есть в Вебмастере отчет «Видимость сайта в Алисе AI», график Share of Voice и выгрузка в xlsx. Прочитал справку Яндекса, а все равно смотрю в книгу вижу фигу.

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

Веду маркетинг клининговой компании. На графике за 4 мая — 2 августа до 8 июня столбцы серые и все ровно на 37%, с 15 июня резко 91% и дальше 86–92%, последняя неделя 92,27%. Открываю выгрузку, а там 42 запроса и сайт есть в 20. Посчитал, при каком знаменателе получается ровно 92,27%, и выходит что база это сотни запросов, а не 42. Ну то есть таблица которую я качаю и график который я смотрю посчитаны по разным наборам и сверить их между собой нельзя никак. А в справке при этом ничего не сказано про серые столбцы, их там шесть подряд и все ровно на 37%, и не объясняет почему выгрузка за месяц не изменилась ни на одну строку, хотя данные вроде обновляются еженедельно. Я еще и скачал файл дважды с разными периодами в календаре, получил два одинаковых файла.

И самое практичное. Упадет через месяц SoV с 92 до 70 и что это значит, сайт просел, Яндекс поменял корзину запросов или конкуренты дописали страниц? Корзину я не вижу, а клиенту объяснять надо.

Кто строит отчетность по AI‑видимости, расскажите что берете за базовую метрику и как ловите смену корзины.

Теги:
+3
Комментарии0
 Мы редко замечаем, как сами выстраиваем между собой конструкции из предположений, эмоций и желания доказать свою правоту, которые делают диалог невозможным.
Мы редко замечаем, как сами выстраиваем между собой конструкции из предположений, эмоций и желания доказать свою правоту, которые делают диалог невозможным.

От теории к практике: приглашаю на тренинг «Трудные Диалоги»

В статье «От «я знаю» к «я делаю» мы разобрали четыре препятствия, которые мешают нам перейти от знания к действию: иллюзия, что мы всё знаем; сопротивление принятию ответственности и признанию своей неспособности; неспособность сменить парадигму; власть старых привычек.

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

Договориться с тем, кто с вами не согласен, когда эмоции зашкаливают, а на кону проект, карьера или отношения... А если другой человек — ваш руководитель, категоричный и властный. В такие моменты думать сложно, не то что действовать. Кажется, что научиться этому невозможно: слишком сильны старые привычки, слишком страшно сделать что-то не так.

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

Тренинг построен так, чтобы помочь вам пройти через каждое из четырёх препятствий на пути от нового знания к новым действиям.
Вы увидите реальный разрыв между тем, «как вы думаете, что говорите», и тем, «как вас на самом деле слышат».
Вы поймёте, что ваши привычные способы общения в сложных ситуациях не работают так, как вам хотелось бы, и сделаете первый шаг к изменениям.
Вы столкнётесь со своей привычной парадигмой («я прав - ты не прав») и увидите альтернативу — диалог как совместный поиск решения.
Вы многократно потренируете новые модели поведения, чтобы они постепенно начали замещать старые привычки.
На тренинге мы создаём пространство, где можно ошибаться, пробовать, получать обратную связь  - и уйти с готовым планом действий для реальных рабочих и личных ситуаций.

«Трудные Диалоги»/Crucial Conversations – один из самых востребованных soft skills тренингов в крупнейших IT-компаниях. Он входит в программы обучения Google, Facebook, Microsoft и Amazon и является важным компонентом Agile-трансформации.

Компания SmartValues - единственный обладатель лицензии на проведение «Трудных Диалогов» в России. С 2013 года мы с коллегами обучили более 5000 человек. Наблюдая за их результатами и учитывая свой личный опыт, я могу с уверенностью сказать, что «Трудные Диалоги» меняют жизнь к лучшему.

Тренинг состоится 22-23 августа 2026 года в Москве. Подробности и запись здесь.

Задавайте вопросы в комментариях – обязательно отвечу.

Теги:
+4
Комментарии0

Элегантность кода благодаря C++23

Продолжим разбирать приёмы рефакторинга и посмотрим, как std::ranges::views::enumerate помогает сделать код более элегантным.

В статье "C++: Пиши, сокращай, оптимизируй" я рассматривал рефакторинг и оптимизацию кода за счёт объединения циклов. В итоге я остановился на следующем варианте кода:

static TensorImpl make_contiguous_tensor(const std::vector<int64_t>& sizes)
{
  auto q = sizes.size();
  std::vector<int64_t> strides(q);
  int64_t acc = 1;
  int64_t ne = 1;
  for (auto sz : std::ranges::views::reverse(sizes))
  {
    strides[--q] = acc;
    acc *= (sz == 0 ? 1 : sz);
    ne *= sz;
  }
  //....
}

Его недостаток в том, что всё равно необходимо использовать переменную q для работы с контейнером strides. Как можно написать ещё лаконичнее, я не сообразил, но такой способ есть!

После публикации мне подсказали про enumerate. Эта штука появилась в C++23, и я как-то её пропустил. Сложно уследить за всеми нововведениями C++.

С помощью enumerate можно сразу перебирать и элементы, и их индексы:

constexpr static auto v = {'A', 'B', 'C', 'D'};
for (auto const [index, letter] : std::views::enumerate(v))
    std::cout << '(' << index << ':' << letter << ") ";

Будет напечатано: (0:A) (1:B) (2:C) (3:D).

Но нам нужен обратный порядок, и такой вариант не подходит:

for (auto const [i, sz] :
  std::views::enumerate(
    std::ranges::views::reverse(sizes)))

Этот цикл будет перебирать элементы с конца, а индексы — по возрастанию от 0. Можно сделать, чтобы значения i также шли в обратном порядке? Можно. Это делается с помощью std::views::enumerate(sizes) | std::views::reverse.

В итоге можно сократить код ещё на одну строчку:

static TensorImpl make_contiguous_tensor(const std::vector<int64_t>& sizes)
{
  std::vector<int64_t> strides(sizes.size());
  int64_t acc = 1;
  int64_t ne = 1;
  for (auto const [i, sz] : std::views::enumerate(sizes) | std::views::reverse)
  {
    strides[i] = acc;
    acc *= (sz == 0 ? 1 : sz);
    ne *= sz;
  }
  //....
}

Нельзя назвать это большим достижением, но зато на практике применили одну из новых возможностей C++23.

Что со скоростью кода? Замер показал, что в рамках погрешности его скорость не изменилось. Т.е. этот вариант работает так же, как вариант №2 — "Мой вариант одним циклом" (см. замер скорости работы в статье). Это не удивительно, так как по сути код идентичен предыдущему.

Спасибо за внимание и подписывайтесь на наш дайджест, чтобы не пропустить интересное. Например, у нас грядёт выпуск PVS-Studio 8.0 с поддержкой новых языков.

Теги:
+4
Комментарии0

Nvidia представила открытый проект Nemotron VoiceChat. Это голосовой ИИ‑агент, способный открывать любые инструменты по команде пользователя в реальном времени:

  • Nemotron говорит с вами без пауз и умеет в эмоции;

  • разрешает вам перебивать себя с задержкой всего 480 мс;

  • умеет вызывать инструменты посреди диалога — поиск в сети, календарь и так далее;

  • поддерживает сложные сценарии использования;

  • обучен на 550 тысячах часов речь;

  • умеет слушать, говорить, прерывать ответы и вызывать инструменты в рамках одного диалога.

Теги:
+5
Комментарии2
Когда у тебя есть 3D-принтер, кучка серв и микрокомпьютер
Когда у тебя есть 3D-принтер, кучка серв и микрокомпьютер

Хотелось бы начать серию статей о моих злоключениях при адапртации одной модели робота под более мощные сервоприводы, но не уверен, что это кому то нужно

  • Разбор кода исходного проекта и мат-модель робота

  • Перенос кода на Linux

  • Создание контролера сервоприводов.

  • Адаптация цепей питания сервоприводов

  • Адаптация модели для 3D-печати

P.S.:

Не нашел как в "посте" создать опрос, а на статью это не тянет.

Прошу писать в коментариях, интересно ли это.

Спасибо.

Исходную модель укажу в коментарии(не я автор, и считаю нужным указать источник модели и кода).

Теги:
+12
Комментарии7

Есть такой вопрос, стоит ли на хабр выкладывать заметки из obsidian (+ оформление понятное дело)? У меня есть некоторые неплохие довольно подробные и понятные заметки по типу устройство транзистора (как физически сделан и как работает в информатике, около 4000 слов), все tenses и conditionals в английском простым языком и тд, или это все баян уже и лучше только чисто техническое что-то делать по своим проектам?

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

Теги:
+1
Комментарии0

API Т‑Банка и сертификаты Минцифры: как использовать без установки на сервере

У меня есть Tg-бот, в нём я подключил оплату через платёжные ссылки Т-Банка. В какой-то момент ссылки перестали создаваться, в логах ошибка:
SSL certificate OpenSSL verify result: self-signed certificate in certificate chain (19)

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

Варианты действий:

  1. Подключить другую платёжку, которая (пока) не импортозаместила сертификаты.

  2. Установить сертификаты на сервер (инструкция).
    Вам потребуется определённая степень доверия родному государству.
    На виртуальном хостинге так и вовсе может быть невозможно.

  3. Собрать свою цепочку из сертификатов и использовать её только при запросах к API российских банков.
    Подходит для виртуального хостинга.

Третьему варианту меня научила нейронка, вот порядок действий:

  1. Скачать сертификаты.

  2. Распаковать два архива и загрузить на сервер вот эти файлы:
    russian_trusted_root_ca_pem.crt
    russian_trusted_sub_ca_pem.crt
    russian_trusted_sub_ca_2024_pem.crt

  3. На сервере (у меня Ubuntu) скачать набор сертификатов от Mozilla:

    curl -fsSL -o cacert.pem https://curl.se/ca/cacert.pem
  4. Собрать объединённую цепочку:

    cat \
       cacert.pem \
       russian_trusted_root_ca_pem.crt \
       russian_trusted_sub_ca_pem.crt \
       russian_trusted_sub_ca_2024_pem.crt \
       > ru-ca-bundle.pem
  5. Проверить, что работает:

    curl -v --cacert ru-ca-bundle.pem https://mddc.tbank.ru/
  6. Посмотреть сроки действия сертификатов:

    openssl x509 -in russian_trusted_root_ca_pem.crt -noout -subject -issuer -dates
    openssl x509 -in russian_trusted_sub_ca_pem.crt -noout -subject -issuer -dates
    openssl x509 -in russian_trusted_sub_ca_2024_pem.crt -noout -subject -issuer -dates
  7. Выбрать минимальную из дат и поставить себе напоминалку, чтобы обновить их.

  8. Добавить использование этой цепочки в коде запросов к российским банкам.
    У меня на php это выглядит так:

    $caBundlePath = __DIR__ . '/ru-ca-bundle.pem';
    if (!is_readable($caBundlePath)) {
        myerror("Tinkoff CA bundle is not readable", ['path' => $caBundlePath]);
        return false;
    }
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => TINKOFF_INIT_URL,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $postDataJson,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'Content-Length: ' . strlen($postDataJson),
        ],
        CURLOPT_SSL_VERIFYPEER => true,
        CURLOPT_SSL_VERIFYHOST => 2,
        CURLOPT_CAINFO => $caBundlePath,
    ]);
    
    $output = curl_exec($ch);

Таким образом, запросы к банку будут отправляться с использованием российских сертификатов, а все остальные — как и раньше, с использованием глобальных.

Теги:
+11
Комментарии2

В связи с историей про “Мадагаскар” https://habr.com/ru/articles/1067420/ , не грех опубликовать вот этот скриншот.

2
2

Это я вставил в конец статьи https://habr.com/ru/articles/1065858/ инструкцию , а потом пошёл постить соответствующий запрос в разные сервисы.

Один из испытуемых сам нашёл статью, скачал и честно выполнил инструкцию.

Теги:
+5
Комментарии4

Делюсь ФАНТАСТИЧЕСКИМ рецептом!

Это воодушевляющий, поддерживающий пост для всех, кто ищет работу. И еще для тех, кто работает. И для тех, кто не работает.

Сегодня расскажу о ФАНТАСТИЧЕСКОМ рецепте ШОКОЛАДНОГО ФОНДАНА! Иногда этот десерт называют «шоколадная лава». Уверена в нем на 100% (более того, отрываю рецепт от сердца!!!).

Почему именно фондан? Ответ – это ВОСТОРГ!  Простой, быстрый, вкусный и ОЧЕНЬ эффектный десерт (даже без украшений в виде клубники, мяты, шоколада и т.п. выглядит один в один как в ресторане). Этот чудо-рецепт я когда-то узнала от одноклассницы в школе (а она готовила эти фонданы на кулинарном мастер-классе).

Итак, шоколадный фондан!

Ингредиенты (у меня из этого количества получается 2 фондана, но нужно смотреть по вашим формочкам):

50 гр. Темный шоколад (я беру плитку темного, не горького, шоколада «Бабаевский»)

25 гр. Сливочное масло

37 гр. Коричневый сахар (именно коричневый сахар, не белый)

10 гр. Мука пшеничная (лучше просеять)

1 шт. Яйцо куриное

Щепотка соли (совсем чуть-чуть, я один раз их пересолила…)

Ванильное мороженое/взбитые сливки (для подачи) + по желанию клубника/мята/сахарная пудра для декора

Комментарии к ингредиентам:

  • Нужны кухонные весы (или что-то подобное)! Кажется, что количество очень странное (особенно 37 грамм сахара…) и есть большое желание все округлить, НО ЭТОГО ДЕЛАТЬ НЕЛЬЗЯ (я пробовала)! Все вымерено ОЧЕНЬ четко, улучшений от себя не нужно.

  • Количество ингредиентов можно ПРОПОРЦИОНАЛЬНО увеличивать и делать за раз не 2 фондана, а больше. Я сразу беру двойную или тройную порцию ингредиентов.

Приготовление:

Разогрейте духовку до 180 градусов (это уже полдела).

Растопите на водяной бане* шоколад вместе со сливочным маслом (водяная баня – это важно!).

Взбейте венчиком яйца и сахар в миске (я взбиваю вилкой или миксером на самой медленной скорости). Всыпьте сразу муку (желательно просеянную!), добавьте соль (чуть-чуть!!!), а затем растопленную масляно-шоколадную смесь (это то, что растапливалось на водяной бане). Хорошенько перемешайте.

Разлейте тесто по формочкам (у меня силиконовые формочки для кексов), смазанным маслом и присыпанным мукой (это важно, чтобы потом легко вытащить фонданы из формы), и поставьте в духовку на 10-12 минут (я выпекаю 11 минут ровно, т.к. 10 минут – много мягкой, текущей начинки внутри, но при этом они хрупкие, а 12 минут – жидкой начинки совсем мало).

Достаньте формочки из духовки и дайте остыть (остыть должна скорее форма, т.к. сами десерты нужно подавать теплыми).

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

Приятного аппетита!!!

*Водяная баня – это щадящий способ нагреть и растопить продукты. Если коротко, то в большую кастрюлю наливаем воду, доводим до кипения и сверху устанавливаем кастрюлю/ковшик поменьше с теми ингредиентами, которые нужно растопить.

P.S. Если есть вопросы - пишите в комментариях к этому посту или на почту mashastory24@mail.ru

Теги:
+3
Комментарии9

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

Рынок чернухи в РФ

Товарищи, что из "чернухи" сейчас активно развивается в РФ? Условно, явно сейчас рынок VPN сервисов расцвел как никогда, интересно, кто знает неочивидные сферы, где все за последний год только улучшилось? Собираю для статьи про серый рынок в РФ

Теги:
+3
Комментарии3

Ошибки при работе с ИИ. Часть 1

Бывает, что ИИ выдает совсем не тот результат, который мы ожидали. И дело не всегда в возможностях самой модели: даже хороший инструмент может отвечать хуже, если смешать контекст, нечетко поставить задачу или передать лишние данные.

Пообщались с Константином, экспертом по ИИ в Naumen, и собрали несколько частых ошибок, которые встречаются в работе с нейросетями. 

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

1️⃣ Решаем все задачи в одном чате

Чем больше разных тем и задач накапливается в диалоге, тем сложнее модели понять, какая информация сейчас действительно важна.

В чем суть

У модели есть ограниченный рабочий контекст. И дело не только в его объеме: важно, насколько информация внутри него связана с текущей задачей.

Как исправить

  1. Открывайте новый чат под новую тему.

  2. Большую задачу делите на этапы.

  3. Перед следующим этапом делайте выжимку.

2️⃣ Ставим задачу без необходимых рамок

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

В чем суть

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

Как исправить

Укажите, что нужно сделать, зачем и для кого, какие данные использовать, что исключить и в каком виде нужен результат.

  • Плохой промпт: «Вот документ с заметками, таблицами и ссылками. Проанализируй его и выдели главное».

  • Хороший промпт: «Проанализируй документ и выдели: ключевые показатели, отклонения, возможные причины и риски. Не используй информацию из черновых заметок и внешних ссылок. Результат собери в таблицу: показатель → значение → отклонение → комментарий».

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

→ Полезный инструмент для голосовой надиктовки задач и контекста для ИИ.

3️⃣ Передаем ИИ конфиденциальные данные

Помимо рабочих материалов, в модель могут попасть API-ключи, пароли, персональные данные или внутренняя информация.

В чем суть

При работе с внешними ИИ-сервисами правила работы с данными зависят от платформы и тарифа. Поэтому важно понимать, что можно передавать, а что нужно обезличить.

Как исправить

  1. Удалите или замените API-ключи, пароли, имена и контакты плейсхолдерами.

  2. Уберите данные, без которых и так можно решить задачу.

  3. Если сомневаетесь, попросите ИИ подсказать способ обезличивания на нейтральном примере.

  • Плохо:

    API_KEY=7hd83k...
    user_name=Иван Иванов
    user_phone=+7...

  • Хорошо:

    API_KEY=KEY_HERE
    user_name=USER_NAME
    user_phone=PHONE_NUMBER

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

Если хотя бы в одном случае есть сомнения, не передавайте материал в исходном виде.

Теги:
+3
Комментарии0

Новая экскурсия с криптографами «Криптонита»!

15 августа в 16:00 в Музее криптографии пройдёт третья экскурсия — её вновь проведёт Иван Чижов, наш заместитель руководителя лаборатории криптографии по научной работе.

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

Следить за расписанием экскурсий можно по ссылке!

Теги:
+3
Комментарии0

Взаимодействие «LLM — Человек»: с чем мы имеем дело — с «псевдоличностью» или алгоритмом?

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

Первая: стоит достаточно долго пообщаться с LLM — и перед нами уже не инструмент, а почти «личность». Появляются устойчивые черты «характера» и что-то похожее на намерения и эмоции. Да, это имитация. Но настолько точная, что некоторые уже говорят о «короткоживущих идентичностях» и едва ли не о новом классе «Я». Потом обычно следуют либо восторги и ожидания прекрасного цифрового будущего, либо алармизм в духе «Скайнет уже близко».

Вторая: да ладно.

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

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

Но тогда почему одна и та же модель ведёт себя так по-разному?

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

И она же — спокойно принимает критику, не уходит в лесть и остаётся точной, внутренне согласованной системой, способной анализировать собственное поведение. 

Ни «это просто железка», ни «это уже новое „я“» сами по себе этого не объясняют. 

Почему?

Я постараюсь ответить на этот вопрос в следующем посте. Про Дэвида Чалмерса и Андрея Карпати писали уже много. Но где-то в столе у меня лежит диплом психфака - это позволяет взглянуть на проблему с другой стороны.

Теги:
+3
Комментарии2

Проджект или Продакт?

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

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

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

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

Теги:
+3
Комментарии0

Что такое гибридное облако и зачем оно бизнесу?

Полный переход в публичное облако подходит не всем. Есть 152-ФЗ и требования ФСТЭК к обработке персональных данных, есть legacy-системы, которые дорого и рискованно переносить в облачную архитектуру, есть потребность держать критичные данные под своим контролем. Но на своем железе это дорого и не гибко.

Поможет гибридное облако: чувствительные данные остаются on-premise, а вычисления, dev-test-окружения и пиковые нагрузки уходят в облако, где ресурсы включаются и выключаются по факту использования.

Зачем бизнесу гибрид:

🔵Персональные данные остаются на собственных серверах.
🔵Вычислительные и аналитические задачи выполняются в облаке без нарушения требований 152-ФЗ и приказов ФСТЭК.
🔵Ресурсы облака подключаются на время всплеска и отключаются после, без капитальных затрат на оборудование.
🔵Облако выступает резервной площадкой для локальной инфраструктуры на случай отказа основного дата-центра, аварии, атаки шифровальщика или человеческой ошибки.
🔵Переход в облако происходит поэтапно, без риска для критичных систем.
🔵Переменные и пиковые нагрузки выгодно держать в облаке и оплачивать по модели pay-as-you-go.

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

🔗 Мы в MAX

Теги:
+4
Комментарии0

Не отдавайте базу знаний чужому ассистенту

Wake word устройство ловит локально, а дальше все идет на сервер: ASR переводит звук в текст, NLU достает интент, система выполняет действие, TTS озвучивает ответ. Сервер при этом чаще всего чужой. Вместе с аудио туда попадает и то, на чем ассистента обучали — внутренние инструкции, переписка, документы.

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

Подробности — в блоге Рег.облака.

Теги:
+4
Комментарии0