02.08.2026 129 материалов

AML: фреймворк, который позволит собирать AI-агентов как React-компоненты

Новый фреймворк Agent Markup Language позволяет описывать цепочки AI-агентов в привычном для фронтенд-разработчиков JSX-синтаксисе. Разберёмся, что это даёт на практике и где подвох.

AML: фреймворк, который позволит собирать AI-агентов как React-компоненты

Склеивающий код между AI-агентами превращается в основную головную боль. AML пытается решить это, упаковывая логику оркестрации в декларативный JSX — но давайте не будем путать читаемость с надёжностью.

Проблема: клей между агентами

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

С OpenAI Codex SDK можно запускать потоки (threads), получать ответы, передавать их следующему агенту через промпт. Код рабочий, но монотонный: управление порядком выполнения, извлечение результатов, склейка промптов вручную. Когда агентов становится пять-шесть, этот клей начинает занимать больше времени на чтение, чем сама бизнес-логика.

Что предлагает AML

Agent Markup Language — это фреймворк с открытым исходным кодом (лицензия MIT), который позволяет описывать взаимодействие AI-агентов через JSX-синтаксис, знакомый каждому React-разработчику.

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

function ReleaseReview() {
  return (
    <Agent provider={Codex} system="Синтезируй данные, не выдумывая факты.">
      ## Проверка корректности
      <Agent provider={Codex}>Проверь текущий diff на ошибки.</Agent>
      ## План тестов
      <Agent provider={Codex}>Напиши минимальный план тестов.</Agent>
      Напиши одну рекомендацию по релизу.
    </Agent>
  )
}

Дочерние агенты выполняются слева направо, их результаты подставляются туда, где они указаны в JSX. Родительский агент стартует только после того, как оба дочерних завершат работу.

Похоже на React, но не React

Авторы AML сознательно скопировали ментальную модель React-компонентов: функции упаковывают поведение, пропсы несут входные данные, JSX визуально показывает потоки данных. При этом AML — не React и даже не его обёртка.

Фреймворк поддерживает:

  • Без пропсов — простые агенты без входных параметров
  • Массивы и объекты в пропсах — как в обычном React
  • Вложенных потомков — агент может принимать результаты других агентов
  • Условный рендеринг — boolean-пропс определяет, запускать агента или вернуть текст
  • FollowUp — продолжение диалога в той же сессии после сбора всех данных

Контроль потока остаётся за разработчиком. Выходные данные агентов — это просто данные, AML не исполняет сгенерированный моделью JSX как новый рабочий процесс. Это важный архитектурный выбор: никто не может «промпт-инжектировать» новый workflow.

Критический взгляд

Статья красивая, но есть нюансы, которые стоит учитывать.

Первое. Синтаксический сахар — это хорошо, но он не решает фундаментальные проблемы мультиагентных систем. Как верно заметил один из комментаторов: «Reusable agents need inputs, outputs, failure modes, ownership, and stop conditions, not just a clever prompt. Otherwise composition becomes nested uncertainty.» И он прав — AML делает код читаемым, но не гарантирует, что агенты будут вести себя предсказуемо.

Второе. Фреймворк привязан к конкретному провайдеру — OpenAI Codex SDK. Хотя в теории можно подставить другого провайдера, на практике все примеры в документации используют Codex. Это создаёт вендор-лок-ин.

Третье. AML находится на ранней стадии разработки. Использовать такое в продакшене — авантюра. Проекту нужна зрелая экосистема, тесты и реальные кейсы от сообщества.

Кому это нужно

AML может пригодиться разработчикам, которые уже строят сложные AI-пайплайны и устали от императивного «клея». JSX-синтаксис снижает порог входа для фронтендеров и делает workflow читаемым — но это не замена нормальной архитектуре.

Если вы только начинаете работать с AI-агентами, начните с императивного подхода и понимания потоков данных. AML пригодится, когда вы достигнете того масштаба, где клей действительно начинает болеть.


Проект доступен на GitHub под лицензией MIT.