Pipeline paměti agenta

Důležité

Tato funkce je v beta verzi.

Paměťový řetězec buduje dlouhodobou paměť z minulých konverzací vašeho agenta. Čte historii konverzací z úložiště relací a destiluje dlouhodobé vzpomínky, jako jsou fakta, preference a postupy, do paměťového úložiště. Váš agent si pak tyto vzpomínky vybaví v pozdějších rozhovorech stejným způsobem, jakým si vybavuje vzpomínky, které si uložil sám.

Agent, který si během rozhovoru ukládá vzpomínky, je zapisuje po jednotlivých konverzacích, pouze s kontextem daného rozhovoru. Během mnoha rozhovorů jeho paměť shromažďuje překrývající se a protichůdné záznamy a fakta, která agenta nenapadlo uložit, se do paměti nedostanou. Paměťová pipeline funguje zpětně, s přehledem o všech konverzacích aktéra a existující paměti, takže může zachytit, co agent přehlédl, a udržet paměť konsolidovanou.

Použijte paměťový kanál, když chcete:

  • Budujte dlouhodobou paměť z konverzací, aniž byste svému agentovi přidávali nástroje pro zapisování do paměti.
  • Doplňte paměť z historie konverzací, kterou už úložiště relací obsahuje.
  • Udržujte paměť organizovanou v průběhu času tím, že spojíte překrývající se záznamy a rozdělíte ty předimenzované.

Paměťový řetězec můžete použít samostatně nebo spolu s paměťovými nástroji, které váš agent během konverzace volá.

Note

Běhy paměťových pipeline používají pro úlohu ceny bezserverových obecných výpočtů a pro volání modelu ceny Foundation Model Serving.

Requirements

  • úložiště relací, kde uchováváte konverzace vašeho agenta, a paměťové úložiště pro zápis pamětí.
  • Přístup k oběma úložištím pro identitu, která vytváří pipeline, včetně oprávnění vytvářet tabulky v databázi paměťového úložiště. Spuštění kanálu používají tuto identitu.
  • Oprávnění dotazovat se na model, který pipeline používá pro destilaci.
  • Pro použití CLI nainstalujte databricks-agentbricks verzi 0.5.0 a vyšší. REST API můžete také volat přímo v jakémkoli jazyce.

Jak fungují paměťové pipeline

Paměťová pipeline je agentní paměťový zdroj, který propojuje jedno úložiště relace s jedním paměťovým úložištěm. Není to spojeno s pipelineami Lakeflow. Úložiště relací může zásobovat více než jedno paměťové úložiště, ale každá dvojice úložiště relací a paměťového úložiště může mít pouze jedno propojení.

  • Volání modelu přes Unity Gateway: Pipeline volá svůj destilační model přes Unity Gateway.
  • Váš výběr modelu: Model si vyberete při vytváření pipeline a můžete ho později změnit. Pokud si žádný nevyberete, pipeline používá výchozí model.
  • Manuální nebo plánované běhy na bezserverových výpočetních prostředcích: Spustíte běhy sami, nebo nakonfigurujete pipeline tak, aby běžela podle plánu přibližně každých 24 hodin. Každopádně každý běh se vykonává jako úloha v bezserverovém výpočetním prostředí, s použitím identity, která pipeline vytvořila.

Každý běh pipeline zpracovává každého aktéra v session storage samostatně:

  1. Extrahovat: Pipeline čte nové konverzace herce a pomocí LLM z nich získává trvalá fakta.
  2. Sloučení: Pipeline deduplikuje nová fakta a slučuje je do tematických paměťových záznamů pod stejným actor_id v paměťovém úložišti.
  3. Údržba: Pipeline reorganizuje paměť aktora. Spojuje záznamy, které se překrývají, a rozděluje položky, které jsou příliš velké.

