Книжный куб
14.2K subscribers
2.87K photos
6 videos
6 files
2.18K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре (no ads in channel)
Download Telegram
Spec-driven development (SDD): почему AI вернул спецификации в разработку (Рубрика #Engineering)

Горячая тема spec-driven development мне кажется реинкарнацией старых подходов типа бородатых V-Model или RUP, что в районе двухтысячных использовались для описания инженерных процессов. Мне стало интересно поразмышлять, а почему так происходит и так появилась этот пост:)

Старый spec-driven подход был про то, что сначала нужно описать требования, потом дизайн, потом реализацию, потом проверку. V-Model хорошо показывала эту симметрию: каждому уровню проектирования соответствует свой уровень validation/verification. Плюсы были в трассировке от требований к коду и проверяемости ожиданий, а минусы были в бюрократии и разрыве между документами и кодом.

С AI ситуация поменялась. Спецификация стала рабочим интерфейсом между человеком и агентом. Если код пишет или сильно помогает писать агент, то главный вопрос уже не “как быстро я напишу реализацию руками”. Главный вопрос: насколько точно я могу сформулировать intent, ограничения, критерии приемки и способ проверки результата. Агенту мало сказать “сделай фичу”. Ему нужен контекст: что должно измениться, что не должно сломаться, какие сценарии считаются успехом, какие тесты запустить, где границы задачи.

Поэтому современный spec-driven development выглядит примерно так:
intent -> acceptance criteria -> plan -> tasks -> implementation -> verification.

Теперь документы становятся исполняемым контекстом для агента. Спека используется для составления плана, план раскладывается на задачи, задачи делегируются, тесты и логи становятся доказательством работоспособности, а review проверяет не только diff, но и соответствие исходному намерению.

Есть разные подходы к этому снаряду

1️⃣ GitHub Spec Kit прямо формулирует SDD как процесс “сначала определить, что строить, потом дать AI coding agent реализовать”. Там есть цепочка spec -> plan -> tasks -> implement, checklists, clarify/analyze шаги и интеграции с разными агентами. Тут соль в agent-agnostic идее: спецификация становится переносимым контрактом, а не промптом для одного IDE.

2️⃣ Kiro от AWS идет похожим путем, но более продуктово. У них spec обычно раскладывается на requirements.md, design.md, tasks.md; отдельно есть steering-файлы для постоянного знания о проекте: архитектура, стек, conventions, структура. Это уже очень похоже на попытку сделать из AI coding управляемый процесс разработки feature или bugfix.

3️⃣ Codex и подход harness engineering показывают третий вариант. Там важны AGENTS.md, знание репозитория, configured dev environment, тесты, логи, PR review и возможность запускать несколько задач параллельно. В таком мире prompt начинает напоминать хорошо написанный GitHub issue: цель, контекст, ограничения, expected behavior, команды проверки.

4️⃣ Есть и lightweight-вариант, который, кажется, сейчас самый практичный для многих команд: PRD/RFC/issue + acceptance tests + CI + agent instructions. Без отдельного фреймворка. Главное, чтобы у задачи был четкий “definition of done”, а агент мог доказать, что он его достиг.

На практике это дает несколько преимуществ
- Меньше неопределенность - агент хуже всего работает там, где человек сам не решил, чего хочет
- Большие задачи проще делегировать - их можно резать на независимые кусочки и проверять по частям
- Появляется трассировка между намерением, дизайном решения, задачами и тестами
- Review перестает быть только чтением diff'а - он становится проверкой: “достигли ли мы цели, которую сами же сформулировали?”

Правда, не все так безоблачно - spec-driven development (SDD) сам по себе не гарантирует качество. Пeлохая спецификация просто быстрее производит неправильный код.

#Engineering #AI #Software #Architecture #Management #DevTools #Agents #ML #SystemDesign
117👍6🔥6
AI Dev Podcast #2: Александр Поломодов, Сергей Баранов / Архитектура в эпоху ИИ (Рубрика #Architecture)

Около месяца назад мы записывали подкаст вместе с Сергеем Барановым (основателем ArchDays) и Андреем Дмтриевым (со-основателем JUG.RU) в рамках подготовки к сегодняшней конфе AI Dev Conf. Так получилось, что дальше я уехал в отпуск и забыл поделиться с вами этим эпизодом, а он был интересным:) Речь в нем шла про то, как LLM и мультиагентные системы меняют software architecture и инженерные процессы. Обсудили двойственную природу ИИ: с одной стороны - демократизация разработки (через lovable.dev и аналоги), с другой - жесткая необходимость в инженерном фундаменте для масштабирования.

