Dodawanie oprogramowania pośredniczącego

Na poprzedniej stronie pokazano, w jaki sposób umiejętności zawierają wiedzę na temat domen wielokrotnego użytku — instrukcje, materiały referencyjne i skrypty — do samodzielnych jednostek, które każdy agent może załadować na żądanie. Jednak podczas wdrażania agentów w środowisku produkcyjnym pojawia się nowa kategoria problemów: problemy, które przecinają każdą interakcję niezależnie od tego, co robi agent.

Należy rejestrować każde żądanie i odpowiedź. Potrzebujesz zabezpieczeń, które blokują szkodliwą zawartość przed jej przetworzeniem przez model. Musisz wymusić limity szybkości, bezpiecznie przechwytywać wyjątki i wprowadzać dane telemetryczne — wszystko to bez dotykania podstawowej logiki agenta. Wklejanie tych problemów do każdego agenta (lub każdego narzędzia, lub każdej umiejętności) nie jest skalowalne i tworzy problemy konserwacyjne.

Oprogramowanie pośredniczące rozwiązuje ten problem. Oprogramowanie pośredniczące umożliwia opakowanie potoku wykonywania agenta przy użyciu zachowań wielokrotnego użytku, które mogą przechwytywać, sprawdzać i modyfikować żądania i odpowiedzi w dobrze zdefiniowanych punktach. Oprogramowanie pośredniczące należy traktować jako serię koncentrycznych warstw wokół agenta — każda warstwa ma szansę na działanie na danych wejściowych przed dotarciem do agenta i na danych wyjściowych przed dotarciem do obiektu wywołującego.

Kiedy ją zastosować

Dodaj middleware do agenta, gdy:

  • Aby zablokować szkodliwe, nie na temat lub naruszające zasady treści przed lub po ich przetworzeniu, potrzebne są zabezpieczenia.
  • Potrzebujesz scentralizowanego rejestrowania lub telemetrii dla wszystkich interakcji agenta bez konieczności indywidualnego modyfikowania każdego agenta.
  • Należy zmodyfikować żądania lub odpowiedzi — wzbogacanie monitów, przekształcanie danych wyjściowych lub zastępowanie wyników w całości — bez zmieniania logiki agenta.
  • Chcesz wymusić zasady, takie jak ograniczanie szybkości, filtrowanie zawartości lub kontrola uwierzytelniania, które mają zastosowanie do każdego uruchomienia.
  • Należy spójnie obsługiwać wyjątki — ponawianie prób w przypadku błędów przejściowych, zwracanie bezproblemowych odpowiedzi rezerwowych lub rejestrowanie błędów w celu przeprowadzenia diagnostyki.
  • Chcesz udostępnić stan w potoku — na przykład śledzenie chronometrażu żądań lub gromadzenie metryk potrzebnych przez wiele składników oprogramowania pośredniczącego.

Wskazówka

Framework agenta obejmuje wbudowaną instrumentację do śledzenia i mierników. Zobacz Obserwowalność po szczegóły.

Jak działa potok oprogramowania pośredniczącego

Po wywołaniu metody uruchomienia agenta żądanie nie przechodzi bezpośrednio do modelu. Zamiast tego przepływa przez pipeline warstw oprogramowania pośredniczącego, z których każda z nich może sprawdzać lub modyfikować żądanie, delegować do następnej warstwy, a następnie sprawdzać lub modyfikować tę odpowiedź w drodze powrotnej.

┌─────────────────────────────────────────────────────────┐
│  Caller: agent.run("What's the weather?")               │
└──────────────┬──────────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────────┐
│  Middleware 1 (Logging)                                  │
│  • Logs the incoming request                            │
│  • Calls next middleware                                │
│  • Logs the outgoing response                           │
└──────────────┬──────────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────────┐
│  Middleware 2 (Guardrails)                               │
│  • Checks input against content policy                  │
│  • If blocked → returns early with rejection message    │
│  • If allowed → calls next middleware                   │
│  • Checks output against content policy                 │
└──────────────┬──────────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────────┐
│  Agent core (model invocation, tool calls, etc.)        │
└─────────────────────────────────────────────────────────┘