Běhy paměťové pipeline udržují kontrolní bod pro každé ID aktéra. Běh zpracovává všechna aktérova sezení od jeho posledního úspěšného běhu, takže první běh zpracovává celou historii aktéra. Pokud běh selže u jednoho actora, pokračuje s ostatními actory a další běh znovu zkouší neúspěšného actora z jeho kontrolního bodu.

actor_id spojuje oba obchody. Pipeline zpracovává pouze aktéry, kteří mají sessions v úložišti sessions, a zapisuje paměti každého aktéra pod stejným actor_id, jaké používají sessions aktéra. Ve výchozím nastavení pipeline běží pouze tehdy, když spustíte spuštění. Můžete ho také spouštět podle plánu.

Note

Údržba se vztahuje na všechny paměťové záznamy aktéra, včetně záznamů, které váš agent uložil přímo. Pipeline může přepsat, sloučit, rozdělit nebo smazat jakýkoli záznam pod actor_id, které zpracovává.

Co si pipeline uchovává

Pipeline extrahuje jednotlivá, trvalá fakta z rozhovorů. Je navržen tak, aby zachoval:

  • Fakta, která uživatel výslovně uvádí, a preference, které vyjadřuje, aniž by se vyvozovalo cokoli nad rámec toho, co je v konverzaci řečeno.
  • Opravy a explicitní zpětná vazba, například který zdroj použít pro údaje o tržbách.
  • Trvalé znalosti z dané oblasti, jako jsou autoritativní zdroje, definice metrik, terminologie a týmové konvence, stejně jako pracovní postupy a probíhající projekty.

Je navržen tak, aby přeskočil:

  • Hodnoty z živých zdrojů, které se v čase mění, například aktuální počet řádků v tabulce. Místo toho zaznamenává, jak hodnotu najít nebo vypočítat.
  • Detaily, které agent může vyhledat pomocí svých nástrojů, například schéma tabulky.
  • Tajné údaje, jako jsou hesla, API klíče a tokeny.

Začínáme

Tyto příklady vytvářejí paměťový pipeline pro relaci agenta podpory a paměťová úložiště, spustí běh a ověří jeho výsledek. Identifikujte každý obchod podle jeho ID, identifikátoru, který jste si zvolili při jeho vytvoření, nebo podle názvu zdroje, například memory-stores/support-agent-memory. Vyberte si klienta, který odpovídá vašemu projektu.

Agentní cihly

Agent Bricks CLI používá váš uložený profil Databricks CLI k ověření.

  1. Nainstalujte CLI Agent Bricks nebo jej upgradujte na verzi 0.5.0 a novější:

    pip install --upgrade databricks-agentbricks
    
  2. Vytvořte pipeline, která destiluje support-agent-sessions úložiště relací do support-agent-memory paměťového úložiště. --model je nepovinný. Pokud ji vynecháte, pipeline používá výchozí model:

    agentbricks memory pipeline create \
      --session-store support-agent-sessions \
      --memory-store support-agent-memory \
      --model system.ai.claude-sonnet-5
    

    Příkaz vrátí název zdroje pipeline ve tvaru memory-pipelines/<pipeline-id>.

  3. Začněte běh pipeline:

    agentbricks memory pipeline run <pipeline-id>
    

    Příkaz vrátí název zdroje běhu ve tvaru memory-pipelines/<pipeline-id>/runs/<run-id>, a RUNNING jeho stav.

  4. CLI nehlásí výsledek běhu. Chcete-li to zkontrolovat, nastavte DATABRICKS_HOST na název hostitele vašeho pracovního prostoru, vygenerujte token OAuth a zavolejte rozhraní REST API:

    export DATABRICKS_TOKEN=$(databricks auth token --profile <profile> | jq -r .access_token)
    curl "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/runs/<run-id>" \
      -H "Authorization: Bearer ${DATABRICKS_TOKEN}"
    

REST API

