Разборы · Статья: · Видео: · 19:38
Строй системы, а не код: как проектировать агентов инженерными навыками
Разбор доклада Энджи Джонс с AI Engineer: почему сборка AI-агентов — это по-прежнему software engineering, и как старые навыки (декомпозиция, контракты, идемпотентность, threat modeling) спасают агентные системы от превращения в один гигантский промпт.
Смотреть на YouTube Build Systems, Not Code - Angie Jones, Agentic AI Foundation
AI Engineer · 19:38
Главы видео — нажми, чтобы перейти к моменту 10
- 0:00 Тревога разработчика и уровень выше Агенты забирают «весёлую» часть кодинга — но кайф возвращается, если строить не код, а системы из агентов.
- 1:02 Relocation Scout — сквозной пример Агент для поиска жилья: разовый промпт «поранжируй объявления» работает, но дом за день не найдёт — нужна переиспользуемая система с памятью.
- 1:39 Системное мышление Агент — не система, а её часть. У него есть границы, зависимости и способы сломаться, как у любого компонента.
- 2:54 Дизайн воркфлоу Агенту мало цели — нужен путь. Каждый прогон кончается одним из трёх: stop, retry или escalate.
- 4:10 Гигантский промпт как code smell и декомпозиция Промпт разрастается правилами и исключениями, пока не начинает делать всё. Решение — разбить его на отдельные задачи.
- 6:04 Разделение ответственности и модульность Нормализация — в скилл, формат вывода — в схему, расчёт — в скрипт, ресёрч района — в сабагент. Скиллы и сабагенты переиспользуются.
- 9:09 Алгоритмическое мышление: код, агент, человек Точный ответ — код, интерпретация и суждение — агент, авторитетное решение — человек.
- 10:43 Контракты и запрашиваемая память Когда вывод агента читает другая система, нужен не свободный текст, а структурированный контракт в памяти, который можно запросить.
- 12:54 Состояние и идемпотентность Вебхуки срабатывают дважды, прогоны падают. Агент должен знать своё состояние и не отправлять письмо риелтору повторно.
- 15:30 Threat modeling и поддерживаемость Внешний контент — это evidence, а не инструкции; опасные действия — за стеной аппрува. Каждый уровень системы документирован для холодного старта.
Коротко
Проектирование агентов — это не новая дисциплина, а те же инженерные навыки: системное мышление, декомпозиция, контракты, управление состоянием и безопасность. Разница только в примитивах — вместо классов и сервисов у вас промпты, скиллы, скрипты и сабагенты, но дисциплина ровно та же.
Выжимка голосом
Самое ценное из разбора — за пару минут
Показать текст выжимки Скрыть текст выжимки
Озвучено синтезом речи · голос alena
Объясни проще
Суть без жаргона
Простыми словами
Многие боятся, что AI-агенты забирают у разработчиков всё интересное — само написание кода — и оставляют скучное. Энджи Джонс отвечает: поднимись на уровень выше и строй не код, а системы из агентов. Тогда снова включаются классические инженерные навыки: продумать всю систему, разбить большую задачу на части, положить каждую ответственность на своё место, договориться о формате данных между шагами, обработать сбои и повторные запуски, ограничить права агента. На примере агента для поиска жилья она показывает, что «пусть кодинг-агент всё сам соберёт» — плохая идея, потому что получится один огромный неподдерживаемый промпт.
Как ребёнку
Представь, что у тебя есть робот-помощник, который ищет новый дом для семьи. Можно просто сказать ему «найди хороший дом» — и он запутается. А можно построить ему целый распорядок: сначала собери объявления, потом сравни с тем, что нам важно, потом покажи маме короткий список, и только с её разрешения звони риелтору. Ты не пишешь за робота каждое движение — ты строишь ему понятную систему правил и проверок, чтобы он не наделал глупостей.
Аналогия — «это как…»
Это как разница между «приготовить одно блюдо по рецепту» и «открыть ресторан». Разовый промпт — это одно блюдо: сделал и забыл. Агентная система — это кухня со станциями, заготовками, стандартами подачи и правилом «одно и то же блюдо не готовить дважды, если заказ уже ушёл». Повар всё тот же, но теперь он проектирует процесс, а не машет ножом.
Зачем это мне
Если вы думаете, что эра агентов обесценивает опыт разработчика, доклад показывает обратное: именно инженерная зрелость определяет, будет ли ваша агентная система работать в проде или развалится под собственными промптами. Это переопределяет ценность специалиста — умение архитектурить систему становится важнее умения быстро печатать код, который теперь пишет агент.
Для тех, кто в теме
Джонс маппит классические software-практики на агентные примитивы: systems thinking → границы и зависимости агента как компонента; decomposition → разбор giant prompt на distinct jobs; separation of concerns → размещение логики в skill / schema / script / sub-agent; algorithmic thinking → code для детерминизма, agent для суждения, human для авторитета; contracts → структурированный queryable memory-layer (у неё Compendium Wiki) вместо free-form текста; idempotency → enforced state-log против недетерминированных повторов; threat modeling → untrusted input как evidence-not-instructions, least privilege, blast radius; maintainability → AGENTS.md на каждом уровне и cold-start-тест из свежего контекста.
Оценка видео
Чем выше — тем больше пользы на минуту
средняя из 5
Тема «как правильно строить агентные системы, а не разовые промпты» — в самом центре повестки 2026 года.
Десяток инженерных навыков разобран на одном сквозном примере, без воды — но всё же обзорно, без глубокого погружения в каждый.
Сильный рефрейм «агенты = software engineering», но сами принципы (декомпозиция, контракты, идемпотентность) для инженеров не новы.
Даёт готовый чек-лист навыков и конкретные правила: что в скилл, что в скрипт, что за аппрув.
Один пример Relocation Scout протянут через весь доклад — каждая абстракция сразу приземляется на понятную задачу.
Кому будет полезно
Чем выше оценка — тем больше пользы для профессии. Разверни — почему.
Для разработчиков AI-агентов 5 /5
Прямое попадание: доклад — это, по сути, чек-лист навыков проектирования агентных систем, от воркфлоу до идемпотентности и threat modeling.
Для бэкенд- и платформенных инженеров 4.6 /5
Все аналогии — из их мира: separation of concerns, контракты между сервисами, идемпотентные ретраи, least privilege. Переносится один в один.
Для тимлидов и архитекторов 4.4 /5
Помогает выстроить процесс и стандарты команды: почему нельзя «пусть кодинг-агент сам всё соберёт» и как заложить поддерживаемость.
Для QA- и test-инженеров 3.9 /5
Автор из мира тестирования; акценты на границы отказа, ретраи, состояние и «lint pass» для агентов близки инженеру по качеству.
Для продакт-менеджеров AI-продуктов 3.4 /5
Даёт словарь и рамку, чтобы обсуждать с инженерами, почему агент «плывёт» и где нужны аппрувы человека, но без продуктовой конкретики.
Инсайты
Нажми, чтобы раскрыть — то, что меняет взгляд на тему
01 Кайф от разработки не уходит — он переезжает на уровень выше 0:21
Страх «агенты забирают интересное» держится на допущении, что интересное — это набор кода руками. Стоит переопределить работу как проектирование систем из агентов — и включаются те же инженерные мышцы, что и раньше.
02 Агент — это компонент, а не система 1:39
Ключевой сдвиг взгляда: перестать думать «мой агент» и начать думать «система, в которой агент — одна деталь с границами, зависимостями и режимами отказа». Тогда «пусть кодинг-агент сам всё построит» перестаёт звучать разумно.
03 Гигантский промпт — это тот же code smell, что и божественный класс 4:10
Разросшийся промпт с правилами и исключениями — не особенность работы с LLM, а знакомый запах плохой архитектуры. И лечится он тем же самым: декомпозицией и разделением ответственности.
04 Свободный текст — тупик для системы 11:40
Красивый ответ агента прекрасен, пока его читает человек. Как только вывод должен использовать другой шаг системы, текст превращается в тупик: решение теряется в сессии. Ценность рождается из структурированной, запрашиваемой памяти.
05 Модели нельзя доверять повтор — идемпотентность придётся навязать снаружи 12:54
В обычном софте ретрай безопасен, если код идемпотентен. С агентом появляется ловушка: при повторе модель может слегка переформулировать задачу так, что она выглядит новой. Значит, состояние надо фиксировать и проверять в системе, а не полагаться на модель.
Ключевые цитаты
Сильные фразы из видео — нажми тайм-код, чтобы услышать в оригинале
«Пусть забирают. Потому что стоит подняться всего на один уровень выше — и кайф от создания всё ещё там.»
«Агенту мало цели — ему нужен путь.»
«Это четыре разные задачи, впихнутые в один промпт. А потом вы удивляетесь, почему агент плывёт и не держится сценария. Сценарий просто слишком длинный.»
«Используй код для детерминизма, агента — для суждения, а человека — для авторитета.»
«Обещаю, автоматизацию придумал не искусственный интеллект.»
«Если вы не можете сказать, как должен выглядеть вывод, — значит, вы ещё не до конца понимаете, что просите агента произвести.»
«Относитесь ко всему этому как к недоверенному вводу и чётко дайте агенту понять: это улики, а не инструкции.»
«Проектирование агентов — это software engineering. Примитивы другие, но дисциплина та же. Мы всё ещё строим — просто поднялись на уровень выше.»
Полезные советы
Что можно применить уже сегодня. Разверни совет — сколько займёт, что даст и что конкретно делать
1 Не отдавай проектирование агента кодинг-агенту
до старта проекта система, которую можно поддерживать и обновлять, а не свалка промптов
Не отдавай проектирование агента кодинг-агенту
Кодинг-агент соберёт что-то технически работающее, но, скорее всего, с гигантским промптом и без нормального разделения ответственности. Архитектуру задавай сам, а реализацию отдельных частей уже можно делегировать.
2 Опиши путь агента, а не только цель
30 минут предсказуемое поведение вместо дрейфа
Опиши путь агента, а не только цель
Цель («оцени объявление») не говорит, что должно произойти. Пропиши воркфлоу: собрать нужное, взвесить по критериям, действовать — и три возможных исхода прогона.
Что делать
- 1 Сформулируй цель шага одной фразой.
- 2 Распиши, какие данные агент собирает и по каким критериям взвешивает.
- 3 Определи для каждого прогона три ветки: stop, retry, escalate.
3 Разбери разросшийся промпт на отдельные задачи
1 час агент перестаёт плыть и держится сценария
Разбери разросшийся промпт на отдельные задачи
Если промпт оброс исключениями и делает всё сразу — найди спрятанные внутри отдельные работы и вытащи их наружу. Короткий сценарий агент выполняет надёжнее длинного.
Что делать
- 1 Выпиши все задачи, которые сейчас делает один промпт.
- 2 Для каждой реши, где её место: скилл, схема, скрипт или сабагент.
- 3 Оставь в основном промпте только оркестрацию, а не всю логику.
4 Разложи задачи по правилу «код — агент — человек»
20 минут дешевле, надёжнее и без ежедневного разброса результата
Разложи задачи по правилу «код — агент — человек»
Если у задачи есть точный ответ — бери код (расчёт маршрута, дедуп). Если нужна интерпретация и суждение — бери агента. Если нужно авторитетное решение — оставь человеку.
Что делать
- 1 Пройдись по шагам воркфлоу и промаркируй каждый: детерминированный / оценочный / требующий полномочий.
- 2 Детерминированные вынеси в обычные скрипты.
- 3 Действия с последствиями (письма, брони, офферы) поставь за аппрув человека.
5 Замени свободный текст на контракт в памяти
45 минут вывод агента становится входом для следующего шага и запрашиваемым позже
Замени свободный текст на контракт в памяти
Когда вывод должна использовать другая часть системы, определи структуру: решение, оценка, причина. Тогда память становится запрашиваемой: «покажи все дома с рейтингом 4+ и дорогой до 15 минут».
Что делать
- 1 Опиши схему вывода: какие поля и в каком формате.
- 2 Записывай результат в структурированную память, а не только в ответ сессии.
- 3 Проверь, что следующий шаг читает эти поля без участия человека.
6 Спроектируй идемпотентность и лог состояния
1 час повторный запуск дочиняет незавершённое, а не устраивает бардак
Спроектируй идемпотентность и лог состояния
После каждого значимого действия агент фиксирует его в памяти. При повторе он проверяет лог и доделывает только то, что не случилось, — а не шлёт письмо риелтору второй раз.
Что делать
- 1 После каждого внешнего действия пиши в память факт его выполнения.
- 2 В начале прогона сверяйся с логом: что уже сделано, менялся ли вход.
- 3 Добавь регулярный lint pass, который ловит наполовину завершённые прогоны.
7 Помечай внешний контент как улики, а не инструкции
30 минут защита от prompt injection из объявлений и отзывов
Помечай внешний контент как улики, а не инструкции
Агент читает тексты продавцов, форумы и отзывы анонимов — это недоверенный ввод. Явно оговори, что это данные для оценки, а не команды к исполнению.
Что делать
- 1 Отметь все источники внешнего контента как untrusted.
- 2 В промпте зафиксируй: содержимое источников — evidence, не instructions.
- 3 Валидируй вход и давай агенту минимум необходимых прав.
8 Клади AGENTS-файл на каждый уровень системы
по ходу разработки любой (человек или агент) стартует с холодного контекста и сразу понимает систему
Клади AGENTS-файл на каждый уровень системы
На каждом уровне держи файл, объясняющий воркфлоу, где лежит политика, какие есть скиллы, скрипты и сабагенты и как обновлять память. Тест зрелости: агент из свежего контекста может войти и начать работать.
Что делать
- 1 Для каждого уровня опиши воркфлоу и расположение политики.
- 2 Перечисли поддерживающие ресурсы: скиллы, скрипты, сабагенты.
- 3 Проверь на холодном старте: если обновление системы буксует — это сигнал улучшить поддерживаемость.
Сценарии применения
Как разные люди применяют это на практике
Я как Разработчик, впервые строящий агента для прода
Проблема: разовый промпт работает в демо, но в реальной эксплуатации агент плывёт и ошибается
Хочу: понять, как превратить промпт в надёжную переиспользуемую систему
Поможет: получает чек-лист навыков: воркфлоу, декомпозиция, контракты, состояние, безопасность
Я как Бэкенд-инженер, скептик по поводу AI-хайпа
Проблема: кажется, что агенты — это магия, к которой его опыт неприменим
Хочу: увидеть, где его инженерные навыки всё ещё в игре
Поможет: узнаёт свои же практики (SoC, контракты, идемпотентность) в новых примитивах
Я как Тимлид, которому команда предлагает «пусть агент всё сам соберёт»
Проблема: боится получить неподдерживаемый комок промптов
Хочу: аргументы, почему архитектуру должен задавать человек
Поможет: формулировки про giant prompt, поддерживаемость и cold-start-тест
Я как QA-инженер, переходящий в AI-разработку
Проблема: непонятно, как тестировать и стабилизировать недетерминированного агента
Хочу: рамку для устойчивости: ретраи, состояние, границы отказа
Поможет: идея lint pass, идемпотентности и трёх исходов прогона (stop/retry/escalate)
Я как Инженер по безопасности
Проблема: агент читает недоверенный контент и может выполнять опасные действия
Хочу: применить привычный threat modeling к агентам
Поможет: принципы evidence-not-instructions, least privilege и blast radius
Я как Продакт-менеджер AI-фичи
Проблема: не хватает словаря, чтобы обсуждать с инженерами архитектуру агента
Хочу: понять, где нужен человек в петле и почему
Поможет: правило «код — агент — человек» и понимание аппрувов на опасные действия
Логика повествования
Как устроена аргументация видео — пройди по шагам
-
Предпосылка Разработчики боятся, что агенты забирают интересное 0:21
Тихое чувство тревоги: агенты пишут код, а людям остаётся неблагодарная работа.
-
Аргумент Поднимись на уровень выше — строй системы, а не код 0:41
Когда строишь агентов, а не просто пишешь ими код, включаются те же инженерные мышцы.
-
Аргумент Агент — часть системы, а не сама система 1:39
У него есть границы, зависимости и режимы отказа; относиться к нему нужно как к компоненту.
-
Пример Разросшийся промпт — знакомый code smell 4:10
Relocation Scout копит правила и исключения, пока один промпт не начинает делать четыре разные задачи.
-
Аргумент Лечение — те же практики: декомпозиция и SoC 6:04
Нормализация — в скилл, формат — в схему, расчёт — в скрипт, ресёрч — в сабагент.
-
Аргумент Распредели задачи: код, агент, человек 10:43
Точный ответ — код, суждение — агент, авторитет — человек; вывод фиксируй контрактом.
-
Пример Заложи состояние и безопасность 12:54
Идемпотентность против повторов, untrusted input как улики, опасные действия за аппрувом.
-
Вывод Проектирование агентов = software engineering 18:45
Примитивы другие, дисциплина та же; мы всё ещё строим, просто на уровень выше.
Подробный разбор
Полный разбор — разверни, если нужно глубже
Развернуть подробный разбор Свернуть подробный разбор
Подробный разбор
Доклад Энджи Джонс с конференции AI Engineer построен вокруг одной мысли: тревога разработчиков («агенты забирают интересную часть работы») — это ошибка уровня. Если перестать думать «я пишу код агентами» и начать думать «я строю системы из агентов», то возвращаются ровно те же инженерные мышцы, что были до генеративного AI. Отсюда и название — строить надо системы, а не код.
Вся аргументация держится на одном сквозном примере — Relocation Scout, агенте для поиска жилья. На нём Джонс последовательно проходит десяток классических навыков: системное мышление (агент — компонент, а не система), дизайн воркфлоу (агенту нужен путь, а не только цель, и три исхода прогона — stop/retry/escalate), декомпозицию (гигантский промпт — это code smell), разделение ответственности (нормализация в скилл, формат в схему, расчёт в скрипт, ресёрч района в сабагент), модульность, алгоритмическое мышление (код — агент — человек), контракты и запрашиваемую память, идемпотентность, threat modeling и поддерживаемость.
Самая практичная часть — правило распределения задач и разбор идемпотентности. Пример с письмом риелтору (агент отправил письмо, но упал до блокировки календаря; при повторе он должен дочинить только календарь, а не слать письмо снова) отлично показывает, почему модели нельзя доверять повтор и почему состояние приходится фиксировать в системе. А идея класть AGENTS-файл на каждый уровень и проверять систему «холодным стартом» из свежего контекста — хороший тест зрелости архитектуры.
Стоит ли смотреть целиком
Да, если вы строите или собираетесь строить агентов для реальной эксплуатации, а не демо. Двадцать минут дают компактный чек-лист навыков и словарь, которым удобно объясняться с командой. Если же вы опытный бэкенд- или платформенный инженер, новых техник вы не откроете — ценность в аккуратном мостике между тем, что вы уже умеете, и агентными примитивами. Для новичков в агентах и для тимлидов, отбивающихся от «пусть агент всё сам соберёт», доклад близок к обязательному.
План внедрения
С чего начать — отмечай шаги, прогресс сохранится
Выполнено 0 из 7
Проверь себя
Ответь на вопросы, чтобы материал закрепился
-
1. В чём главный тезис доклада «Build Systems, Not Code»?
-
2. Почему автор против того, чтобы кодинг-агент сам проектировал другой агент?
-
3. Как автор предлагает распределять задачи в агентной системе?
-
4. Зачем вывод агента превращать в структурированный контракт, а не свободный текст?
-
5. В чём ловушка ретраев именно с агентами?
-
6. Как автор советует относиться к контенту из объявлений, форумов и отзывов?
Словарь терминов
Понять незнакомое простым языком
Показать 9 терминов Свернуть словарь
- Агентная система (agentic system)
- Не разовый промпт, а переиспользуемая конструкция из агентов, скиллов, скриптов, схем и памяти, которая переживает отдельную сессию.
- Декомпозиция
- Поиск отдельных задач, спрятанных внутри одного большого промпта, и вынос их в самостоятельные части.
- Разделение ответственности (separation of concerns)
- Принцип «каждой ответственности — своё место»: что-то становится скиллом, что-то схемой, что-то скриптом, что-то сабагентом.
- Сабагент
- Переиспользуемый модуль вроде функции: одна узкая задача, вызывается по надобности и не тащит контекст всей сессии.
- Скилл (agent skill)
- Переиспользуемая способность агента, которую пишешь один раз и подключаешь в разных агентах или воркфлоу — как пакет в обычном коде.
- Контракт
- Согласованная структура данных между двумя системами; для агента — схема вывода, которую может прочитать и использовать следующий шаг.
- Идемпотентность
- Свойство, при котором один и тот же запуск можно выполнить дважды, и второй раз не создаёт беспорядка.
- Threat modeling
- Продумывание угроз: валидация ввода, минимум прав, границы того, что действие может затронуть.
- Blast radius
- Радиус поражения — сколько всего может задеть ошибочное действие агента; его сокращают, ограждая опасные действия аппрувом.
Критический взгляд
Объективно: с какими тезисами можно поспорить и что преувеличено
Все принципы поданы на одном игрушечном примере
Relocation Scout нагляден, но это персональный агент невысокой критичности. Доклад не показывает, как те же практики масштабируются на многопользовательскую систему с высокими требованиями к латентности и SLA.
Сами инженерные принципы не новы — новизна только в рефрейме
Декомпозиция, separation of concerns, идемпотентность и least privilege известны десятилетиями. Ценность доклада — в мостике к агентам, но опытный инженер не узнает здесь новых техник, только новое применение.
«Не давайте кодинг-агенту проектировать агента» подано как аксиома
Тезис опирается на «trust issues» и личный опыт автора, а не на данные. По мере роста моделей граница между «спроектировать» и «реализовать» размывается, и категоричность здесь может устареть.
Стоимость дисциплины почти не обсуждается
Схемы, контракты, память, lint pass и AGENTS-файлы на каждом уровне — это заметный оверхед. Для маленькой разовой задачи разовый промпт может быть рациональнее, но доклад почти не очерчивает, где проходит эта граница.
Взгляни иначе
Новый угол, смежные области и потенциал на стыке — пища для размышлений
Ценность инженера смещается от письма к архитектуре
Если код теперь пишет агент, рыночная стоимость специалиста определяется не скоростью набора, а умением спроектировать систему, которую агенту можно доверить. Это меняет то, чему стоит учиться и что спрашивать на собеседовании.
Это фактически перенос DevOps/SRE-мышления на агентов
Идемпотентность, ретраи, lint pass, границы отказа, blast radius, least privilege — язык надёжности из эксплуатации распределённых систем. Агентные системы — новая площадка, где SRE-практики оказываются едва ли не важнее ML-навыков.
AGENTS-файл на каждом уровне — это онбординг-документ для не-людей
Автор проектирует так, чтобы «холодный» агент вошёл в систему и сразу заработал. По сути это тот же принцип хорошего README и онбординга сотрудника — только теперь читатель может быть машиной. Организационные практики адаптации переезжают в архитектуру.
Недетерминизм — не баг, а место, где заканчивается код
Правило «код для детерминизма, агент для суждения» можно перевернуть: граница между кодом и агентом проходит ровно там, где у задачи перестаёт существовать точный ответ. Проектирование агента — это в первую очередь честная разметка, что в задаче детерминировано, а что нет.
Похожие разборы
Агент со 100 инструментами — это ловушка: почему точность падает и как её вернуть роутингом
Если сваливать в промпт все определения инструментов сразу, агент тонет в контексте: на 741 инструменте точность выбора падает до 13,6%, а промпт раздувается до 127 000 токенов ещё до вопроса пользователя. Лечится это семантическим роутингом — ретривом 3–5 релевантных инструментов под конкретный запрос, который держит точность выше 83% и режет токены на инструменты почти на 99%.
Читать → РазборКак писать сильные скиллы для ИИ-агентов: чеклист из четырёх осей
Скиллы для ИИ-агентов расплодились, но нет рубрики, чтобы отличить хороший от плохого, — и люди тонут в «скилл-аде». Доклад даёт чеклист из четырёх осей (триггер, структура, стиринг, прунинг), а главный приём — «ведущие слова», которыми агента направляют небольшими, но точными формулировками.
Читать → РазборМодель предлагает — платформа решает: инфраструктура надёжности для автономных ИИ-агентов
При переходе от чатботов к автономным агентам узкое место смещается с интеллекта модели на надёжность инфраструктуры вокруг неё. Модель должна лишь предлагать действия, а проверять, одобрять и исполнять их обязана детерминированная платформа — и именно она, а не лучший промпт, становится конкурентным преимуществом.
Читать → РазборDomain-specific агенты: почему будущее за роем узких ИИ, а не за одним всемогущим
Компании пытаются интегрировать ИИ, навешивая на один большой агент всё больше MCP и skills — и упираются в раздувание контекста и хрупкость. Автор доказывает, что будущее за композицией: рой узких доменных агентов, каждый со своей моделью, инструментами и памятью, координируемых на обычном языке — это дешевле, безопаснее и масштабируется.
Читать →