Основными темами выпуска стали
- От SOE 1.0 к SOE 2.0: как люди и агенты будут работать в связке.
- Роль архитектора: больше не "чертежник", а стратег, валидирующий варианты от ИИ и выстраивающий внутренние модели.
- Экономика: почему типовые решения уходят в автоматизацию, а ценность повторного использования компонентов взлетает до небес.
- Болевые точки: бардак с данными и онтологиями, блокирующие зависимости между сервисами и проблема контекста.
- Прогноз: как готовить платформу к "мажорной разработке" с агентами и почему локальные эксперименты с моделями станут базовым навыком архитектора.

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

#AI4SDLC #AI #Engineering #Software #Processes #Management #Productivity
7🔥7👍4🥱1
Почему AI делает инфраструктуру управленческой темой (Рубрика #AI)

Пару дней назад вышла статья РБК про то, почему бизнес выбирает гибридную инфраструктуру. В этом интервью РБК от 19 мая генеральный директор Yandex Cloud Григорий Атрепьев говорит, что рынок корпоративного ПО в России по итогам 2025 года вырос до 808 млрд руб., а два главных фактора изменения рынка сейчас - информационная безопасность и искусственный интеллект.

А сегодня я весь день преподаю в рамках программы ВШЭ “ИИ-лидеры: бизнес-лаборатория для руководителей” и рассказываю менеджерам про облака, DataOps, MLOps и AIOps. И эта статья отлично попадает в главный тезис моего рассказа: AI в компании начинается не с красивой демки модели. Он начинается с инфраструктуры, данных, безопасности, эксплуатации и управленческой готовности довести пилот до промышленного внедрения.

Если возвращаться к тезисам Григория из статьи то они примерно такие

1️⃣ Искусственный интеллект и информационная безопасность - это комбо-связка. С одной стороны, компании живут в более агрессивной среде: по словам Yandex Cloud, в прошлом году они обрабатывали 103 млрд событий ежедневно в собственной SIEM-системе, в три раза больше год к году. С другой стороны, AI уже перестал быть только экспериментом: на платформе, по данным компании, создано более 18 тыс. агентов.
2️⃣ Дальше начинается самое интересное для менеджеров. AI быстро превращается в инфраструктурную задачу. Растет спрос на GPU, по исследованию Yandex Cloud и Apple Hills Digital среднегодовой темп роста этого сегмента до 2030 года оценивается в 23%. Меняются требования к ЦОД: если раньше стойка могла потреблять 5-6 кВт, то сейчас для AI-нагрузок речь идет уже о 100 кВт и выше.
3️⃣ На этом фоне гибридная инфраструктура выглядит не как компромисс “между облаком и своим железом”, а как рабочая модель зрелой компании. Публичное облако дает скорость экспериментов, быстрые пилоты и гибкое потребление ресурсов. Частный контур нужен там, где есть чувствительные данные, регуляторные ограничения, требования ИБ и уже сложившиеся корпоративные системы.
4️⃣ Но гибридность не достается бесплатно. В статье хорошо перечислены барьеры: разные инструменты и навыки, Kubernetes, API, мониторинг, синхронизация, резервное копирование, безопасность. А с AI добавляется новый слой: нужно контролировать агентов в корпоративных системах, разграничивать доступ к данным, защищать протоколы и наблюдать цепочки действий. Observability становится не только темой SRE, но и темой управления AI-рисками.

В общем, управленческий вывод такой: AI-проекты чаще ломаются не на выборе или доступе к вашей любимой модели. Они начинаю буксовать на качестве данных, доступности инфраструктуры, отсутствии сильного бизнес-спонсора, непонятной модели ответственности и неспособности превратить пилот в повторяемый процесс. Поэтому менеджерам важно понимать не только "какую нейросеть купить". Важно понимать, какой контур данных, облаков, MLOps/AIOps, ИБ, мониторинга и эксплуатации нужен, чтобы AI не остался презентацией на несколько сотрудников, а стал частью корпоративной системы.

#AI #Cloud #DataOps #MLOps #AIOps #Management #Engineering
👍83🔥3🥱1
Root Cause: Stories and Lessons from Two Decades of Backend Engineering Bugs (Рубрика #Books)

Прочитал несколько глав книги Хусейна Нассера, популярного блоггера (500к подписчиков на канале), что рассказывает про software engineering. Брался я за нее из простого интереса почитать не просто про архитектуру, базы данных и распределенные системы, а скорее про то, как все это ломается на проде. Собственно, эти истории автор и обещает в описании своей книги. Автор считает, что опыт инженера измеряется не только годами, количеством фичей или строк кода, а количеством багов, которые он смог воспроизвести, отследить до root cause и исправить. Это звучит почти банально, пока не вспоминаешь, сколько настоящего инженерного знания приходит именно из таких расследований: где-то узнал, как браузер ограничивает HTTP/1.1 connections, где-то разобрался с HPACK в HTTP/2, где-то впервые увидел, как file descriptor limit превращается в 504 Gateway Timeout.

Мне эта книга напомнила опыт, когда я сам работал с инцидентами, писал или разбирал постмортемы, а также как-то руководил секций траблшутинга для SRE-инженеров, что хотели попасть к нам в компанию и в итоге сделал пару публичных выступлений и статей (они сейчас есть на моем сайте system-design.space: описание самого подхода к интервью и пример такого интервью).

Если же возвращаться к самой книге, то я прочел несколько глав и вот о чем они

1️⃣ История про системное замедление системы.
Пользователи видят, что весь продукт стал медленным. Не один endpoint, не одна кнопка, не один сценарий, а как будто “все плохо”. В итоге расследование приводит к маленькому UI-элементу: поисковая строка показывает текст вроде “Search 550M items”, а JavaScript дергает API, который выполняет SELECT COUNT(*) по огромной таблице. Причем делает это снова и снова. В трейсе обнаруживается больше 100 тысяч таких запросов за 30 минут.

Хорошая деталь здесь в том, что простой ответ “добавим CPU базе” был бы неправильным. Да, база была перегружена по CPU. Но причина была не в том, что база “слабая”, а в том, что продуктовый UI породил бессмысленную backend-нагрузку. Настоящее исправление — не вертикально масштабировать симптом, а убрать саму необходимость считать точное число там, где пользователю достаточно приблизительного.

2️⃣ Истории про live translation system, HTTP/1.1, HTTP/2 и load balancer
И это, кажется интересная часть для архитекторов и технических руководителей. Сначала long-lived SSE-сессии упираются в браузерный лимит соединений на один host: седьмой запрос просто висит в client-side queue. Потом включение HTTP/2 решает эту проблему, но приносит другую: много маленьких запросов, TLS, frame parsing, stream state и HPACK начинают съедать CPU на backend. Потом появляется load balancer, backend переводят обратно на HTTP/1.1, статические ресурсы кэшируются, все становится лучше — пока unlimited backend connection pool не упирается в file descriptors и TCP receive window.

То есть книга хорошо показывает неприятную, но реальную картину: архитектурное улучшение редко бывает “просто улучшением”. Оно меняет профиль отказов. HTTP/2 убирает один bottleneck, но добавляет CPU overhead. Load balancer разгружает backend, но приносит новые настройки и новые default values. Увеличение лимита file descriptors помогает, но не объясняет, почему столько соединений вообще было создано.

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

#Books #Engineering #Software #Architecture #Management #SRE
15👍7🔥3👎1
State of AI4SDLC (Рубрика #AI4SDLC)

Появилась запись моего апрельского выступления на DevOps Conf с докладом про "State of AI4SDLC" или что сейчас реально происходит с AI в разработке и почему история уже давно не только про генерацию кода.

Про само исследование я уже рассказывал много раз, поэтому коротко. AI уже стал повседневным инструментом для кодогенерации. По нашим данным, 58% часто или всегда используют AI для генерации кода, 64% видят рост продуктивности. Но дальше картинка сложнее: доверие к AI-коду остается низким, а качество не улучшается автоматически. Главный вывод для меня такой: AI ускоряет не весь SDLC, а отдельные его участки. Если ничего не менять в инженерной системе, bottleneck просто переезжает из написания кода в review, тесты, CI/CD, интеграцию, безопасность, релизы и управление контекстом.

И вот здесь начинается самое интересное: мы движемся от Software Engineering 1.0 к Software Engineering 2.0.

В классическом Software Engineering 1.0 разработка часто выглядит как цепочка стадий и handoff’ов: требования, дизайн, реализация, review, тестирование, релиз. Даже в agile-командах эта логика никуда полностью не исчезла: есть тикет, есть исполнитель, есть diff, есть ревью, есть pipeline. В AI-native варианте часть работы начинают делать ассистенты и агенты. Они могут писать код, предлагать тесты, читать документацию, анализировать баги, готовить PR, помогать с миграциями. Но человек при этом не исчезает. Скорее меняется его позиция.

Разработчик становится не только автором кода, но и навигатором: задает intent, собирает context, формулирует ограничения, декомпозирует work graph, делегирует задачи агентам, проверяет результат и принимает инженерное решение.

Мне все больше нравится описывать это как цепочку: intent -> context -> plan -> tasks -> implementation -> verification.

И это сильно меняет привычный inner loop. Раньше основное усилие часто было в том, чтобы самому написать реализацию. Теперь все больше усилия уходит в то, чтобы правильно поставить задачу, дать системе достаточно контекста, ограничить пространство решений и построить проверку, которой можно доверять.

Отсюда следующий важный сдвиг: классический ticket tracker начинает трещать. Тикет как “описание задачи + статус + комментарии” был нормальной единицей координации для людей. Но агенту этого мало. Агенту нужен связанный контекст: цель, ограничения, зависимости, решения из прошлого, права доступа, кодовая база, тесты, логи, критерии приемки, доступные инструменты и границы того, что можно менять. Новая единица работы - не тикет, а context-rich work graph, в котором человек и агент могут безопасно довести задачу до результата.

Это влияет и на оргдизайн. AI-native организация - это не просто “меньше людей”. Скорее это меньше лишних handoff’ов, сильнее роль senior и staff engineers, больше self-service, сильнее platform engineering, больше automation и guardrails. То есть организация должна не только генерировать больше output’а, но и уметь безопасно его переваривать.

Именно поэтому метрики usage почти ничего не говорят. Количество запросов к AI, включенных лицензий или сгенерированных строк кода - это vanity metrics. Смотреть надо на всю цепочку: adoption -> throughput -> quality/risk -> economics. То есть: используют ли инструмент; ускорились ли PR, review, time to merge и cycle time; не выросли ли дефекты, инциденты, security-риск и технический долг; какая экономика у этой новой скорости.

Для разработчиков вывод в том, что надо уметь работать с AI как с инженерным контуром: декомпозировать задачи, писать хорошие acceptance критерии, проверять диффы, сгенерированные AI, понимать архитектурные последствия и держать в голове эксплуатацию.

Для тимлидов, EM и CTO вывод еще жестче: AI-внедрение нельзя вести как закупку инструмента. Это изменение production-системы разработки. Нужны правила, доступ к контексту, безопасные контуры, CI/CD, тесты, ownership, platform engineering, evals, observability и метрики результата.

#AI #AI4SDLC #Engineering #DevOps #Management #Architecture
18🔥11👍7
Whitepaper_FIN_DIGITAL_UPD_bb0bba281b.pdf
30.1 MB
Сбер выпустил AI-Disrupt PDLC — красивый PDF и странный 140-страничный DOC (Рубрика #AI4SDLC)

Прочитал на днях whitepaper Сбера про AI-Disrupt PDLC. Это концепция про то, что AI меняет весь продуктовый цикл разработки: intent, context, specs, agents, harness, evals, governance, risk ladder, evidence bundle, tiny teams и всё такое.

Центральная мысль мне близка. Я примерно об этом уже рассказывал в докладах и постах:
- Как AI меняет инженерную культуру на Yandex  конфе
- State of AI4SDLC на DevOps конфе
Если сокращать два мои выступления выше до тезисов, то они звучат так
- AI ускоряет не весь SDLC, а отдельные его участки
- Если не перестроить инженерную систему, bottleneck просто переедет из написания кода в review, тесты, CI/CD, интеграцию, безопасность, релизы и управление контекстом.
- Разработчик становится не только автором кода, а навигатором: задаёт intent, собирает context, формулирует ограничения, делегирует задачи агентам и проверяет результат.

У Сбера это упаковано в язык корпоративной трансформации:
- Intent Loop - человек формулирует намерение.
- Implementation Loop - агенты исполняют.
- IDP / harness - платформа и обвязка, которая превращает недетерминированную модель в управляемый enterprise-инструмент. Кстати, у Сбера под IDP имеется в виду integrated developer platform, а не как в остальном мире internal developer platform
- SDD (spec driven development) - спецификация становится главным контрактом между человеком и агентом.
- Governance - проверки должны жить внутри процесса, а не приходить в конце релиза.

Это правильный сдвиг к перестройке production-системы разработки.

Но мой личный фидбек смешанный и вот почему

PDF получился красивым executive summary. Видно, что ребята постарались, собрали нормальную рамку и понятный нарратив для CTO/CIO. Для российского enterprise это, наверное, полезно: наконец-то вслух проговорили, что модель - не главный актив. Главный актив - context, harness, evals, policies, platform engineering и способность организации безопасно принимать результат работы агентов. Но нового лично для меня там почти нет. Большая часть идей уже давно витает вокруг AI4SDLC: от classic PDLC к AI-native development, от AI-native dev к AI-native org, от тимлида как распределителя задач к тимлиду как проектировщику human-agent системы.

А вот большой DOC на 140 страниц — это уже совсем другое впечатление.
Там видно очень плотный LLM-микс: много правильных слов, много Gartner / McKinsey / Anthropic / Bain / AWS, много красивых терминов, но редактура слабая. Местами ощущение, что первоисточники использованы как топливо для генерации, а не как прочитанные и осмысленные работы. Я часть этих источников читал, поэтому некоторые отсылки выглядят забавно. Плюс документ плохо дружит с читателем: длинные полотна, повторы, перекрёстные ссылки, табличная сложность ради табличной сложности, текстом описанные схемы, которые в нормальном документе надо было бы визуализировать. Это скорее сырой материал для внутренней методологической группы, чем документ, который нормальный человек сядет и осилит ... я вот не осилил

В итоге, мне кажется, что этот документ "AI-Disrupt PDLC" ценен не как набор новых идей, а как сигнал о том, что большой российский enterprise легитимизирует тезис, который многие из нас уже обсуждают: AI в разработке - это не генерация кода, а новая архитектура инженерной организации.

#AI #Management #Future #Software #Engineering #Productivity #Agents #Processes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3113💯5👎1😁1🤔1
How a Group of Developers Took Back Control from Enterprise Java | Spring: The Documentary (Рубрика #Software)

Посмотрел на выходных документалку про Spring. Я люблю такие фильмы про технологии: они показывают не только что появилось, но и какую боль технология изначально пыталась снять. История Spring особенно хорошая: это не просто рассказ про популярный Java framework, а история про то, как разработчики устали от тяжелой enterprise-модели и начали возвращать себе контроль над кодом.

В начале 2000-х Enterprise Java выглядела очень солидно: спецификации, application servers, EJB, XML-дескрипторы, контейнеры, большие vendor'ы. Все как будто было устроено “по-взрослому”. Но для обычной разработки это часто означало медленный цикл обратной связи, сложное тестирование и ощущение, что простая бизнес-логика внезапно требует слишком много инфраструктурной магии.

Spring появился как ответ на это трение. Rod Johnson сначала сформулировал критику тогдашнего J2EE-подхода в книге "Expert One-on-One J2EE Design and Development", а код из приложения к книге постепенно превратился в Spring. Мне нравится, что альтернатива пришла не как очередная большая спецификация сверху, а как практичный набор инженерных принципов снизу: POJO вместо тяжелых компонентов, Dependency injection и Inversion of Control вместо жесткой связки с контейнером. Тестируемость как нормальное требование к дизайну. Композиция объектов вместо ощущения, что настоящая архитектура обязательно должна быть спрятана в application server. По сути, Spring сказал разработчикам: бизнес-логика снова может быть обычным Java-кодом. Ее можно читать, подменять зависимости, тестировать отдельно и постепенно встраивать в большую систему. Сегодня это звучит почти банально, но тогда в этом был сильный архитектурный сдвиг.

Отдельно интересно, что Spring не остановился на первой победе. Со временем он сам стал большим ecosystem, со своей конфигурацией, conventions и complexity. Следующим шагом стал Spring Boot: меньше ручной настройки, sensible defaults, embedded server, быстрый старт приложения. Boot хорошо попал в эпоху microservices, containers и cloud-native разработки, где старый подход “сначала собери всю enterprise-инфраструктуру вокруг приложения” снова стал слишком тяжелым.

Но у этой истории есть и вторая сторона. Когда технология выигрывает, она становится инфраструктурой. А инфраструктура обрастает legacy, версиями, upgrade cost, security-патчами, совместимостью и long-term maintenance. Spring начинался как способ вернуть контроль разработчикам, а теперь сам является частью огромного enterprise landscape, которым нужно управлять аккуратно. Забавно, что главный спонсор этого фильма - компания HeroDevs, которая саппортит код legacy приложений, которые живут на фреймворках и библиотеках, что давно уже вышли из цикла поддержки, но никто не готов переписывать сами бизнес-приложения. В итоге, ребята из HeroDevs занимаются таким maintenance и фиксят в основном уязвимости в старой кодовой базе.

Для меня главный вывод такой: сильные технологии часто появляются не из желания “сделать еще один framework”, а из желания убрать трение между идеей, кодом, тестом и production. Они побеждают не только фичами, а тем, что меняют повседневный опыт разработчика.

#Software #Java #Spring #Architecture #Engineering #OpenSource #History
🔥64👍4
The Developer's Playbook for LLM Security (Рубрика #Books)

Прочитал эту книгу за авторством Steve Wilson, который был руководителем проекта "OWASP Top 10 for LLM Applications". Брался за нее с вопросом, насколько книга 2024 года про безопасность больших языковых моделей еще актуальна в 2026-м. Ответ такой: как базовая инженерная рамка - да, очень. Как полный обзор текущей повестки - уже нет, потому что область за два года заметно уехала вперед.

Книга ценна тем, что она не пытается объяснять безопасность LLM как набор страшилок про промпт инъекции”, а показывает более широкую картину: где проходят границы доверия, почему приложение с языковой моделью нельзя воспринимать как обычное приложение, как появляются утечки данных, что делать с галлюцинациями, обработкой ответа, цепочкой поставки, паспортами моделей, SBOM/ML-BOM, защитными ограничениями, проверками атакующими сценариями и эксплуатацией LLM-систем.

Основные моменты из книги следующие

1️⃣ LLM - это не просто модель, а компонент программной системы. У него есть пользователи, контекст, данные, внешние источники, инструменты, среда выполнения, журналы, лимиты, права доступа и последствия действий. Поэтому безопасность нельзя повесить на один фильтр запросов перед моделью.

2️⃣ Промпт инъекции важны, но это не все. Ведь модель имеет доступ к внутренним сервисам, документам, базе знаний или инструментам, риск не в самом тексте, а в том, что он может сдвинуть поведение системы за границу допустимого.

3️⃣ Цепочка поставки в AI становится сложнее обычной цепочки поставки ПО. Кроме библиотек и контейнеров появляются модели, обучающие данные, векторные представления, подключаемые инструменты, шаблоны запросов, наборы для оценки качества и внешние провайдеры. Все это нужно описывать, версионировать, проверять и наблюдать в работе.

4️⃣ Важно выстроить безопасные процессы, а не просто реагировать на инциденты. Книга хорошо подводит к мысли, что безопасность LLM должна жить внутри разработки и эксплуатации: моделирование угроз, тесты, проверки атакующими сценариями, защитные ограничения, централизованные журналы, наблюдение, реакция на инциденты и регулярная переоценка рисков.

Но в 2026 году книгу уже нельзя читать как исчерпывающий справочник. В 2024-м центр тяжести был вокруг чат-ботов, RAG-приложений и LLM как нового класса прикладной безопасности. Сейчас повестка заметно сместилась к агентам: вызов инструментов, автономные рабочие процессы, MCP, память, идентичность, злоупотребление правами, межагентные взаимодействия, наблюдаемость в работе и возможность остановить или откатить действия.

OWASP это тоже отражает: помимо LLM Top 10 уже появились материалы по агентным приложениям и MCP Top 10. Чем больше агент может делать во внешнем мире, тем меньше безопасность похожа на “проверим ответ модели” и тем больше похожа на архитектуру доверия: кто дал цель, какие инструменты доступны, какие права выданы, что агент помнит, что пишется в журналы, кто подтверждает опасные действия и где находится аварийная остановка.

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

#Books #AI #Security #LLM #Architecture #Engineering #DevSecOps
🔥6👍4👌31🥱1
Organizational evolution: From products to user needs | Eugene Sergueev (Рубрика #Management)

Посмотрел доклад Евгения Сергеева про эволюцию инженерной организации во Flo Health, и у меня было очень сильное чувство дежавю. Лет 6 назад я проходил довольно похожий путь: превращение приложения в супер-апп, закон Конвея, обратный маневр Конвея, Team Topologies, попытки понять, где границы команд помогают продукту, а где начинают ломать архитектуру и пользовательский опыт (есть вот такой мой доклад с Techlead Conf).

С Женей мы записывали ряд подкастов (например, про книгу Will Larson), поэтому смотреть выступление было особенно интересно. Но даже без этого личного контекста доклад, мне кажется, очень полезен для технических менеджеров. Он не столько про Flo Health как компанию, сколько про более общий вопрос: как эволюционировать инженерную организацию, когда продукт растет, а структура прошлого постепенно становится ограничением будущего.

Главная мысль доклада простая и правильная: организацию нужно проектировать так же осознанно, как продукт и архитектуру. Организация - это живой продукт. У нее есть пользователи, ограничения, обратная связь, накопленный долг и моменты, когда старое решение перестает работать. В кейсе Flo это хорошо видно. Компания выросла от трекера цикла к большой health-платформе с 70+ млн месячных пользователей. На раннем этапе нормальной могла быть функциональная структура: отдельно мобильная разработка, отдельно web, отдельно backend и другие функции. Потом потребовался переход к более продуктовой модели с автономными командами вокруг каналов и возможностей. Это ускорило рост, но со временем создало новую проблему: разные каналы начали конкурировать за внимание пользователя, а опыт стал фрагментированным.

И следующий сдвиг оказался уже не про “давайте добавим еще одну продуктовую команду”, а про переход к пользовательским сценариям и Jobs-to-be-Done. То есть вопрос меняется с “как развивать конкретную фичу или канал?” на “что нужно пользователю в конкретном жизненном сценарии?”. Для health-продукта это особенно важно: планирование беременности, раннее материнство, разные состояния здоровья - это не набор независимых фич, а связанные пользовательские пути.

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

Еще одна хорошая практика - Organizational Decision Records. По сути, это аналог ADR, только для организационных решений. Почему мы поменяли структуру? Какую проблему решали? Какие альтернативы рассматривали? Какие компромиссы приняли? Это кажется бюрократией ровно до того момента, пока через год никто уже не помнит, почему команды были нарезаны именно так.

Самый практичный пример в докладе - история с экспериментами в онбординге. Если для каждого изменения пользовательского сценария нужно участие инженеров, то узкое место находится не в разработке конкретной фичи, а в способе доставки ценности. Во Flo доля onboarding-экспериментов, которые можно было запускать без инженеров, выросла примерно с 20% до 87%. И это уже меняет культуру: вместо “можем ли мы это построить?” организация чаще спрашивает “давайте быстро проверим”.

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

#Management #Architecture #Engineering #TeamTopologies #Product #Leadership
🔥106👍6💯1
Upper Management Meeting: когда AI выглядит как магия для менеджмента (Рубрика #Management)

Посмотрел "Upper Management Meeting". Это очень смешно и немного грустно, потому что карикатура попадает в знакомое место: про AI действительно очень легко рассказывать красиво. Особенно если ты не очень хорошо понимаешь, как он устроен. В этом и есть управленческая опасность. Проблема не в том, что менеджеры интересуются AI. Это как раз нормально: технология уже влияет на продукты, процессы, разработку, поддержку, аналитику и стоимость работы. Проблема начинается там, где AI воспринимают как магию, а не как инженерный инструмент.

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

Для пользователя это иногда даже хорошо. Нажал кнопку - получил результат. Зачем ему знать, что там внутри? Но для человека, который принимает управленческие решения, такой подход опасен. Если технология выглядит как магия, ей легко приписать любые свойства: “пусть AI решит”, “добавим AI в продукт”, “сократим людей”, “автоматизируем все”, “сейчас модели сами все поймут”. И в этот момент обсуждение перестает быть инженерным, а становится почти ритуальным.

Хорошее AI-решение начинается не с восторга и не с красивой презентации. Оно начинается с более скучных вопросов:
- Какую конкретную задачу мы решаем
- Какие данные для этого нужны
- Какие ограничения есть у модели
- Как проверим качество
- Кто отвечает за ошибку
- Как это встроится в процесс
- Сколько будет стоить эксплуатация
- Что произойдет, если система уверенно сделает не то

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

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

#Management #AI #Engineering #Architecture #Leadership
💯1610👍8🔥1