Přejít na obsah
Zpět na přehled článků

Trvalá paměť AI agentů na bázi Amazon S3 Vectors

AI generovaná redakční ilustrace k článku: Trvalá paměť AI agentů na bázi Amazon S3 Vectors
AI generovaná ilustrační vizualizace tématu článku; nejde o skutečný snímek produktu.
2 zobrazení

Agent, který si pamatuje

Blog AWS popisuje, jak použít Amazon S3 Vectors jako vrstvu trvalé paměti v NVIDIA NeMo Agent Toolkitu (NAT), který běží na Amazon EKS. Podle autorů tak provozní tým získá plnou kontrolu nad provozem. Autor zároveň doporučuje, aby si týmy pro produkční multiagentní systémy napsaly vlastního paměťového poskytovatele nad S3 Vectors, místo aby sáhly po hotovém řešení.

Co NAT nabízí a jak se rozšiřuje

NAT je open source framework pro tvorbu, profilování a optimalizaci AI agentů. Není vázaný na jediný framework a podle textu funguje se Strands Agents, LangChain, LlamaIndex, CrewAI i vlastními implementacemi. Obsahuje paměťový subsystém, který ukládá a vyhledává historii konverzací, uživatelské preference a dlouhodobé znalosti napříč voláními agenta. Subsystém lze rozšířit pomocí plugin rozhraní. Každý backend musí implementovat abstraktní rozhraní MemoryEditor se třemi metodami: add_items(), search() a remove_items().

Proč právě S3 Vectors

NAT má zabudované poskytovatele Mem0, MemMachine, Redis a Zep. Autor ale tvrdí, že pro produkční systémy s elastickým vektorovým úložištěm, silnou konzistencí zápisu a levným škálováním na miliardy vektorů je vhodnější vlastní poskytovatel nad S3 Vectors. Podle AWS služba nabízí vyhledávání podobnosti s metrikami cosine a euclidean i filtrovatelná metadata. Paměti jsou viditelné ihned po vložení a jeden index pojme až 2 miliardy vektorů bez plánování kapacity.

Ukázkový index má 1024 dimenzí, aby odpovídal výstupu modelu Amazon Titan Text Embeddings V2, a používá metriku cosine. Velké pole content je označené jako nefiltrovatelná metadata. Vlastní plugin pomocí Titanu generuje embeddingy, každou paměť ukládá jako vektor s metadaty a vyhledávací filtry překládá na dotazy nad metadaty S3 Vectors. Poskytovatel se v NAT zaregistruje dekorátorem register_memory, takže ho toolkit dokáže najít.

Automatická paměť a spolupráce více agentů

V YAML konfiguraci ukázkový agent používá workflow auto_memory_agent. Ukládá zprávy uživatele i agenta a před každým voláním vkládá relevantní kontext. Podle textu tento návrh odstraňuje nutnost, aby velký jazykový model volal paměťové nástroje výslovně. Příklad zapíná ukládání zpráv uživatele i agenta a načítání paměti pro každou odpověď. Jako jazykový model je v ukázce uveden Claude Sonnet 4 přes Amazon Bedrock.

Složitější scénář popisuje nástroj pro investiční výzkum se třemi specializovanými agenty: výzkumným, analytickým a syntetizačním. Všichni sdílejí jeden index S3 Vectors, ale každý zapisuje se svým agent_id v metadatech. Sdílené poznatky se pak vyhledávají filtry, například podle team_id a příznaku is_shared. Analytický agent tak může získat zjištění výzkumného kolegy a syntetizační agent může dotazovat znalosti celého týmu. Izolaci paměti po uživatelích zajišťuje vestavěné pole user_id.

Epizodické paměti se časem hromadí. Návod proto doporučuje je pravidelně sloučit do sémantických znalostí, tedy zobecněných poznatků, aby vyhledávání zůstalo přesné a efektivní. Konsolidaci lze spustit naplánovanou úlohou cron, překročením prahu počtu vektorů nebo signálem od agenta po nastaveném počtu výzkumných cyklů. Ukázková funkce načte až 50 epizod k dané firmě a jazykový model z nich nechá vytáhnout trvalé vzorce.

Provoz, měření a opatrnost

Agenty autor spouští jako kontejnerové služby příkazem nat serve. Každý typ agenta tvoří Kubernetes Deployment, který získává přístup k AWS přes IAM Roles for Service Accounts (IRSA). Počet replik upravuje HorizontalPodAutoscaler podle vytížení CPU. Text tak popisuje celý řetězec od indexu s vektory až po škálovatelné nasazení v Kubernetes.

Dopad paměti lze podle návodu změřit nástrojem nat eval. Stačí porovnat běhy se zapnutou a vypnutou pamětí. Autor ale výslovně říká, že jde o směrová očekávání, nikoli o naměřené výsledky. Čekat lze lepší podloženost odpovědí, nižší spotřebu tokenů, mírně vyšší latenci kvůli dotazu do S3 Vectors a méně duplicitní práce. Text tedy neprokazuje, o kolik se kvalita nebo cena zlepší.

Návod zmiňuje i ochranu dat. Pro uložené paměti doporučuje určit retenční politiku a data, která už nejsou potřeba, nechat vypršet pomocí konsolidace a mazání. Do metadat se nemají ukládat osobní údaje a citlivá pole je nutné před vytvořením embeddingu zredigovat nebo tokenizovat. Přístup má omezit samostatný index pro každého tenanta a IAM politiky s nejmenšími oprávněními, aby každý agent četl a zapisoval jen vlastní paměť.

Zdroje

  1. Build agent memory with NVIDIA NeMo Agent Toolkit and Amazon S3 Vectors | Artificial Intelligence — AWS Machine Learning Blog

Článek vznikl s pomocí AI; podklady a odkazy jsou uvedeny výše.