Агент — агент (A2A)

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

Но реальные системы агентов часто должны взаимодействовать между границами. Агент к агенту (A2A) — это открытый протокол , предназначенный именно для этого. Он определяет стандартный способ обнаружения агентами друг друга, обмена сообщениями и координации задач по протоколу HTTP, через любую границу в любом языке или платформе. Agent Framework предоставляет службу A2A-агента для вызова удалённых агентов и A2A-хостинг для публикации агентов.

Когда это следует использовать

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

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

Tip

Если агенты работают в одном процессе и поддерживаются одной командой, агенты как инструменты проще и меньше накладных расходов. A2A приносит ценность, когда вы пересекаете процесс, услугу или границу организации.

Рекомендации

Consideration Сведения
Совместимость A2A — это независимое от фреймворка решение. Агент .NET может вызывать агент Python, агент LangChain или любой агент, реализующий протокол. Это основная ценность A2A — это "HTTP для коммуникации агентов".
Затраты на сеть Каждый вызов A2A — это HTTP-запрос. Это добавляет задержку по сравнению с встроенными вызовами агента-инструмента. Для путей, чувствительных к производительности, удерживайте агентов в одном месте или используйте A2A только при наличии реальной границы.
Операционная сложность Удаленные агенты — это распределенные службы. Вам нужно обрабатывать сбои сети, время ожидания, повторные попытки и управление версиями— те же проблемы, которые у вас есть с любым взаимодействием между службами.
Обнаружение во время выполнения Карточки агента делают обнаружение динамическим, но вам по-прежнему нужно знать, где искать. В эксплуатации обычно настраиваются известные конечные точки агентов или используется реестр.
Состояние беседы Удаленный агент управляет собственным состоянием беседы по идентификатору контекста. Ваш агент не видит внутренние размышления дистанционного агента — только его ответы. Если удаленный агент перезапускается и теряет состояние, контекст беседы может быть потерян.

Дальнейшие действия

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

Вернитесь глубже: