Бонус: начислена 1 монета за дневную активность. Сейчас у вас 1 монета

Архитектура программного обеспечения: Agent-Friendly Architecture

Лекция



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

Встатье рассмотрены применение старых и новых вдов архитектур для использования с ИИ агентами

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

Для разработки с участием ИИ-агентов появляются не столько полностью новые “классические архитектуры”, сколько архитектурные стили и практики, которые делают проект понятным, изменяемым и безопасным для агента.

Главная идея: ИИ-агенту нужна архитектура с явными границами, маленькими модулями, хорошими контрактами и быстрыми тестами.

Архитектурный подход Насколько удобен для ИИ-агентов Почему удобен Риски / минусы
Модульный монолит Очень высокий Вся система в одном репозитории, но разделена на понятные модули. Агенту легче видеть связи и менять код без распределенной сложности Нужно строго следить за границами модулей
Clean Architecture Высокий Четкие слои: domain, use cases, infrastructure, API. Агенту проще понять, куда добавлять бизнес-логику Может быть много шаблонного кода
Hexagonal Architecture / Ports & Adapters Очень высокий Внешние системы отделены через интерфейсы. Агент может менять адаптер, не ломая домен Для маленьких проектов может быть избыточна
DDD с Bounded Contexts Высокий Хорошо помогает делить сложную бизнес-логику на понятные области Требует хороших названий и документации
Vertical Slice Architecture Очень высокий Код группируется по фичам: CreateOrder, CancelOrder, PayInvoice. Агенту проще менять одну фичу локально Может быть дублирование между фичами
Microservices Средний Каждый сервис можно менять отдельно Агенту сложнее учитывать сеть, контракты, деплой, версии API
Event-Driven Architecture Средний / низкий Хорошо разделяет части системы Агенту сложнее отследить последствия событий и асинхронные цепочки
Layered Architecture Средний Простая и знакомая структура Часто бизнес-логика размазывается по сервисам, агент может ошибиться с местом изменения
Serverless Средний Маленькие функции удобны для локальных изменений Много скрытой платформенной логики, сложнее тестировать end-to-end
Plugin Architecture Высокий Агент может добавлять новые плагины без изменения ядра Нужно хорошо спроектировать API плагинов

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

Лучшие архитектуры именно для AI-assisted development

три наиболее удобных варианта.

1. Модульный монолит + Clean/Hexagonal в контексте ИИ агентов

Это, пожалуй, самый практичный вариант.

app/
  modules/
    orders/
      domain/
      application/
      infrastructure/
      api/
    payments/
      domain/
      application/
      infrastructure/
      api/
    users/
      domain/
      application/
      infrastructure/
      api/

Почему хорошо для ИИ:

Задача: "добавь отмену заказа"

Агент понимает:
- идти в modules/orders
- бизнес-правила искать в domain
- сценарий отмены писать в application
- endpoint добавить в api
- работу с БД положить в infrastructure

Это снижает шанс, что агент начнет менять все подряд.

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

Пример:

OrderService
 ├─ использует PaymentPort
 ├─ использует NotificationPort
 └─ не знает, Stripe там, PayPal или mock

Для ИИ-агента это важно, потому что он может:

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

Таком образом:: модульный монолит дает агенту понятные границы, а Clean/Hexagonal дает безопасные точки изменения.

Архитектура программного обеспечения:   Agent-Friendly Architecture

2. Vertical Slice Architecture в контексте ИИ агентов

Очень удобна для фичевой разработки с агентами.

features/
  orders/
    create-order/
      command.ts
      handler.ts
      validator.ts
      tests.ts
    cancel-order/
      command.ts
      handler.ts
      validator.ts
      tests.ts
  payments/
    pay-invoice/
      command.ts
      handler.ts
      tests.ts

Главная особенность: код лежит по пользовательским сценариям, а не только по техническим слоям.

Это удобно для промптов типа:

Добавь фичу "cancel order"

Агенту проще создать новую папку фичи и не трогать лишнее.

Недостаток: общую бизнес-модель все равно нужно держать аккуратно, иначе будет дублирование правил.

Главная идея:

одна бизнес-возможность = один вертикальный срез кода.

Это помогает агентам:

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

Таком образом:: Vertical Slice Architecture делает кодовую базу похожей на набор понятных задач, а не на лабиринт слоев.

Архитектура программного обеспечения:   Agent-Friendly Architecture

3. Plugin / Extension Architecture в контексте ИИ агентов

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

core/
  plugin-api.ts
  plugin-loader.ts

plugins/
  export-to-pdf/
  telegram-notifications/
  stripe-payments/
  ai-summary/

Почему удобно:

Новая возможность = новый плагин
Меньше риска сломать ядро системы

