AI 与 LLM智能体Performance 和 Scale 套餐

智能体工具调用缓存

智能体会用同样的参数一遍遍调用同样的工具。把结果缓存下来,同一次 API 调用不再付两次钱。

次查找,在每次工具调用前
1
按命名空间或条目设置
TTL
节省额,由 STATS 报告
$
步骤 1 / 5
创建命名空间

天气变化缓慢,因此结果保留 15 分钟。

示例会话playing
# 创建命名空间
hotkv> TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900
OK

使用真实 HotKV 命令和示例回复的动画演示。点击任意步骤即可跳转。 命令和回复保持英文,与您在 HotKV 中输入和看到的完全一致。

问题所在

智能体会循环。在一次运行中,它们会多次查询同样的天气、同样的汇率、同样的 SQL 结果和同样的网页,下一次运行还会再来一遍。每次调用都消耗延迟和限流额度,往往还要花钱,而慢工具会拖慢智能体的每一步。

HotKV 如何解决

工具缓存以工具名称和参数构成的键对确定性工具调用进行记忆化。调用工具之前,智能体先查询缓存。命中时立即返回已存储的结果,未命中时调用一次工具,并以符合其新鲜度要求的 TTL 存储结果。

逐步演示

逐条命令,看看发生了什么

  1. 01

    创建命名空间

    天气变化缓慢,因此结果保留 15 分钟。

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

    首次调用,未命中

    这组参数还没有任何缓存。

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

    调用一次工具并存储

    调用真实的 API,结果在接下来的 15 分钟内被缓存。

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

    每次重复都命中

    智能体规划第二天的行程时再次查询。为其他旅客服务的其他智能体也一样。

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

    统计节省

    命中、未命中和节省的用量按命名空间报告。

    TOOL.CACHE.STATS tools
适用场景

真实场景

旅行与预订智能体

天气、汇率和余量查询在不同旅客和规划步骤之间反复出现。每个结果在一个 TTL 内只获取一次。

数据智能体

只读 SQL 查询和仪表盘指标被记忆化,探索数据的智能体不会把数据仓库压垮。

浏览智能体

已抓取并解析的网页被缓存,同一个页面不会在每次运行中重新下载。

内置功能

您将获得

按参数记忆化

键由工具名称和参数构成,因此每个不同的调用都分别缓存。

TOOL.CACHE.GETTOOL.CACHE.SET

新鲜度控制

每个命名空间有默认 TTL,每个条目还可选设置 TTL。

TTL

有上限的内存

每个命名空间有条目上限,满了之后进行淘汰。

MAX_ENTRIES

节省报告

命中、未命中、淘汰、内存和节省的用量。

TOOL.CACHE.STATS

常见问题

我应该缓存哪些工具?

确定性的只读调用,例如结果只取决于参数的查找、搜索和查询。绝不要缓存会改变状态的工具,例如发送邮件。

缓存的结果可以提前删除吗?

可以。TOOL.CACHE.DEL 删除单个条目,TOOL.CACHE.FLUSH 清空一个命名空间。

哪些套餐包含此功能?

工具缓存包含在 Performance 和 Scale 套餐中。

相关用例

在您自己的工作负载上试试

HotKV 兼容 Redis 协议,您可以把现有客户端指向它,运行这些相同的命令。