CLI volá REST API v části /api/2.0/agents/memory-pipelines. Volejte jej přímo z jakéhokoliv jazyka.

  1. Vygenerujte OAuth token pomocí Databricks CLI:

    databricks auth login --host ${DATABRICKS_HOST}
    export DATABRICKS_TOKEN=$(databricks auth token | jq -r .access_token)
    
  2. Vytvořte pipeline, která destiluje vzpomínky z support-agent-sessions a ukládá je do support-agent-memory. model je nepovinný. Pokud ji vynecháte, pipeline používá výchozí model:

    curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \
      -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
      -d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "model": "system.ai.claude-sonnet-5"}'
    

    Pole name odpovědi obsahuje název zdroje pipeline ve tvaru memory-pipelines/<pipeline-id>.

  3. Začněte běh pipeline:

    curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/run" \
      -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
      -d '{}'
    

    Pole name odpovědi obsahuje název zdroje běhu ve tvaru memory-pipelines/<pipeline-id>/runs/<run-id>.

  4. Zkontrolujte výsledek spuštění:

    curl "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>/runs/<run-id>" \
      -H "Authorization: Bearer ${DATABRICKS_TOKEN}"
    

Po úspěšném spuštění může váš agent vyvolat nové paměťové záznamy pomocí operací list a search paměťového úložiště. Viz paměť agenta.

Monitorování běhů pipeline

Běh state je jedna z následujících hodnot:

State Meaning
RUNNING Běh čeká nebo probíhá.
SUCCEEDED Běh úspěšně zpracoval každého aktéra.
FAILED Běh skončil s chybou u jednoho nebo více aktérů. Pole error popisuje selhání.
CANCELLED Jízda byla zrušena dříve, než byla dokončena.

Řízení destilace pomocí pokynů

Instrukce říkají pipeline, co má zachovat a jak to organizovat. Kanál zpracování je aplikuje v každé fázi. Použijte je pro obecné pokyny, například:

  • Témata, na která je třeba se zaměřit, jako jsou preference zákazníků a podrobnosti o účtu.
  • Obsah, který je třeba přeskočit, například jednorázové kroky při odstraňování problémů.
  • Cesty, pod kterými se organizují záznamy.

Bez pokynů k rozložení se proces řídí rozložením stávajících záznamů v úložišti nebo odvodí tematické rozložení, když je úložiště prázdné. Nepřejmenovává stávající záznamy tak, aby odpovídaly novému rozložení. Chcete-li změnit konkrétní záznam, upravte jej pomocí aktualizační operace paměťového úložiště, nikoli pomocí instrukcí.

Můžete nastavit instrukce při vytváření pipeline a později je měnit. Další spuštění používá nové pokyny.

Agentní cihly

Pro nastavení instrukcí při vytváření pipeline použijte --instructions:

agentbricks memory pipeline create \
  --session-store support-agent-sessions \
  --memory-store support-agent-memory \
  --instructions "Focus on durable customer preferences and account details. Ignore one-off troubleshooting steps. Organize entries under /preferences/ and /account/."

Pro načtení delších instrukcí ze souboru UTF-8 místo toho zadejte --instructions @<path-to-file>.

Chcete-li změnit instrukce existujícího kanálu, spusťte následující:

agentbricks memory pipeline update <pipeline-id> \
  --instructions "Keep only durable customer preferences."

REST API

V REST API objekt dreamer_policy pipeline uchovává její nastavení destilace: instructions a trigger. Chcete-li při vytváření pipeline nastavit instrukce, zahrňte je do dreamer_policy.instructions:

curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
  -d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "dreamer_policy": {"instructions": "Focus on durable customer preferences and account details. Ignore one-off troubleshooting steps. Organize entries under /preferences/ and /account/."}}'

Pro změnu instrukcí existujícího pipeline aktualizujte dreamer_policy.instructions:

curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>?update_mask=dreamer_policy.instructions" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
  -d '{"dreamer_policy": {"instructions": "Keep only durable customer preferences."}}'

Spustit pipeline podle plánu

Plánovaný pipeline běží automaticky přibližně každých 24 hodin. Spouštěč můžete nastavit při vytváření pipeline, nebo ho později změnit. Plánovač vybírá, kdy začne první plánovaný běh. Pro okamžité zpracování existujících konverzací spusťte ručně běh.

Agentní cihly

Pro vytvoření plánovaného pipeline předejte --trigger scheduled. Výchozí hodnota je --trigger manual:

agentbricks memory pipeline create \
  --session-store support-agent-sessions \
  --memory-store support-agent-memory \
  --trigger scheduled

Pro změnu spouštěče existující pipeline spusť následující:

agentbricks memory pipeline update <pipeline-id> --trigger scheduled

REST API

Pro vytvoření plánovaného pipeline nastavte dreamer_policy.trigger na SCHEDULED:

curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
  -d '{"session_store": "support-agent-sessions", "memory_store": "support-agent-memory", "dreamer_policy": {"trigger": "SCHEDULED"}}'

Chcete-li změnit spouštěč existujícího pipeline, aktualizujte dreamer_policy.trigger na SCHEDULED nebo MANUAL_ONLY:

curl -X PATCH "https://${DATABRICKS_HOST}/api/2.0/agents/memory-pipelines/<pipeline-id>?update_mask=dreamer_policy.trigger" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \
  -d '{"dreamer_policy": {"trigger": "SCHEDULED"}}'

Můžete také ručně spustit běh plánovaného pipeline, pokud žádný jiný běh neprobíhá.

Správa kanálů

Následující příkazy vypisují, kontrolují, aktualizují a mažou pipeline. Každý příkaz CLI přijímá buď ID pipeline, nebo její úplný název prostředku memory-pipelines/<pipeline-id>.

Task Agent Bricks CLI REST API
Výpis potrubí agentbricks memory pipeline list GET /api/2.0/agents/memory-pipelines
Vytvořte kanál agentbricks memory pipeline get <pipeline-id> GET /api/2.0/agents/memory-pipelines/<pipeline-id>
Aktualizovat řetězec úkolů agentbricks memory pipeline update <pipeline-id> s --display-name, --model, --trigger, nebo --instructions PATCH /api/2.0/agents/memory-pipelines/<pipeline-id> s update_mask ve výši display_name, model, dreamer_policy.trigger nebo dreamer_policy.instructions
Odstranění potrubí agentbricks memory pipeline delete <pipeline-id> DELETE /api/2.0/agents/memory-pipelines/<pipeline-id>

Pokud nenastavíte zobrazovací jméno, pipeline ho získá na základě názvů svého úložiště relace a paměti. Pro přepnutí pipeline zpět na výchozí model aktualizujte jeho model na prázdnou hodnotu, například --model "". Změny modelu a instrukcí platí pro další běh.

Smazání pipeline odstraní její podkladovou úlohu a zastaví budoucí běhy. Běh, který už probíhá, pokračuje až do dokončení. Záznamy v paměti, které pipeline již zapsalo, zůstávají v paměťovém úložišti.

Limitations

  • Paměťové úložiště a úložiště relací jsou pevně dané, když vytvoříte pipeline. Pro změnu kterékoli z obou možností smažte pipeline a vytvořte novou.
  • Pokud pipeline již propojuje stejné úložiště relace a paměť, vytvoření dalšího selže s chybou ALREADY_EXISTS.
  • Pipeline má vždy jeden probíhající běh. Spuštění jednoho běhu, zatímco probíhá jiné, selže chybou ABORTED .
  • Plánované pipeliney běží přibližně každých 24 hodin. Nemůžeš nastavit jiný interval ani cronový rozvrh.
  • Pipeline zpracovává pouze aktory, kteří mají sessiony v session store. Paměťové záznamy pro aktéry bez sezení zůstávají beze změny.
  • Pokud má úložiště relace více než asi 1 200 aktérů s UUID identifikátory aktérů, běh selže. Limit je 48 KiB serializovaných ID aktérů, takže kratší ID umožňují více aktérů.

Dodatečné zdroje