IA y LLMAgentesPlanes Performance y Scale

Caché de llamadas a herramientas de agentes

Los agentes llaman a las mismas herramientas con los mismos argumentos una y otra vez. Memoiza los resultados y deja de pagar dos veces por la misma llamada a una API.

búsqueda antes de cada llamada
1
por namespace o entrada
TTL
ahorrados, según STATS
$
Paso 1 de 5
Crea el namespace

El tiempo cambia despacio, así que los resultados viven 15 minutos.

Sesión de ejemploplaying
# Crea el namespace
hotkv> TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
OK

Un recorrido animado con comandos reales de HotKV y respuestas de ejemplo. Haz clic en cualquier paso para saltar a él. Los comandos y las respuestas se quedan en inglés, tal como los escribes y los ves en HotKV.

El problema

Los agentes repiten. Consultan el mismo tiempo, el mismo tipo de cambio, el mismo resultado SQL y la misma página web varias veces en una ejecución, y otra vez en la siguiente. Cada llamada cuesta latencia, límite de tasa y a menudo dinero, y las herramientas lentas hacen lento cada paso del agente.

Cómo lo resuelve HotKV

La caché de herramientas memoiza las llamadas deterministas bajo una clave formada por el nombre de la herramienta y sus argumentos. Antes de llamar a una herramienta, el agente consulta la caché. Un acierto devuelve al instante el resultado guardado, y un fallo llama a la herramienta una vez y guarda el resultado con un TTL acorde a lo actualizado que tenga que estar.

Paso a paso

Qué ocurre, comando a comando

  1. 01

    Crea el namespace

    El tiempo cambia despacio, así que los resultados viven 15 minutos.

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

    Primera llamada, un fallo

    Todavía no hay nada en caché para estos argumentos.

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

    Llama a la herramienta una vez y guárdala

    Se llama a la API real y el resultado queda en caché durante los próximos 15 minutos.

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

    Cada repetición es un acierto

    El agente planifica una segunda excursión y vuelve a preguntar. Lo mismo hacen otros agentes para otros viajeros.

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

    Cuenta el ahorro

    Los aciertos, los fallos y el uso ahorrado se informan por namespace.

    TOOL.CACHE.STATS tools
Dónde encaja

Escenarios reales

Agentes de viajes y reservas

Las consultas de tiempo, divisas y disponibilidad se repiten entre viajeros y pasos de planificación. Cada resultado se obtiene una vez por TTL.

Agentes de datos

Las consultas SQL de solo lectura y las métricas de dashboards se memoizan, así un agente que explora los datos no machaca el data warehouse.

Agentes de navegación

Las páginas web descargadas y analizadas se guardan en caché, así la misma página no se vuelve a descargar en cada ejecución.

Integrado

Qué obtienes

Memoización por argumentos

Las claves se forman con el nombre de la herramienta y sus argumentos, así cada llamada distinta se guarda por separado.

TOOL.CACHE.GETTOOL.CACHE.SET

Control de frescura

Un TTL por defecto por namespace y un TTL opcional por entrada.

TTL

Memoria acotada

Un límite de entradas por namespace, con expulsión cuando se llena.

MAX_ENTRIES

Informe de ahorro

Aciertos, fallos, expulsiones, memoria y uso ahorrado.

TOOL.CACHE.STATS

Preguntas frecuentes

¿Qué herramientas debo guardar en caché?

Las llamadas deterministas y de solo lectura, como consultas, búsquedas y queries cuyo resultado solo depende de los argumentos. Nunca guardes en caché herramientas que cambian algo, como enviar un correo.

¿Se puede eliminar antes un resultado en caché?

Sí. TOOL.CACHE.DEL elimina una entrada y TOOL.CACHE.FLUSH vacía un namespace.

¿Qué planes la incluyen?

La caché de herramientas forma parte de los planes Performance y Scale.

Casos de uso relacionados

Pruébalo con tu propia carga de trabajo

HotKV habla el protocolo de Redis, así que puedes apuntar un cliente que ya usas hacia él y ejecutar estos mismos comandos.