33 lines
949 B
Markdown
33 lines
949 B
Markdown
---
|
||
title: "ToolRegistry"
|
||
created: 2026-05-11
|
||
updated: 2026-05-11
|
||
type: concept
|
||
tags: [agent-architecture, tool-design, api]
|
||
sources: [[prompt-caching-architecture]]
|
||
---
|
||
|
||
# ToolRegistry
|
||
|
||
## 定义
|
||
|
||
ToolRegistry 是 [[stub-pattern|Stub 模式]] 中的核心组件,提供统一的工具调用接口。Agent 通过 ToolRegistry 间接调用具体工具,而非直接与工具定义交互。
|
||
|
||
## 工作流程
|
||
|
||
1. Agent 决策:调用 `ToolRegistry.invoke("fetch_factor_data", {ticker: "AAPL", time_range: "1d"})`
|
||
2. ToolRegistry 解析工具标识符,查找对应实现
|
||
3. 动态加载/执行具体逻辑,返回结果
|
||
4. 对 Agent 而言,ToolRegistry 的定义在会话中**从未改变**
|
||
|
||
## 工程价值
|
||
|
||
- 隔离工具定义变更对缓存的影响
|
||
- 支持运行时动态注册/卸载工具(对缓存透明)
|
||
- 统一错误处理和日志记录入口
|
||
|
||
## 相关概念
|
||
|
||
- [[stub-pattern|Stub 模式]]
|
||
- [[prompt-caching|Prompt Caching]]
|