AI уже умеет быстро писать отдельные функции, но в большой системе перед изменением нескольких строк агенту приходится читать сотни файлов и заново восстанавливать архитектурный замысел. Увеличение контекста и подробные спецификации помогают, но на масштабе рядом с горой кода может появиться гора документации, которую тоже нужно анализировать и синхронизировать.
В статье я рассматриваю другую возможность: формальное архитектурное представление между намерением и кодом. Типизированный исполняемый граф может одновременно задавать границы для AI, валидировать архитектурные изменения, генерировать сервис и локальные SDD-задачи, а в runtime служить картой наблюдаемости. Это инженерная гипотеза о том, каким может стать интерфейс совместной работы человека и AI.
Перейти от кода к архитектуреВы держите личный и рабочий аккаунты на одном сервисе — просто чтобы не путать переписку и не смешивать процессы. Или ведете пару разных аккаунтов для фриланс-клиентов. А потом сервис ограничивает сразу оба аккаунта, потому что решил, что за ними один и тот же человек.
VPN меняет ваш адрес, но не меняет того, кем вас считает сайт. Большинству из нас не нужно исчезнуть из сети. Вместо этого нужна изоляция сфер интересов, чтобы они перестали склеиваться в один поведенческий профиль. Сегодня мы разберемся, как сайты узнают вас по железу.
Читать далееМировой кризис взвинтил цены на память и комплектующие. В такой ситуации лучшая стратегия — рационально относиться к старому железу. Например, у Meta* в новых DDR5-серверах работает старая память DDR4 через кастомную ASIC-микросхему Vistara без потери производительности. То есть ребята разработали собственный чип, карту-переходник для CXL и драйверы для ядра Linux — лишь бы использовать старую память.
Если пойти ещё дальше, то в качестве серверов подходят старые смартфоны, ноутбуки, игровые приставки и даже одноразовые вейпы. Эта тема поднималась и раньше, но сейчас всплыло несколько интересных примеров.
Читать далееКак построить гибкий реактивный граф обработки данных, где узлы изолированы друг от друга, а связи между ними строятся автоматически на основе их возможностей? Рассказываю о разработке Transferum — легковесной TypeScript-библиотеки для реактивных потоков. Внутри: разбор системы вычислимых типов для проверки контрактов в compile-time, управление маршрутизацией данных в графе и примеры построения динамических пайплайнов для IoT-датчиков и панелей управления.
Читать далееЛет десять назад я сконструировал и изготовил пару анемометр и флюгер, которые описал тогда вот в этой статье. Сейчас устройства, конечно, износились: если флюгер еще в общем работает, то анемометр практически дохлый. Сказывается еще то, что на зиму их приходится убирать: под снегом они отказали бы гораздо быстрее, а периодический монтаж-демонтаж сказывается на их состоянии не лучшим образом. Поэтому вплотную встал вопрос замены на более долговечную конструкцию.
Об ультразвуковом принципе работы измерителей различных потоков (морских и речных течений, ветра, жидкостей и газов в трубопроводах) я осведомлен издавна, так как в 80-90-е годы вплотную занимался измерителями морских течений. Ультразвуковой датчик ветра хорош тем, что объединяет функции анемометра (измерителя скорости) и флюгера (измерителя направления) в одном приборе. При этом датчик не имеет никаких движущихся частей, максимально изолирован от непогоды, следовательно, гораздо долговечнее, чем любая механическая конструкция. Измерение скорости производится на основе эффекта Допплера в двух взаимно перпендикулярных направлениях, так что значение направления получается автоматически из двух измеренных векторов. В некоторых конструкциях используется также принцип измерения составляющих вектора в трех направлениях по периметру треугольника.
Попытки десять лет назад найти что-то из этой области по части ветра натолкнулись на ценовой порог: в продаже имелись лишь ультразвуковые измерители профессионального класса, как импортные, так и отечественные (или, правильней сказать, под отечественным лейблом), с соответствующей ценой с тремя нулями в долларах. Но в прошлом году решил проверить новинки по этой теме, и с изумлением обнаружил большое количество моделей бытового уровня ценой от единиц до десятков тысяч обычных рублей.
Читать далееНа периферии двух гигантов инженеры Weichai vs инженеры Yuchai. Интересно кто умней? Ответ на этот вопрос я не знаю. Но когда разбираешь логи j1939 ты понимаешь, перед тобой две школы инженерии.
Читать далееДоступен Firefox 153.
( читать дальше... )
В детстве одним из моих любимых боевиков был "Хищник" с Арнольдом Шварцнеггером, в котором больше всего мне нравилась маска пришельца, позволявшая ему переключаться между спектрами и видеть тепло, самому оставаясь невидимкой. На невидимость пока не замахиваюсь, а вот сделать подобие маски Хищника – почему бы и да?
Читать далееВсем привет!
У вас было такое, когда заканчиваются недельные или часовые лимиты в Codex или Claude Code, а потом вы внезапно обнаруживаете, что лимиты уже сбросили?
Приятно, да? Особенно Codex этим часто радует :)
Так вот, я хотел получать уведомления о таких сбросах. Но при этом не хотел самостоятельно мониторить X — бывший Twitter — или постоянно проверять другие источники.
Читать далееВ июле появились признаки улучшения ситуации по Automation QA и Senior QA - число нанимающих компаний по этим ролям за месяц уменьшилось всего на 0.2%. Это минимальное падение за последние три месяца, и оно в рамках погрешности измерений.
Совершенно другая ситуация с ролью Manual QA - здесь уверенное падение продолжается. Процент нанимающих компаний в очередной раз снизился и достиг 21.6%. Для сравнения: в феврале нанимающих компаний было 40.7%. То есть меньше чем за полгода произошло двукратное падение!
Что интересно, с приходом AI это никак не связано - на американском рынке, где масштабное внедрение AI идет уже давно, в июле число вакансий Manual QA выросло.
По ролям AI QA / ML Evaluation ситуация продолжает оставаться непонятной - некоторый рост есть, но на фоне изначально низкого числа вакансий он очень незначителен.
Читать далееПриветсвую всех читателей Хабра. В этой статье я хочу рассказать о том, как я пытаюсь сделать современный ИИ свободнее, через свою copyleft Лицензию. Она носит имя FMLL (Free Machine Learning License). Ее цель — сделать copyleft не только код LLM, датасеты, RAG и другие инструменты. Лицензия первой версии уже доступна на GitHub.
Читать далееЯ Анастасия, ведущий SRE-инженер РСХБ.Цифра. В этой статье я расскажу о том, как мы в App.Farm, PaaS-платформе Россельхозбанка, перешли от одной «большой» Kafka до реализации услуги «Kafka as a Service» c индивидуальными кластерами под ключ. Звучит просто, но за этим кроется сложный путь проб и ошибок.
Читать далееВ предыдущем посте я писал о микрокоде и слое скриптинга. На этом этапе калькулятор почти полностью существовал только в ПО: в виде десктопного Qt-приложения, выполняющего симуляцию, или в виде страницы с WebAssembly в браузере. Это удобная среда для разработки и демонстрации, но это не калькулятор. Калькулятор должен лежать на столе, его можно взять и постучать по кнопкам.
Сегодня мы поговорим об этом этапе (за исключением издевательств над кнопками).
Читать далееВсе привыкли считать, что SI/PI-моделирование — это импеданс, S-параметры дорожек и IBIS-модель. Но что, если именно здесь большинство инженеров и допускает главную ошибку? Печатная плата — лишь небольшая часть реального канала передачи сигнала.
В этой статье разберём, почему без моделей корпуса микросхемы, разъёмов, кабелей, пассивных компонентов, температуры и измерений даже самое красивое моделирование может не иметь ничего общего с тем, что происходит в готовом устройстве. Поговорим о том, где заканчивается теория и начинается реальная инженерия.
Читать далееНе обязательно поднимать все своими руками. Разбираем три сервисные модели - пентест как сервис, VM как сервис и багбаунти, - когда какая выгоднее и где подводные камни. Заодно про взрывной рост российского багбаунти: почти 14 тысяч отчетов об уязвимостях и около 260 млн рублей выплат за 2025 год.
Читать далееВсем привет!
Почти все ИИ-ассистенты хорошо справляются с отдельными запросами, но почти каждый новый диалог начинают с чистого листа. Можно, конечно, снова объяснить структуру проекта, напомнить принятые решения и перечислить уже найденные вами ошибки, но через несколько раз это начинает раздражать.
Hermes Agent от Nous Research - это уже другой случай. Он сохраняет важные факты, ищет информацию в предыдущих диалогах, превращает удачные способы решения задач в навыки и использует их в дальнейшем. При этом, что довольно удобно, агент может работать и принимать сообщения из Telegram!
В этой статье разберем, что именно в Hermes называется самообучением, чем он отличается от обычного чат-бота, какие задачи ему можно поручить и как запустить собственного агента на удаленном сервере.
Читать далееКак хранить зашифрованный файл в репозитории Git или другой системы контроля версий? Если изменение одной строчки содержимого будет (из-за шифрования) менять весь файл целиком или значительную его часть - это портит весь подход системы контроля версий - хранение изменений "фрагментами". Значит хорошо бы шифровать "куски" - например, строки - по-отдельности, независимо.
Здесь описывается простенький рецепт для этого подхода - в духе "соль + пароль и от них взять хэш в качестве ключа". Большая же часть текста имеет несколько "дидактический" характер - обсуждение мотивации для такой задачи, границ применимости - а также напоминания и пояснения базовых соображений по криптографии - поэтому заранее приносим извинения тем читателям для кого эта информация тривиальна.
Читать далееЧто делать, если статический анализ crackme выдает 187 064 инструкции мусорного кода? Идти в динамику! В этой статье разбираем таск Callfuscated с HTB: пишем свой ptrace-трассировщик, создаем валидируемый x86-64 эмулятор на Python, снимаем дампы памяти и сводим сложную VM-обфускацию к арифметике первого курса.
Прочитать решение1. История
Корпоративная модель ИИ за $10 млн. дала негативный отзыв на недавно опубликованную статью:
[1] Vladimirov, V.V. (2026). An additional degree of freedom in the processes of self-organized criticality with violation of causality. Chaos, Solitons & Fractals, 208, 118186.
Ключевая проблема не в том, что ИИ «глупый». Проблема в том, что он обучен на другой парадигме. Вот три фундаментальные причины, почему корпоративный ИИ дал негативный отзыв — и почему это не ошибка, а закономерность.
· ИИ не видит структуру там, где она не выражена в данных
Современные LLM обучены на текстах, которые описывают уже известные паттерны. Статья — о том, как обнаружить новую структуру (гиперболическое пространство, солитон, дополнительную степень свободы), а ИИ не может «увидеть» структуру, которой нет в его обучающей выборке. Он может только распознавать известные паттерны. Это называется иллюзией компетенции — ИИ создаёт впечатление понимания, но на самом деле он просто перекомбинирует известное.
· ИИ не понимает невыпуклость и обусловленность
Градиентный спуск в невыпуклых ландшафтах страдает от плохой обусловленности матриц весов. Число обусловленности (v) — это прямой индикатор этой проблемы. Корпоративный ИИ, обученный на «best practices», не видит ценности в том, чтобы отслеживать v, потому что в стандартных подходах (Adam, BatchNorm) эту проблему пытаются маскировать, а не решать фундаментально.
Ирония в том, что исследования подтверждают наличие самоорганизованной критичности в обучении нейросетей. Нейросети действительно эволюционируют к критическому состоянию. Статья [1] предлагает способ диагностировать это состояние через (u, v). А корпоративный ИИ просто не знает, что такая диагностика возможна.
Читать далееВот именно такой вопрос был задан в первом же комментарии к статье "DI-контейнер на чистом JavaScript без TypeScript и reflect-metadata" уважаемого @alexander_kubarski. Я когда-то и сам на Хабре отвечал на этот вопрос ("Зачем нужно внедрение зависимостей в JS"), и уважаемый @Wroud тоже ("Dependency Injection в JavaScript: зачем он вам нужен"), но непонимание места и значения DI у JS-разработчиков всё равно присутствует. Попробую ответить на этот вопрос ещё раз:
Внедрение зависимостей помогает снизить стоимость верификации сложного приложения. Оно отделяет компонент от выбора конкретного окружения и позволяет проверять его относительно явных ожиданий, не поднимая каждый раз весь граф реальных зависимостей.
Именно для этого используют Inversion of Control в целом и Dependency Injection в частности - во всех языках программирования, а не только в JavaScript.
Чуть подробнее...