Nowy Stack dla Agentów AI: A2A, MCP, Kafka, Flink

Internet ewoluuje. Przechodzimy od sieci zaprojektowanej do przeglądania stron internetowych przez ludzi do infrastruktury wspierającej autonomiczne agenty współpracujące w różnych systemach. Ten nowy paradygmat wymaga zasadniczo innego stosu, opartego na otwartych komponentach, które ułatwiają płynną komunikację, wykorzystanie narzędzi i przetwarzanie w czasie rzeczywistym.

W sercu tego powstającego stosu znajdują się cztery kluczowe technologie:

  • Agent2Agent (A2A): Opracowany przez Google, A2A to protokół, który umożliwia agentom odkrywanie się nawzajem i komunikowanie się ze sobą. Zapewnia on standardowy sposób agentom na ogłaszanie swoich możliwości, wymianę zadań i przesyłanie aktualizacji.
  • Model Context Protocol (MCP): Zapoczątkowany przez Anthropic, MCP to standard użycia narzędzi i kontekstu zewnętrznego. Określa on, jak agenty mogą uzyskiwać dostęp do zewnętrznych interfejsów API i narzędzi oraz z nich korzystać, umożliwiając im interakcję z rzeczywistym światem.
  • Apache Kafka: Rozproszona platforma strumieniowego przesyłania zdarzeń, która działa jak centralny układ nerwowy komunikacji agentów. Kafka zapewnia niezawodny i skalowalny sposób koordynowania interakcji między agentami.
  • Apache Flink: Silnik przetwarzania w czasie rzeczywistym, który wzbogaca, monitoruje i reaguje na strumienie aktywności agentów. Flink umożliwia agentom reagowanie w czasie rzeczywistym na zdarzenia, podejmowanie decyzji i koordynowanie złożonych przepływów pracy.

Wyzwanie Fragmentacji Ekosystemów Agentów

Obecnie rozwój agentów AI stoi przed znacznymi wyzwaniami związanymi z fragmentacją i brakiem interoperacyjności. Wyzwania te utrudniają tworzenie solidnych i skalowalnych systemów AI:

  • Izolowane Agenty: Agenty często działają w silosach, nie mogąc się komunikować ani wymieniać informacji. Na przykład agent CRM może nie być świadomy spostrzeżeń odkrytych przez agenta hurtowni danych, co prowadzi do utraconych szans i nieefektywności.
  • Kruche Użycie Narzędzi: Bez ustandaryzowanych protokołów do wywoływania narzędzi i interfejsów API, agenty polegają na zakodowanych integracjach, które są trudne do utrzymania i ponownego wykorzystania. Ogranicza to ich zdolność do dostosowywania się do zmieniających się środowisk i integracji z nowymi systemami.
  • Niespójne Frameworki: Różne środowiska uruchomieniowe agentów wykorzystują różne modele, traktując agenty jako chatboty, skierowane grafy acykliczne (DAG) lub rekurencyjne planery. Ten brak spójności utrudnia tworzenie przenośnych i interoperacyjnych agentów.
  • Rozwój Skoncentrowany na Prototypach: Wiele agentów jest projektowanych jako jednorazowe prototypy, którym brakuje solidności i skalowalności wymaganej do wdrożeń w świecie rzeczywistym. Często nie zajmują się one krytycznymi kwestiami, takimi jak ponawianie prób, awarie, koordynacja, rejestrowanie i skalowanie.
  • Brak Kręgosłupa Współpracy: Brak centralnej magistrali zdarzeń, pamięci współdzielonej lub identyfikowalnej historii działań agenta utrudnia współpracę i koordynację. Informacje są często uwięzione w bezpośrednich wywołaniach HTTP lub zakopane w logach, co utrudnia zrozumienie i debugowanie zachowania agenta.

Rozwiązaniem nie jest konsolidacja wszystkich agentów w monolityczną platformę, ale zbudowanie współdzielonego stosu opartego na otwartych protokołach, architekturze opartej na zdarzeniach i przetwarzaniu w czasie rzeczywistym. Takie podejście sprzyja interoperacyjności, skalowalności i odporności.

Agent2Agent: Standaryzacja Komunikacji Agentów

