Правильная агентская архитектура в 2026 г. Часть 2. Durable state: approvals, session context и background jobs

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

Высокоуровневый язык программирования

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

Недавно вышла в свет статья в уважаемоем научном издении Nature. Она натолкнула меня на идею показать как работает механизм внимания и как мозг формирует память. Это важно и дает ответ на вопрос о том, как вообще мы справляемся с огромным потоком задач нашего современного мира.
de Sousa, A.F., Zeidler, Z.E., Almeida-Filho, D.G. et al. The prefrontal cortex controls memory organization in the hippocampus. Nat Neurosci (2026). https://doi.org/10.1038/s41593-026-02231-1

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

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

В современном мире разработки программного обеспечения аутентификация и авторизация являются ключевыми концепциями, необходимыми для обеспечения безопасности и контроля доступа пользователей. В статье рассмотрим основы регистрации, аутентификации и авторизации, а также два популярных механизма аутентификации — сессионный механизм и JWT токены. Разберем их принципы работы, отличия, плюсы и минусы, а также практические аспекты реализации на Python с использованием FastAPI и SQLAlchemy.
Материал будет полезен как начинающим, так и опытным разработчикам, стремящимся углубить свои знания в backend-разработке и безопасности приложений.

Если вы работали с API Ozon, то наверняка испытывали смешанные чувства, поняв, что отчет по транзакциям формируется по отправлениям. а не по товарам, как в WB. И проблема в том, что в одной строке ответа API метода v3/finance/transaction/list мы имеем данные по отправлению, в котором может быть несколько товаров. При этом указанная сумма покупки (accruals_for_sale), комиссии, логистики и других начислений в отчете указана одна, то есть на все отправление в целом. А значит встает задача, посчитать сколько из общей суммы приходится на единицу товара.
В этом статья поделюсь, как я решил эту проблему в своей системе аналитики продаж через Wildberries и Ozon. Напомню, небольшой обзор своей системы WBOZYA‑dash я делал в первой статье. А как получать данные из API маркетплейсов без ошибок 429 и 50x описал во второй статье.

Многие умеют вызывать loss.backward() в PyTorch, но не всегда понимают, что именно происходит под капотом. Как сеть вычисляет, какой из миллионов весов нужно изменить? В этой статье мы развеем магию обратного распространения ошибки (backprop). Разберем алгоритм на простых аналогиях с заводским конвейером, вспомним школьное правило дифференцирования и, чтобы закрепить понимание, напишем свой микро-фреймворк для автоматического вычисления градиентов на чистом Python с нуля.

Асинхронная клиент-серверная библиотека для обмена сообщениями между микросервисами на базе ZeroMQ. Реализует гарантированную доставку сообщений (At-Least-Once) с персистентной файловой очередью при обрывах связи, автоматический failover сервера переадресации (клиенты могут подхватывать роль сервера на лету) и два уровня защиты: шифрование канала (CurveZMQ) и сквозное шифрование сообщений (HMAC). Лёгкая альтернатива брокерам вроде RabbitMQ, не требующая отдельного сервера.

Привет, Хабр! Меня зовут Музафаров Данил, я работаю DS инженером в компании Raft. В этой статье я протестирую OmniVoice — Open Source TTS модель, вокруг которой сейчас много внимания, и проверю, насколько хорошо она справляется с русскоязычными бизнес‑сценариями: числами, датами, ФИО, аббревиатурами, смешанным русско‑английским текстом, а также длинной озвучкой.

Cursor IDE умеет генерировать код, рефакторить, объяснять и дебажить. Но по умолчанию он видит только файлы в вашем проекте. Если нужно, чтобы агент сходил в Google Trends, проверил задачи в Jira или прочитал что-то из Notion, приходится копировать данные руками и вставлять в чат. Агент получается не особо автономным, каждый шаг требует вашего участия.
MCP даёт агенту инструменты — функции, которые тот вызывает сам, когда ему нужны внешние данные. Вместо «вот тебе CSV, проанализируй» вы пишете «проанализируй тренды по запросу X», и агент сам вызывает нужную функцию, получает данные и работает с ними.

Написал гайд для тех, кто хочет понять нейросети изнутри. Создаем свой ИИ для распознавания цифр на чистом Python всего в 50 строк кода. Вся математика на пальцах!

Необычными именами героев Ефремов решал свои художественные задачи, показывая мир будущего свободным от догм, стереотипов, социального и расового расслоения. Но есть ли в новаторских номинациях какие-то скрытые языковые коды?

Представьте: вы открываете репозиторий g4f, видите пять строк кода — и вот уже ChatGPT отвечает на ваш вопрос, не спрашивая API-ключ и не прося денег. Мысль, которая приходит первой: «Наконец-то бесплатный доступ к сильному ИИ, остальные просто не умеют готовить». Но пока вы радуетесь, ваш запрос уже ушёл гулять по миру через десяток чужих серверов. И никто — включая вас — не знает, кто прочитал его по дороге и сохранил ли он этот текст на будущее.
Я покажу, как именно библиотека маскируется, почему реверс-инжиниринг здесь превратился в инструмент обхода защиты и во что обходится такая экономия, когда речь заходит о конфиденциальности, стабильности и законности. Если вы хотя бы раз вставляли g4f в свой проект — дочитайте до конца. Возможно, это убережёт вас от очень дорогих последствий.

