跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言Agent Runtime教程

《Agent Runtime 工程化》第四章 工具系统设计:4.1 Tool Registry 的真正职责

Tool Registry 不是一个 Map<string, Function。它至少保存以下信息: 这些字段不是装饰。description 会影响模型是否选择工具;inputSchema 负责校验;riskLevel 进入权限审批;timeoutMs 进入执行器;outputPolicy 进入上

站点编辑发布于 2026/8/13更新于 2026/10/145 浏览
《Agent Runtime 工程化》第四章 工具系统设计:4.1 Tool Registry 的真正职责

《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》封面

书名:《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》

作者:陈堂会

章节:第四章 工具系统设计 / 4.1 Tool Registry 的真正职责

电子版系列:查看完整目录

第四章 工具系统设计:4.1 Tool Registry 的真正职责

Tool Registry 不是一个 Map<string, Function>。它至少保存以下信息:

type RiskLevel = "read" | "write" | "network" | "install" | "destructive";

type ToolDefinition<I = unknown, O = unknown> = {
  name: string;
  title: string;
  description: string;
  version: string;
  inputSchema: unknown;
  riskLevel: RiskLevel;
  sideEffects: string[];
  timeoutMs: number;
  outputPolicy: {
    maxCharsForModel: number;
    summarizeWhenLarge: boolean;
  };
  execute(input: I, ctx: ToolContext): Promise<O>;
};

这些字段不是装饰。description 会影响模型是否选择工具;inputSchema 负责校验;riskLevel 进入权限审批;timeoutMs 进入执行器;outputPolicy 进入上下文预算;version 帮助兼容旧 trace 和 eval。

一个工具定义如果没有风险等级和输出策略,就像一篇报道没有事实来源和责任编辑,短期能发,长期会出事。

工具治理管线

图 4-1:工具治理管线。工具从函数进入 runtime,要经过定义、校验、风险分类、执行预览、结果归一化和上下文预算。

读这张图时要抓住一件事:工具系统不是模型的附属品。工具定义同时服务四个消费者:

消费者读取的字段用途
模型name、description、inputSchema判断是否调用、如何填参数
Permission GateriskLevel、sideEffects、preview决定自动执行、询问或拒绝
ExecutortimeoutMs、资源限制控制执行过程和失败语义
Context BuilderoutputPolicy、结果类型决定注入全文、摘要或引用

少填一个字段,可能不会立刻报错,但后面某个系统会用猜的方式补上。工程事故经常就从'先随便填一下'开始。


系列导航

前 5 篇

  • 第四章 工具系统设计:导读
  • 第三章 最小 Agent Loop:3.9 验收标准
  • 第三章 最小 Agent Loop:3.8 动手任务
  • 第三章 最小 Agent Loop:3.7 常见失败
  • 第三章 最小 Agent Loop:3.6 一个 mini-agent 的目录

后 5 篇

  • 第四章 工具系统设计:4.2 Schema:从 Zod 到 JSON Schema
  • 第四章 工具系统设计:4.3 工具版本演进
  • 第四章 工具系统设计:4.4 并行工具调用
  • 第四章 工具系统设计:4.5 失败分类
  • 第四章 工具系统设计:4.6 权限预览

目录

  1. 第四章 工具系统设计:4.1 Tool Registry 的真正职责
  2. 系列导航
  3. 前 5 篇
  4. 后 5 篇

更多推荐文章

查看全部
  • C++11 核心新特性解析:列表初始化、声明优化与右值引用
  • Python 网络爬虫实战:采集附近店铺信息并保存至 CSV
  • Spatial Joy 2025 AR&AI 开发大赛:奖金、赛道与实战指南
  • Ubuntu 22.04 部署 OpenClaw 实战:多模型接入与网络搜索配置
  • Python 模块与包导入机制详解
  • 2026 年医疗 AI 可信架构与全栈实现(上)
  • 智源研究院开源中英双语 AltDiffusion 模型
  • DeepSeek 各版本演进与核心特性对比
  • 单链表数据结构详解与 C 语言实现
  • 注意力机制与 Transformer 模型实战
  • Deep Java Library:Java 开发者实现 AI 功能的框架
  • 大模型(LLM)在金融投资领域的应用
  • ToDesk、顺网云与海马云部署 DeepSeek 模型对比评测
  • 利用 Trae IDE 与 MCP Server 将 Figma 设计稿转为前端代码
  • Android 技术面试指南:Java、Kotlin 与核心知识点解析
  • Suno AI 快速入门与创作指南
  • Android 插件化开发:如何在插件中加载和使用 R 资源
  • Flutter inappwebview_cookie_manager 在鸿蒙 HarmonyOS 上的适配实践
  • HDFS EC 基础:Vandermonde 范德蒙德矩阵原理
  • 无需 Mac:在 Windows 电脑完成 uni-app 开发并发布 iOS 应用

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online