# Agent Harness: Architektura agentów AI gotowych do produkcji
Problem nie leży w sieci neuronowej. Kiedy agenci LLM zawodzą w produkcji, winna jest infrastruktura wokół modelu. LangChain awansował z 30. na 5. miejsce w TerminalBench 2.0, nie zmieniając modelu — tylko optymalizując otoczenie. To otoczenie nazywa się agent harness, i ono przekształca bezstanową LLM w autonomicznego agenta.
Czym jest agent harness? Architektura von Neumanna dla AI
Termin sformalizowano w 2026 roku, ale koncepcja jest stara jak sama idea systemu obliczeniowego. Harness to pełna infrastruktura otaczająca LLM: cykl orkiestracyjny, narzędzia, pamięć, zarządzanie kontekstem i obsługa błędów. Anthropic w dokumentacji Claude Code nazywa SDK bezpośrednio „agent harness”. Kluczowa analogia: naga LLM to CPU bez RAM i dysku. Okno kontekstowe działa jak pamięć operacyjna, zewnętrzne bazy jak długoterminowe przechowywanie, narzędzia jak sterowniki urządzeń. Harness staje się systemem operacyjnym, realizując architekturę von Neumanna dla AI.
Wielu myli „agenta” z „harnessem”. Agent to zachowanie: celowe, samokorygujące się byty. Harness to mechanizm generujący to zachowanie. Jak trafnie ujął Vivek Trivedy z LangChain: „Jeśli nie jesteś modelem — jesteś harnessem”.
Trzy poziomy inżynierii wokół LLM
Otoczenie modelu buduje się w koncentrycznych warstwach:
- Prompt engineering — kształtuje instrukcje dla modelu.
- Context engineering — zarządza tym, co model widzi i kiedy.
- Harness engineering — obejmuje dwa poprzednie poziomy plus orkiestrację narzędzi, trwałość stanu, obsługę błędów i bezpieczeństwo.
Harness to nie otoczka wokół promptu. To system, który umożliwia autonomiczne zachowanie agentów w produkcji. Bez niego nawet zaawansowane modele zachowują się jak kruche dema.
Dwanaście kluczowych komponentów production harnessa
Analiza rozwiązań Anthropic, OpenAI i LangChain wykazała 12 obowiązkowych komponentów:
- Cykl orkiestracyjny — serce systemu (Thought-Action-Observation).
- Narzędzia — schematy interakcji ze światem zewnętrznym.
- Pamięć — zarządzanie danymi na różnych skalach czasowych.
- Zarządzanie kontekstem — walka z context rot.
- Konstruowanie promptu — składanie wejścia dla modelu.
- Parsowanie wyjścia — obsługa strukturyzowanych odpowiedzi.
- Zarządzanie stanem — trwałość i checkpointy.
- Obsługa błędów — strategie odzyskiwania.
- Ograniczniki bezpieczeństwa — guardrails na trzech poziomach.
- Cykle weryfikacji — sprawdzanie wyjścia agenta.
- Orkiestracja subagentów — delegowanie zadań.
- Cykl życia — deployment i monitorowanie.
Szczególnej uwagi wymaga zarządzanie kontekstem. Badania Chroma i Stanford („Lost in the Middle”) pokazały: wydajność spada o 30%+, gdy kluczowa treść jest w środku okna. Strategie produkcyjne obejmują:
- Compaction: podsumowywanie historii (Claude Code zachowuje decyzje architektoniczne, odrzucając szczegóły techniczne).
- Observation masking: ukrywanie starych wyjść narzędzi (jak w JetBrains' Junie).
- Just-in-time retrieval: dynamiczne ładowanie danych przez lekkie zapytania (grep, glob).
- Sub-agent delegation: zwracanie skompresowanych podsumowań (1000–2000 tokenów) zamiast surowych danych.
Anthropic formułuje cel: znaleźć minimalny zestaw tokenów o wysokim sygnale, maksymalizujący prawdopodobieństwo sukcesu.
Jak działa cykl orkiestracji
Rozbijmy cykl TAO na przykładzie systemu produkcyjnego:
- Składanie promptu: harness formuje wejście, pozycjonując kluczowy kontekst na początku i końcu (zgodnie z ustaleniami „Lost in the Middle”). Zawiera systemowy prompt, schematy narzędzi, pamięć i bieżące zapytanie.
- Inferencja LLM: model przetwarza zapytanie, zwracając tekst lub strukturyzowane
tool_calls. - Klasyfikacja wyjścia: jeśli są wywołania narzędzi — wykonujemy je; jeśli handoff — zmieniamy agenta; w przeciwnym razie kończymy cykl.
- Wykonywanie narzędzi: walidacja argumentów, sprawdzanie uprawnień, izolowane wykonanie. Błędy zwracane jako
ToolMessagedo korekty przez model. - Weryfikacja: sprawdzanie oparte na regułach (lintery, testy), weryfikacja wizualna (Playwright) lub LLM-as-judge.
- Aktualizacja stanu: checkpointing przez git-commity (Claude Code) lub typizowane słowniki (LangGraph).
Kluczowy szczegół: harness oddziela rozumowanie od egzekucji. Model decyduje „co zrobić”, system narzędzi — „czy to dozwolone”. Claude Code kontroluje ponad 40 dyskretnych uprawnień przez trójstopniową weryfikację.
Co jest ważne
- Problem nie w modelu: 90% awarii agentów produkcyjnych spowodowane jest brakami w harnessie, a nie LLM.
- Context rot zabija: nawet okna 1M tokenów wymagają aktywnego zarządzania kontekstem.
- Weryfikacja obowiązkowa: agenci bez cykli sprawdzania popełniają 2–3 razy więcej błędów.
- Bezpieczeństwo to element architektury: egzekucja musi być oddzielona od rozumowania.
- Błędy się kumulują: proces z 10 kroków o 99% sukcesu na krok ma tylko 90,4% sukcesu skońskiego.
— Editorial Team
Brak komentarzy.