Это особенно полезно для IDE, CMS, внутренних платформ, automation-систем, SaaS с расширениями.

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

Что делает архитектуру “дружественной к ИИ-агентам”

Принцип Почему помогает
Маленькие файлы Агенту проще читать и менять код
Явные границы модулей Меньше случайных изменений не там
Хорошие названия Агент лучше понимает смысл кода
Контракты и интерфейсы Меньше риска сломать интеграции
Тесты рядом с фичей Агент может быстрее проверить изменение
ADR-документы Агент понимает архитектурные решения
README внутри модулей Объясняет, как модуль устроен
Схемы API/OpenAPI/GraphQL schema Агент видит точные контракты
Статическая типизация TypeScript, Kotlin, C#, Go, Rust помогают ловить ошибки
Линтеры и форматтеры Агент пишет более единообразный код

Главная идея: ядро задает правила, плагины добавляют поведение.

Для ИИ-агентов это полезно, потому что:

  • можно добавлять функции без изменения ядра;
  • каждый плагин имеет понятный контракт;
  • проще тестировать и отключать расширения;
  • безопаснее ограничивать доступы и permissions;
  • агент может генерировать новый плагин по шаблону;
  • интеграции с API, LLM, базами и сервисами изолированы.

Таком образом: Plugin / Extension Architecture дает агенту безопасные “точки расширения”, куда можно добавлять новые возможности, не ломая основную систему.

Архитектура программного обеспечения:   Agent-Friendly Architecture

Плохие варианты архитектур для ИИ-агентов

Подход Почему неудобен
Большой неструктурированный монолит Агент не понимает, где настоящая бизнес-логика
God Service / God Object Слишком много ответственности в одном месте
Скрытая магия фреймворка Агент может не понять, как реально вызывается код
Сильная связанность между модулями Маленькое изменение ломает много мест
Много неявных side effects Агенту сложно предсказать последствия
Слабые тесты или их отсутствие Агент не может безопасно проверять изменения
Слишком много микросервисов на старте Много сетевой и инфраструктурной сложности

Практическая рекомендация

Для большинства проектов, которые будут активно разрабатываться с ИИ-агентами, я бы выбрал:

Модульный монолит
+ Vertical Slice для фич
+ Hexagonal/Clean внутри сложных модулей
+ DDD для сложной бизнес-логики
+ строгая типизация
+ тесты рядом с кодом

Пример:

src/
  modules/
    orders/
      domain/
        order.entity.ts
        order-status.ts
        order-policy.ts

      features/
        create-order/
          create-order.command.ts
          create-order.handler.ts
          create-order.test.ts

        cancel-order/
          cancel-order.command.ts
          cancel-order.handler.ts
          cancel-order.test.ts

      ports/
        order-repository.ts
        payment-gateway.ts

      adapters/
        postgres-order-repository.ts
        stripe-payment-gateway.ts

      api/
        order.controller.ts

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

agent-friendly architecture / AI-Native Development Architecture

То есть архитектура, специально оптимизированная не только под людей, но и под ИИ-агентов, которые читают код, планируют изменения, запускают тесты, рефакторят и создают pull request’ы.

Важно: это пока не каноническая архитектура с единым названием, а формирующийся стиль. Свежие материалы OpenAI, Martin Fowler и статьи 2025–2026 годов больше говорят о переходе к AI-native engineering, agentic workflows и необходимости архитектуры, где человек больше занимается дизайном и контролем, а агент — реализацией.

Архитектура программного обеспечения:   Agent-Friendly Architecture

Чем она отличается от обычной архитектуры

Обычная архитектура оптимизировалась под:

Раньше Теперь добавляется
удобство человека-разработчика удобство ИИ-агента
масштабирование системы масштабирование изменений в коде
performance/runtime agent navigability
deploy независимость task locality
чистый код машинно-понятный контекст
документация для людей executable/context документация для агентов

Главная идея:

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

Agent-Friendly Architecture — это способ проектировать продукт, кодовую базу или систему так, чтобы с ней было удобно работать AI-агентам.

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

Обычно это значит:

  • Понятная структура проекта: где лежит логика, тесты, конфиги, документация.
  • Хорошая документация для агента: например README, AGENTS.md, инструкции по запуску и стилю кода.
  • Автоматические проверки: тесты, линтеры, CI, чтобы агент мог сам проверить изменения.
  • Маленькие независимые модули: агенту проще менять одну часть, не ломая все.
  • Явные контракты: API, типы, схемы данных, примеры входов и выходов.
  • Безопасные операции: staging-среда, dry-run, ограничения на доступ к секретам и продакшену.

Как могла бы выглядеть новая архитектура

Условно ее можно назвать:

Agent-Oriented Modular Architecture

Или короче:

AOMA — Agent-Oriented Modular Architecture

