Zrozumienie pętli agenta
Jeśli budujesz rozwiązania w oparciu o modele obsługujące wywoływanie narzędzi (tool-calling), Twoją najważniejszą decyzją nie jest prompt. Jest nią pętla wokół modelu.
LLM decyduje o użyciu narzędzia, ale nie potrafi go uruchomić. Aplikacja lub SDK musi przygotować kontekst, uruchomić narzędzie i dołączyć wyniki. Ten cykl to pętla agenta.
Model jest tylko częścią systemu. Harness lub SDK zarządza orkiestracją. Obejmuje to składanie promptów, wykonywanie narzędzi, ponawianie prób oraz zakończenie procesu.
Kluczowe pojęcia przy budowaniu niezawodnych agentów:
- Zarządzanie stanem jest kluczowe. Jeśli utracisz wyniki narzędzi, agent zapomni, co się wydarzyło.
- Wydajność zależy od kontroli wzrostu promptu. Używaj stabilnych prefiksów i buforowania (caching), aby utrzymać niskie koszty.
- Bezpieczeństwo wymaga walidacji. Stosuj bramki zatwierdzania (approval gates) dla akcji zmieniających dane.
- To harness, a nie model, zarządza cyklem życia.
Praktyczny model mentalny pętli:
- Zbuduj stan wejściowy.
- Wywołaj model.
- Sprawdź odpowiedź.
- Jeśli model poprosi o narzędzia, zweryfikuj je i wykonaj.
- Dołącz wyniki narzędzi z powrotem do kontekstu.
- Wywołaj model ponownie.
- Zatrzymaj się dopiero, gdy model poda ostateczną odpowiedź.
Dwa systemy mogą korzystać z tego samego modelu, ale zachowywać się inaczej. Dzieje się tak, ponieważ ich harnessy podejmują inne decyzje dotyczące kontekstu, kolejności narzędzi i historii.
Uważaj na te typowe problemy:
- Powtarzalne zachowanie: Zazwyczaj spowodowane brakiem ciągłości stanu.
- Niska jakość: Często spowodowana zbyt długimi lub zaszumionymi wynikami narzędzi.
- Wysokie koszty: Zazwyczaj spowodowane złą kolejnością promptów, co uniemożliwia buforowanie.
- Niebezpieczne akcje: Występują, gdy nie walidujesz argumentów narzędzi przed ich uruchomieniem.
Model wybiera działania. Harness kontroluje rzeczywistość. Jeśli chcesz lepszego systemu, nie ograniczaj się tylko do dostrajania promptu. Zbuduj lepszą pętlę.
Źródło: https://dev.to/pramod_sahu_d5bd2e6de82d1/understanding-the-agent-loop-how-tool-using-llm-