Najważniejsze kwestie:

  1. Każde oprogramowanie pośredniczące decyduje, czy kontynuować. Oprogramowanie pośredniczące może wywołać następną warstwę w łańcuchu, aby kontynuować normalnie, lub może zwarć potok, zwracając odpowiedź bezpośrednio — na przykład gdy bariera chroniąca blokuje żądanie.
  2. Oprogramowanie pośredniczące widzi oba kierunki. Oprogramowanie pośredniczące uruchamia kod przed delegowaniem (w celu sprawdzenia lub zmodyfikowania danych wejściowych) i po powrocie odpowiedzi (w celu sprawdzenia lub zmodyfikowania danych wyjściowych). Jest to klasyczny wzorzec "cebuli".
  3. Wiele elementów oprogramowania pośredniczącego łączy się w łańcuch. Podczas rejestrowania kilku składników oprogramowania pośredniczącego są one zagnieżdżone: pierwsze zarejestrowane oprogramowanie pośredniczące jest najbardziej zewnętrzną warstwą, a ostatnia zarejestrowana jest najbardziej wewnętrzną warstwą znajdującą się najbliżej agenta.

Wskazówka

Aby uzyskać szczegółowy widok, jak oprogramowanie pośredniczące wpasowuje się w całościowy przebieg działania agenta — w tym dostawców kontekstu i warstwy klienta czatu — zobacz Architektura przepływu agenta.

Jakie oprogramowanie pośredniczące może zrobić

Platforma Agent Framework obsługuje oprogramowanie pośredniczące w trzech warstwach potoku — uruchamianie agenta, wywoływanie funkcji i klient czatu — zapewniając szczegółową kontrolę nad miejscem przechwytywania wykonywania. Typowe wzorce obejmują:

Wzór Przykład Reference
Zabezpieczenia i zakończenie Blokuj szkodliwą zawartość, ogranicz długość konwersacji Zakończenie i ochrona
Obsługa wyjątków Ponów próbę w przypadku niepowodzeń przejściowych, zwróć odpowiedzi rezerwowe Obsługa wyjątków
Przesłonięcia wyników Redagowanie poufnych danych, wzbogacanie lub zastępowanie wyników działania agenta Przesłonięcia wyników
Współdzielony stan Przekazywanie identyfikatorów żądań lub danych o chronometrażu między oprogramowaniem pośredniczącym Wspólny stan
Kontekst środowiska uruchomieniowego Różne zachowanie w zależności od konfiguracji sesji, użytkownika lub poszczególnych przebiegów Kontekst środowiska uruchomieniowego
Określanie zakresu Zastosuj middleware do wszystkich uruchomień lub tylko jednego uruchomienia Agent a zakres działania

Aby zapoznać się z kompletnym przewodnikiem definiowania i rejestrowania oprogramowania pośredniczącego, zobacz Definiowanie oprogramowania pośredniczącego. Aby zapoznać się z pełnym omówieniem architektury, zobacz Omówienie oprogramowania pośredniczącego.

Zagadnienia do rozważenia

Kwestie wymagające rozważenia Szczegóły
Separacja obaw Oprogramowanie pośredniczące oddziela logikę przekrojową od kodu agenta, narzędzi i umiejętności. Każdy składnik oprogramowania pośredniczącego ma jedną odpowiedzialność — rejestrowanie, zabezpieczenia, obsługę błędów — które można dodawać, usuwać lub zmieniać kolejność niezależnie.
Zależność od kolejności Oprogramowanie pośredniczące tworzy łańcuch. Kolejność rejestrowania middleware ma znaczenie: middleware logowania, które jest uruchamiane jako pierwsze, zobaczy nieprzetworzone dane wejściowe, podczas gdy to uruchamiane jako ostatnie, zobaczy dane wejściowe już zmodyfikowane przez wcześniejsze middleware. Zaplanuj kolejność działań z rozwagą.
Złożoność debugowania Gdy middleware modyfikuje dane wejściowe lub wyjściowe, debugowanie wymaga zrozumienia pełnego przepływu danych. Odpowiedź może wyglądać na niepoprawną nie z powodu agenta, ale dlatego, że middleware ją przekształciło. Dobre oprogramowanie pośredniczące do logowania (umieszczone od początku łańcucha) pomaga zdiagnozować te przypadki.
Narzut wydajnościowy Każda warstwa oprogramowania pośredniczącego dodaje czas przetwarzania do każdego żądania. W przypadku lekkich operacji, takich jak rejestrowanie, jest to niewielkie. W przypadku kosztownych operacji, takich jak wywoływanie zewnętrznego interfejsu API do moderowania zawartości, opóźnienie sumuje się – zwłaszcza gdy wiele takich elementów oprogramowania pośredniczącego jest łańcuchowo połączonych.

Następne kroki

Teraz, gdy agent ma narzędzia, umiejętności i oprogramowanie pośredniczące, następnym krokiem jest dostawca kontekstu — składniki, które wprowadzają pamięć, profile użytkowników i dynamiczną wiedzę do okna kontekstu agenta przed każdym uruchomieniem.

Głębiej: