Budowanie FailureDNA: Pamięć agenta, która wie, kiedy nie ufać samej sobie

Większość agentów AI popełnia niebezpieczny błąd. Wykorzystują oni incydenty z przeszłości do rozwiązywania nowych awarii. Jeśli nowy problem przypomina stary, agent kopiuje stare rozwiązanie.

To problem. Podobieństwo nie oznacza zastosowalności. Poprzednie rozwiązanie może działać dla starej wersji bazy danych, ale zawieść w obecnej. Powtarzanie nieudanego rozwiązania marnuje czas. Stosowanie nieaktualnego rozwiązania pogarsza awarię.

Zbudowałem FailureDNA, aby rozwiązać ten problem. Jest to system pamięci, który śledzi rzeczywiste rezultaty. Decyduje on, czy dane doświadczenie z przeszłości jest użyteczne, wymaga sprawdzenia, czy należy go unikać.

System przestrzega jednej zasady: model wybiera działanie, ale to deterministyczny kod decyduje, co jest poprawne.

Jak to działa: • Agent tworzy osadzenia (embeddings) objawów incydentu. • Przeszukuje przeszłe incydenty za pomocą pgvector na Alibaba Cloud RDS. • Deterministyczna bramka sprawdza wyniki. • Model wybiera działanie znajdujące się na białej liście. • System wykonuje działanie i zapisuje rzeczywisty rezultat.

Bramka korzysta z trzech prostych zasad:

  • Jeśli poprzedni rezultat był niepowodzeniem: Unikaj go.
  • Jeśli poprzedni rezultat był sukcesem, a środowisko jest zgodne: Użyj go.
  • Jeśli poprzedni rezultat był sukcesem, ale środowisko uległo zmianie: Sprawdź go.

Agent nie może powtórzyć znanego błędu. System usuwa błędne działania, zanim model w ogóle je zobaczy. Zapobiega to ignorowaniu ostrzeżeń przez model. Model zapewnia kreatywność, ale to kod zapewnia bezpieczeństwo.

Szczegóły techniczne: • Do tworzenia osadzeń i wyboru działań użyłem Qwen Cloud. • text-embedding-v3 tworzy 1024-wymiarowe wektory. • Hybrydowe wyszukiwanie (hybrid retrieval) łączy podobieństwo semantyczne z nakładaniem się słów kluczowych. • Backend działa na Alibaba Cloud Function Compute z FastAPI. • Pamięć znajduje się w ApsaraDB RDS for PostgreSQL.

FailureDNA zapobiega powtarzaniu historycznych błędów przez agenta oraz stosowaniu nieaktualnych rozwiązań. Pozwala to zachować kreatywność modelu, zapewniając jednocześnie bezpieczeństwo systemu.

Źródło: https://dev.to/prabhakaranjm/building-failuredna-an-agent-memory-that-knows-when-not-to-trust-itself-fbn

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi