AI dan LLMAgenPaket Performance dan Scale

Caching Panggilan Tool Agen

Agen memanggil tool yang sama dengan argumen yang sama berulang kali. Memoisasi hasilnya dan berhenti membayar dua kali untuk panggilan API yang sama.

pencarian sebelum setiap panggilan tool
1
per namespace atau entri
TTL
dihemat, dilaporkan oleh STATS
$
Langkah 1 dari 5
Buat namespace

Cuaca berubah perlahan, jadi hasil bertahan selama 15 menit.

Sesi contohplaying
# Buat namespace
hotkv> TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
OK

Panduan beranimasi dengan perintah HotKV yang sebenarnya dan balasan contoh. Klik langkah mana pun untuk melompat ke sana. Perintah dan balasan tetap dalam bahasa Inggris, persis seperti yang Anda ketik dan lihat di HotKV.

Masalahnya

Agen berputar dalam loop. Mereka mencari cuaca yang sama, kurs yang sama, hasil SQL yang sama, dan halaman web yang sama beberapa kali dalam satu eksekusi dan lagi di eksekusi berikutnya. Setiap panggilan memakan latensi, batas laju, dan sering uang, dan tool yang lambat membuat setiap langkah agen lambat.

Cara HotKV menanganinya

Tool cache memoisasi panggilan tool deterministik di bawah kunci yang dibangun dari nama tool dan argumennya. Sebelum memanggil tool, agen bertanya kepada cache. Sebuah hit langsung mengembalikan hasil tersimpan, sebuah miss memanggil tool sekali dan menyimpan hasilnya dengan TTL yang sesuai dengan seberapa segar hasil itu harus.

Langkah demi langkah

Apa yang terjadi, perintah demi perintah

  1. 01

    Buat namespace

    Cuaca berubah perlahan, jadi hasil bertahan selama 15 menit.

    TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
  2. 02

    Panggilan pertama, sebuah miss

    Belum ada yang di-cache untuk argumen ini.

    TOOL.CACHE.GET tools "get_weather(city=Lisbon)"
  3. 03

    Panggil tool sekali dan simpan

    API sebenarnya dipanggil, dan hasilnya di-cache selama 15 menit berikutnya.

    TOOL.CACHE.SET tools "get_weather(city=Lisbon)" "{\"temp_c\":21,\"sky\":\"clear\"}" TTL 900
  4. 04

    Setiap pengulangan adalah hit

    Agen merencanakan perjalanan sehari kedua dan bertanya lagi. Begitu juga agen lain untuk pelancong lain.

    TOOL.CACHE.GET tools "get_weather(city=Lisbon)"
  5. 05

    Hitung penghematannya

    Hit, miss, dan penggunaan yang dihemat dilaporkan per namespace.

    TOOL.CACHE.STATS tools
Di mana ini cocok

Skenario dunia nyata

Agen perjalanan dan pemesanan

Pencarian cuaca, mata uang, dan ketersediaan berulang di antara pelancong dan langkah perencanaan. Setiap hasil diambil sekali per TTL.

Agen data

Kueri SQL baca-saja dan metrik dasbor dimemoisasi, sehingga agen yang menjelajahi data tidak menghantam warehouse.

Agen penjelajah

Halaman web yang diambil dan di-parse di-cache, sehingga halaman yang sama tidak diunduh lagi di setiap eksekusi.

Bawaan

Yang Anda dapatkan

Memoisasi berdasarkan argumen

Kunci dibangun dari nama tool dan argumennya, sehingga setiap panggilan yang berbeda di-cache terpisah.

TOOL.CACHE.GETTOOL.CACHE.SET

Kontrol kesegaran

TTL default per namespace dan TTL opsional per entri.

TTL

Memori terbatas

Batas entri per namespace, dengan eviksi saat penuh.

MAX_ENTRIES

Laporan penghematan

Hit, miss, eviksi, memori, dan penggunaan yang dihemat.

TOOL.CACHE.STATS

Pertanyaan umum

Tool mana yang sebaiknya saya cache?

Panggilan deterministik dan baca-saja, seperti pencarian, penelusuran, dan kueri yang hasilnya hanya bergantung pada argumen. Jangan pernah meng-cache tool yang mengubah sesuatu, seperti mengirim email.

Bisakah hasil di cache dihapus lebih awal?

Ya. TOOL.CACHE.DEL menghapus satu entri dan TOOL.CACHE.FLUSH mengosongkan namespace.

Paket mana yang menyertakannya?

Tool cache adalah bagian dari paket Performance dan Scale.

Kasus penggunaan terkait

Coba pada beban kerja Anda sendiri

HotKV berbicara protokol Redis, jadi Anda dapat mengarahkan klien yang sudah ada ke HotKV dan menjalankan perintah yang sama.