Это не официальный стандарт, а хорошее рабочее название.

Ее суть:

Система делится не только на модули, а на agent-friendly workspaces:

  • - каждый модуль имеет явный контракт
  • - каждая фича имеет локальный контекст
  • - рядом лежат тесты
  • - есть README для агента
  • - есть machine-readable спецификации
  • - архитектурные правила проверяются автоматически

Пример структуры:

src/
  modules/
    orders/
      AGENT.md
      README.md
      module.contract.yaml

      domain/
        order.ts
        order-policy.ts

      features/
        create-order/
          task.md
          create-order.handler.ts
          create-order.test.ts

        cancel-order/
          task.md
          cancel-order.handler.ts
          cancel-order.test.ts

      ports/
        order-repository.ts
        payment-gateway.ts

      adapters/
        postgres-order-repository.ts
        stripe-payment-gateway.ts

      architecture.rules.ts

Главная новая особенность

Не просто “чистые слои”, а кодовая база как навигационная среда для агента.

То есть архитектура отвечает не только на вопрос:

Как системе работать?

но и на вопрос:

Как ИИ-агенту безопасно менять эту систему?

Основные принципы такой архитектуры

Принцип Что означает
Task locality Одна задача должна затрагивать минимум файлов
Context capsules У каждого модуля есть свой короткий контекст: README, AGENT.md, контракты
Executable contracts Контракты проверяются тестами, схемами, типами, линтерами
Vertical slices Код группируется вокруг фич, а не только вокруг технических слоев
Typed boundaries Границы модулей выражены типами и интерфейсами
Fast feedback Агент может быстро запустить локальный тест конкретной фичи
No hidden magic Минимум неявного поведения фреймворка
Change maps Документация говорит, куда идти для типовых изменений
Architecture tests Автотесты проверяют, что модули не нарушают границы

Чем это отличается от Clean Architecture

Clean Architecture Agent-Oriented Architecture
защищает бизнес-логику от фреймворков защищает кодовую базу от хаотичных изменений агента
строится вокруг слоев строится вокруг задач, модулей и контекста
хорошо для людей хорошо для людей + ИИ
главный принцип — dependency rule главный принцип — локальность изменения и понятный контекст
документация желательна документация для агента обязательна

Чем отличается от микросервисов

Микросервисы дают независимый deploy, но не всегда удобны для ИИ-агента: агенту сложнее учитывать сеть, API-версии, distributed transactions, observability и асинхронные эффекты.

В 2026 уже появляются обсуждения и даже бенчмарки, сравнивающие, в каких архитектурах агентам легче работать. Например, материалы о ModulithBench утверждают, что модульный монолит может быть удобнее для reasoning агентов, чем микросервисы, из-за локальности и меньшей распределенной сложности. Это не окончательный научный консенсус, но направление показательное.

Практический вариант “новой” архитектуры

Для реального проекта я бы выбрал такую формулу:

Agent-Oriented Modular Architecture =
  Modular Monolith
  + Vertical Slice Architecture
  + Hexagonal boundaries
  + DDD для сложных доменов
  + AGENT.md в каждом модуле
  + architecture tests
  + typed contracts
  + локальные тесты на каждую фичу

Пример AGENT.md

# Orders Module — Agent Guide

Purpose:
This module manages order lifecycle.

Allowed changes:
- Add new order features inside features/
- Put business rules in domain/
- Use ports/ for external dependencies

Do not:
- Call payment provider directly from domain/
- Import infrastructure from domain/
- Modify payments module without updating contract tests

Common tasks:
- New order action → create folder in features/
- New persistence logic → update adapter + repository port
- New business rule → update order-policy.ts and tests

Это очень полезно: агент не просто “угадывает”, куда писать код, а получает локальную инструкцию.

Итог

Абсолютно новой, официально признанной архитектуры пока нет. Но реально формируется новый стиль:

Agent-Friendly / AI-Native / Agent-Oriented Architecture

Его главная особенность:

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

На практике лучшая база для этого сейчас — модульный монолит + vertical slices + typed contracts + локальная документация для агентов.

Вау!! 😲 Ты еще не читал? Это зря!

создано: 2026-06-02
обновлено: 2026-06-03
1



Помог ли вам этот ответ?
Нажмите оценку и напишите коротко почему. Так мы сможем сделать следующие ответы точнее и полезнее.
Насколько вы довольны ответом?
Ваш отзыв напрямую влияет на качество следующих подсказок и ответов.


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выполнения задания
  • Возможно применение функции гаранта на сделку
  • Приоритетная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можете продать (как исполнитель) или купить (как заказчик) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно применение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии

Оставить комментарий

Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Лекции и учебник по "Разработка программного обеспечения и информационных систем"

Термины: Разработка программного обеспечения и информационных систем