Protokół A2A Google jest znaczącym krokiem w kierunku rozwiązania problemu interoperacyjności agentów. Zapewnia on uniwersalny protokół do łączenia agentów, niezależnie od ich pochodzenia lub środowiska uruchomieniowego. Definiując wspólny język dla agentów, A2A umożliwia im:

  • Reklamowanie Możliwości: Agenty mogą ogłaszać swoje możliwości za pomocą AgentCard, deskryptora JSON, który określa, co agent może zrobić i jak z nim wchodzić w interakcje. Umożliwia to innym agentom odkrywanie i wykorzystywanie ich usług.
  • Wymiana Zadań: A2A ułatwia uporządkowane interakcje między agentami za pośrednictwem JSON-RPC, gdzie jeden agent prosi o pomoc innego i otrzymuje w odpowiedzi wyniki lub artefakty. Umożliwia to agentom współpracę nad złożonymi zadaniami.
  • Strumieniowanie Aktualizacji: Agenty mogą przesyłać strumieniowo informacje zwrotne w czasie rzeczywistym podczas długotrwałych lub opartych na współpracy zadań za pomocą zdarzeń wysyłanych przez serwer (SSE). Zapewnia to przejrzystość i umożliwia agentom monitorowanie postępów i reagowanie na zmiany.
  • Wymiana Bogatej Treści: A2A obsługuje wymianę plików, danych ustrukturyzowanych i formularzy, a nie tylko zwykłego tekstu. Umożliwia to agentom udostępnianie złożonych informacji i współpracę nad szerszym zakresem zadań.
  • Zapewnienie Bezpieczeństwa: A2A zawiera wbudowaną obsługę HTTPS, uwierzytelniania i uprawnień, zapewniając bezpieczną komunikację między agentami. Ma to kluczowe znaczenie dla ochrony wrażliwych danych i zapobiegania nieautoryzowanemu dostępowi.

Model Context Protocol: Umożliwienie Użycia Narzędzi i Świadomości Kontekstowej

MCP Anthropic uzupełnia A2A, standaryzując sposób, w jaki agenty używają narzędzi i uzyskują dostęp do kontekstu zewnętrznego. Określa on, jak agenty mogą wywoływać interfejsy API, wywoływać funkcje i integrować się z systemami zewnętrznymi, umożliwiając im interakcję z rzeczywistym światem.

Podczas gdy A2A koncentruje się na tym, jak agenty komunikują się ze sobą, MCP koncentruje się na tym, jak agenty wchodzą w interakcje ze swoim otoczeniem. Razem te dwa protokoły zapewniają kompleksowy plan dla połączonego ekosystemu agentów:

  • MCP wzmacnia inteligencję poszczególnych agentów, zapewniając dostęp do narzędzi i informacji.
  • A2A umożliwia inteligencję zbiorową, ułatwiając komunikację i współpracę między agentami.

Potrzeba Solidnej Infrastruktury Komunikacyjnej

Wyobraź sobie firmę, w której pracownicy mogą komunikować się tylko za pośrednictwem bezpośrednich wiadomości jeden na jednego. Udostępnianie aktualizacji wymagałoby wysyłania wiadomości do każdej osoby indywidualnie, a koordynacja projektów między wieloma zespołami wiązałaby się z ręcznym przekazywaniem informacji między grupami. Wraz z rozwojem firmy takie podejście staje się coraz bardziej chaotyczne i niezrównoważone.

Podobnie ekosystemy agentów zbudowane na bezpośrednich połączeniach stają się kruche i trudne do skalowania. Każdy agent musi wiedzieć, z kim rozmawiać, jak się z nim skontaktować i kiedy jest dostępny. Wraz ze wzrostem liczby agentów liczba wymaganych połączeń rośnie wykładniczo, co sprawia, że ​​system staje się niezarządzalny.

A2A i MCP zapewniają agentom język i strukturę do komunikowania się i działania, ale sam język nie wystarcza. Aby koordynować dużą liczbę agentów w całym przedsiębiorstwie, potrzebna jest solidna infrastruktura do zarządzania przepływem wiadomości i reakcjami agentów.

Apache Kafka i Apache Flink zapewniają infrastrukturę potrzebną do wspierania skalowalnej komunikacji i obliczeń agentów. Kafka działa jako rozproszona platforma strumieniowego przesyłania zdarzeń, a Flink jest silnikiem przetwarzania strumieniowego w czasie rzeczywistym.

Kafka, pierwotnie opracowany w LinkedIn, służy jako trwała, wysokoprzepustowa magistrala wiadomości, umożliwiająca systemom publikowanie i subskrybowanie strumieni zdarzeń w czasie rzeczywistym. Oddziela ona producentów od konsumentów i zapewnia trwałość, powtarzalność i skalowalność danych. Kafka jest szeroko stosowany w różnych aplikacjach, od systemów finansowych po wykrywanie oszustw i potoki telemetryczne.

Flink, również projekt Apache, został zaprojektowany do stanowego, wysokoprzepustowego przetwarzania zdarzeń o niskich opóźnieniach. Podczas gdy Kafka obsługuje przesyłanie danych, Flink obsługuje transformację, wzbogacanie, monitorowanie i orkiestrację tych danych, gdy przepływają one przez system.

Razem Kafka i Flink tworzą potężne połączenie: Kafka jest krwiobiegiem, a Flink jest układem odruchowym. Zapewniają one podstawę do budowania skalowalnych i odpornych ekosystemów agentów.

