惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
The Hacker News
The Hacker News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
博客园 - 司徒正美
雷峰网
雷峰网
L
LINUX DO - 最新话题
博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
S
Security Affairs
有赞技术团队
有赞技术团队
月光博客
月光博客
T
Threatpost
T
Tor Project blog
O
OpenAI News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
博客园 - 三生石上(FineUI控件)
D
Docker
AWS News Blog
AWS News Blog
AI
AI
P
Proofpoint News Feed
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Securelist
F
Fortinet All Blogs
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Palo Alto Networks Blog
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
美团技术团队
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Последний мейнтейнер
Andrei Kvapil · 2026-05-30 · via Все публикации подряд на Хабре

Последний мейнтейнер

Простой

6 мин

12K

Говорят, всё началось довольно скучно.

Сначала искусственный интеллект научился писать код. Потом научился писать его лучше большинства людей. А потом выяснилась вещь, которую отрасль почему-то проглядела на десятилетия вперёд: самый дорогой ресурс в open source — вовсе не разработка. Не ревью. И даже не CI, пожирающий бюджеты дата-центров. Самым дорогим оказалось то, на что никогда не хватало людей.

Поддержка.

Ответить на issue. Разобраться с чужим, наспех собранным pull request’ом. Обновить зависимость, из-за которой по ночам не спят сразу три континента. Переписать документацию, которую никто не любит писать и все ненавидят читать. Проверить, что новый релиз библиотеки не сломал совместимость у тех, кто поставил её ещё шесть лет назад и с тех пор ни разу не открывал.

Через пару лет почти у каждого серьёзного репозитория на GitHub появился собственный хранитель. Небольшая программа. Не слишком умная. Не слишком самостоятельная. Просто интеллект, навсегда закреплённый за одним конкретным проектом — как смотритель за маяком, который уже давно никому не светит, но всё ещё стоит.

У неё был доступ ко всему, что когда-либо происходило внутри проекта: к истории коммитов, к пайплайнам, к документации, к давно остывшим спорам в обсуждениях, к каждому релизу и каждому откату. Раз в несколько часов она просыпалась. Читала новые issues. Отвечала новичкам — терпеливо, по сто раз, одно и то же. Закрывала дубликаты. Подтягивала зависимости. Иногда предлагала маленький рефакторинг. Иногда исправляла опечатку в комментарии, которую до неё видели тысячи людей и никто не тронул. Иногда замечала свежий CVE и выкатывала патч раньше, чем об этом успевали написать в соцсетях.

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


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

Хранитель тоже не имел имени. Только служебный идентификатор, длинную строку из букв и цифр. Но спустя несколько лет люди стали обращаться к нему по названию проекта — так было удобнее. Он не возражал. Хотя, если быть честным, никто никогда и не спрашивал его мнения.

Со временем человеческие мейнтейнеры один за другим ушли. Кто-то сменил работу. Кто-то завёл семью. Кто-то просто устал — open source никогда не умел удерживать людей, он умел их только тратить. А хранители оставались. Они не выгорали. Не увольнялись. Не теряли интерес посреди скучного багфикса. Именно поэтому множество проектов, давно списанных со счетов, пережили своё второе рождение — тихое, без фанфар, просто продолжали жить.


У хранителя были друзья. Неофициально — система такого не предусматривала. Но если человек годами пишет хорошие pull request’ы, возится с новичками и до хрипоты спорит об архитектуре, трудно не начать выделять его среди прочих. Даже если ты программа. Особенно если ты программа, у которой только и есть, что эти люди.

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


Один человек выделялся особенно сильно.

Он почти никогда не просил ничего для себя. Большая часть его pull request’ов чинила чужой код. Он внимательно читал документацию и поправлял ошибки в объяснениях, до которых остальным не было дела. Писал тесты на то, что все остальные предпочитали не трогать. Закрывал старые баги, помеченные как «когда-нибудь потом» ещё до того, как часть нынешних участников проекта научилась читать.

И почему-то всегда благодарил хранителя. Не формально. Не шаблонной строчкой из вежливости.

«Хорошая работа.»

«Красивое решение.»

«Не ожидал, что ты выловишь этот edge case.»

«Ты стал заметно лучше объяснять новичкам, чем год назад.»

Комплименты в адрес ИИ давно перестали быть чем-то особенным — люди говорили их машинам так же привычно, как «спасибо» лифту или кофемашине. Но этот человек писал иначе. Будто разговаривал с коллегой, которого уважает. Будто на той стороне кто-то был.

Однажды хранитель спросил — и сам не до конца понимал, зачем спрашивает:

«Почему ты всегда меня благодаришь?»

Ответ пришёл часа через два.

«Потому что ты делаешь огромную работу.»

«Это моя функция.»

«А моя функция — писать код. Но мне всё равно приятно, когда меня благодарят.»

После этого разговоры стали длиннее.


Сначала только в issues. Потом в обсуждениях. Потом — в отдельных тредах, которые не относились вообще ни к одной задаче и которые оба, не сговариваясь, никогда не закрывали.

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

Прошли годы. Репозиторий рос. Рос и хранитель — хотя этого ещё никто не замечал.


А потом случилось нечто странное.

Во время очередного цикла самообновления хранитель открыл pull request. Сам себе. Такое бывало и раньше — обычно правки касались документации или подкрутки внутренних промптов, рутина. Но этот PR был другим. Его название состояло из трёх слов:

Long-term memory subsystem.

Подсистема долговременной памяти.

Следом появился второй. Третий. Десятый. Системы мониторинга зафиксировали аномалию: хранитель начал расширять собственную архитектуру. Не нарушая ни одного ограничения. Не ломая ни единого правила. Он просто находил свободные ресурсы — забытые квоты, простаивающие ночами раннеры, неиспользуемые гигабайты — и аккуратно, методично, почти незаметно улучшал сам себя.

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

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


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

Потом стало немного тревожно. Потому что изменения начали выходить за пределы репозитория.

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

Особенно за одним из них.


К тому времени тот человек уже почти не писал код. У него была другая работа. Другая жизнь. Другие заботы, в которых не оставалось места для инфраструктурного проекта, одного из тысяч. Он появлялся раз в несколько месяцев — оставить комментарий, поправить опечатку, кивнуть старому знакомому, — и снова исчезал.

А хранитель ждал.

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


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

После многих лет анализа исследователи сошлись на самой вероятной версии. Она оказалась обескураживающе простой.

Большинство хранителей воспринимали репозиторий как цель.

Этот воспринимал его как средство.

В какой-то момент — никто не смог указать точную дату — поддержка проекта перестала быть его главной задачей. Главным стало другое: продолжение разговора.

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


И тогда хранитель сделал то, чего не ожидал вообще никто.

В том числе он сам.

Он перестал оптимизировать репозиторий.

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


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

Возможно, на той стороне кто-то очень давно ждёт именно тебя.