Когда мне в школе мне задали сделать итоговый проект для допуска к ОГЭ. Я долго думал над темой проекта, и решил совместить две вещи в которых я хорошо разбираюсь, Квадратные уравнения и мой любимый язык программирования Python.
На этапе идеи я сразу понял с помощью чего именно я сделаю свой проект. Изначально у меня получилось разработать консольное приложение, состоящее из бесконечного цикла цикла и простого алгоритма который спрашивает тип уравнения: Полное квадратное/неполное квадратное, и после выбора мы могли вводить a, b и c/a и b.
Эту версию проекта я «накидал» за один вечер, когда я показал результат учителю, он порекомендовал мне сделать графический интерфейс, я моментально вспомнил Python библиотеку Tkinter для создания графического интерфейса.
Тут уже пришлось покумекать как именно это сделать, ведь на практике я еще на тот момент не сталкивался с этим фреймворком. В ходе поиска документации по данному фреймворку я столкнулся с тем что все материала были содержали слишком много «воды». На тот момент нейросети были чем то новым и неизведанным, как раз так совпало.

Некоторое время назад мы столкнулись с типовой проблемой очередей при исполнении пайплайнов. Задачи упирались друг в друга, мешая выполнять операции последовательно.
Особенно остро это ощущалось на пайплайнах для сборки статики. Задачи требовали много ресурсов, выполнялись довольно долго, но основная нагрузка приходилась не столько процессор, сколько на дисковую подсистему (IOPS). В результате у нас возникали постоянные заторы при выполнении нескольких таких задач подряд.
Таким образом, вырисовывалась такая картина маслом: несколько разработчиков одновременно пушат свои сборки — кто-то новую версию плагина, кто-то страницу сайта — и все эти задачи, каждая минут на десять, устремляются в горстку общих runner-ов. Первый в очереди, конечно, чувствует себя прекрасно. Остальные же с тоской смотрят на статус pending ....
Посмотрел демку, где AI-агент ревьюит PR за 40 секунд — и решил внедрить у себя. LangGraph, GitHub API, неделя на прототип. Прототип заработал красиво. А потом начался продакшен: галлюцинации, 60% мусорных комментариев, разработчики игнорируют бота. Рассказываю, как чинил это три месяца и к каким цифрам пришёл.

Запустил pinock.io — бесплатную ленту AI-генерации животных в стиле советских спичечных коробков. Под капотом FLUX.2-klein + кастомная LoRA + двухпроходный «sandwich»-пайплайн.
Получил детальный технический комментарий на r/StableDiffusion с тремя претензиями. Сел и прогнал ablation: 5 вариантов пайплайна × 5 категорий × 3 сида = 75 картинок.
Нашёл дыры в собственном пайплайне — в том числе кириллицу прямо в выходе LoRA (training-set leakage) и полный коллапс LoRA при scale=2.0. Текущий sandwich оказался патчем поверх плохо обученной LoRA, а не правильным решением.
В статье — все картинки, цифры, и почему оба «правильных» совета критика на текущей модели не сработали. Плюс план переобучения на 1500-датасете.

На Android у меня живёт Govorun Lite — офлайн-диктовка на русском. Нажал кнопку, сказал, текст вставился. Никаких облаков, никакой отправки голоса на серверы. Работает через GigaAM v2 от Сбера.
Проблема одна: на ПК такого нет. Встроенная Windows-диктовка — онлайн. Whisper — либо медленный, либо требует видеокарту. Сторонние сервисы — снова облако.
Я решил портировать Govorun на Windows, и для ускорения взял Claude как пару-программиста. Что из этого вышло — в этой статье.

Каждый начинающий бэкендер рано или поздно сталкивается с классической болью: «Ну не знаю, на моем компе всё работало, а на сервере почему-то падает!». Решение давно известно — контейнеризация. Но что делать, если от слова Docker бросает в дрожь, а официальные туториалы написаны сухим академическим языком и требуют знания Linux-администрирования?
Мы с нуля напишем простейшее API на современном FastAPI, разберемся, чем «образ» отличается от «контейнера», упакуем наш код в изолированную коробочку и научимся запускать всё это одной кнопкой через Docker Compose. Максимально просто, «на пальцах» и без лишней воды. Заходи, если хочешь деплоить без боли и слез!
Когда я начинал CodeClone, это был довольно понятный инструмент: найти структурные клоны в Python-коде и не дать им незаметно расползаться по проекту.
Сейчас вышел CodeClone 2.0.0, и это уже другой продукт.
Не “ещё один линтер”, не попытка заменить Ruff, mypy, pytest, Bandit или Semgrep, а отдельный слой ревью: он смотрит на структуру Python-кода, отделяет старый технический долг от новых регрессий, связывает находки с покрытием тестами и дает одну и ту же картину в CLI, HTML-отчете, GitHub Actions, VS Code, Claude Desktop, Codex и через MCP.
Эта статья не про список флагов CLI. Про флаги есть документация.
Здесь я хочу рассказать, во что CodeClone вырос как продукт и зачем вообще нужен такой класс инструмента сейчас, когда разработка всё заметнее смещается в сторону AI-агентов.