Tak jak A2A wyłania się jako HTTP świata agentów, Kafka i Flink tworzą podstawę opartą na zdarzeniach, która może wspierać skalowalną komunikację i obliczenia agentów. Rozwiązują problemy, których nie można rozwiązać za pomocą bezpośredniej komunikacji punkt-punkt:

  • Oddzielenie: Dzięki Kafka agenty nie muszą wiedzieć, kto będzie konsumował ich wyjście. Publikują zdarzenia (np. "TaskCompleted", "InsightGenerated") w temacie, a każdy zainteresowany agent lub system może się subskrybować.
  • Obserwowalność i Powtarzalność: Kafka utrzymuje trwały, uporządkowany w czasie dziennik każdego zdarzenia, dzięki czemu zachowanie agenta jest w pełni identyfikowalne, poddawane audytowi i powtarzalne.
  • Podejmowanie Decyzji w Czasie Rzeczywistym: Flink umożliwia agentom reagowanie w czasie rzeczywistym na strumienie zdarzeń, filtrowanie, wzbogacanie, łączenie lub wyzwalanie działań na podstawie dynamicznych warunków.
  • Odporność i Skalowanie: Zadania Flink mogą skalować się niezależnie, odzyskiwać sprawność po awarii i utrzymywać stan w długotrwałych przepływach pracy. Jest to niezbędne dla agentów, którzy wykonują złożone, wieloetapowe zadania.
  • Koordynacja Natywna dla Strumieni: Zamiast czekać na synchroniczną odpowiedź, agenty mogą koordynować się za pomocą strumieni zdarzeń, publikując aktualizacje, subskrybując przepływy pracy i wspólnie rozwijając stan.

Podsumowując:

  • A2A definiuje, jak mówią agenty.
  • MCP definiuje, jak działają na narzędziach zewnętrznych.
  • Kafka definiuje, jak przepływają ich wiadomości.
  • Flink definiuje, jak te przepływy są przetwarzane, przekształcane i zamieniane w decyzje.

Czterowarstwowy Stos dla Agentów AI Klasy Enterprise

Protokoły takie jak A2A i MCP są niezbędne do standaryzacji zachowania i komunikacji agentów. Jednak bez podłoża opartego na zdarzeniach, takiego jak Kafka, i środowiska uruchomieniowego natywnego dla strumieni, takiego jak Flink, agenty te pozostają odizolowane, niezdolne do elastycznej koordynacji, wdzięcznego skalowania lub wnioskowania w czasie.

Aby w pełni zrealizować wizję agentów AI klasy korporacyjnej, interoperacyjnych, potrzebujemy czterowarstwowego stosu:

  1. Protokoły: A2A i MCP definiują co komunikacji agenta i użycia narzędzi.
  2. Frameworki: LangGraph, CrewAI i ADK definiują jak implementacji agenta i zarządzania przepływem pracy.
  3. Infrastruktura Komunikacyjna: Apache Kafka obsługuje przepływ wiadomości i zdarzeń między agentami.
  4. Obliczenia w Czasie Rzeczywistym: Apache Flink obsługuje myślenie, przetwarzając i przekształcając strumienie danych w czasie rzeczywistym.

Ten czterowarstwowy stos reprezentuje nowy stos internetowy dla agentów AI, zapewniając podstawę do budowania systemów, które są nie tylko inteligentne, ale także oparte na współpracy, obserwowalne i gotowe do produkcji.

Przejście w Kierunku Połączonego Ekosystemu Agentów

Jesteśmy w przełomowym momencie ewolucji oprogramowania. Tak jak oryginalny stos internetowy odblokował nową erę globalnej łączności, tak pojawia się nowy stos dla agentów AI. Stos ten jest zbudowany dla autonomicznych systemów współpracujących w celu rozumowania, podejmowania decyzji i działania.

A2A i MCP zapewniają protokoły komunikacji agentów i użycia narzędzi, podczas gdy Kafka i Flink zapewniają infrastrukturę do koordynacji w czasie rzeczywistym, obserwowalności i odporności. Razem umożliwiają przejście od odłączonych demonstracji agentów do skalowalnych, inteligentnych ekosystemów klasy produkcyjnej.

Nie chodzi tylko o rozwiązywanie wyzwań inżynieryjnych; chodzi o umożliwienie nowego rodzaju oprogramowania, w którym agenty współpracują ponad granicami, zapewniając wgląd i przepływ działań w czasie rzeczywistym oraz pozwalając inteligencji stać się systemem rozproszonym.

Aby zrealizować tę wizję, musimy budować otwarcie, interoperacyjnie i mając na uwadze lekcje z ostatniej rewolucji internetowej. Następnym razem, gdy będziesz budowałagenta, nie pytaj tylko, co on może zrobić. Zapytaj, jak pasuje do większego systemu:

  • Czy może komunikować się z innymi agentami?
  • Czy może koordynować swoje działania z innymi?
  • Czy może ewoluować i dostosowywać się do zmieniających się okoliczności?

Przyszłość jest nie tylko zasilana przez agentów; jest połączona z agentami.