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

《Agent Runtime 工程化》第三章 最小 Agent Loop:3.2 tool schema 不是给模型看的摆设

工具 schema 有两个读者。模型用它决定怎么调用工具,runtime 用它判断调用是否合法。 以 readfile 为例: 不要把 schema 发给模型后就放心。模型返回的参数必须再次校验。校验失败不该让程序崩溃,应当变成一条 observation: 这很关键。工具参数错了,并不总是任务失败

站点编辑发布于 2026/8/13更新于 2026/11/1370 浏览
《Agent Runtime 工程化》第三章 最小 Agent Loop:3.2 tool schema 不是给模型看的摆设

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

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

作者:Neo

章节:第三章 最小 Agent Loop / 3.2 tool schema 不是给模型看的摆设

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

第三章 最小 Agent Loop:3.2 tool schema 不是给模型看的摆设

工具 schema 有两个读者。模型用它决定怎么调用工具,runtime 用它判断调用是否合法。

以 read_file 为例:

import { z } from "zod";

const ReadFileInput = z.object({
  path: z.string().min(1),
  startLine: z.number().int().positive().optional(),
  endLine: z.number().int().positive().optional(),
});

type ReadFileInput = z.infer<typeof ReadFileInput>;

不要把 schema 发给模型后就放心。模型返回的参数必须再次校验。校验失败不该让程序崩溃,应当变成一条 observation:

function invalidArgs(call: ToolCall, reason: string): ToolResult {
  return {
    callId: call.id,
    ok: false,
    errorCode: "INVALID_ARGUMENTS",
    content: `工具参数不合法:${reason}`,
  };
}

这很关键。工具参数错了,并不总是任务失败;它可能只是模型需要重新规划的一次观察。


系列导航

前 5 篇

  • 第三章 最小 Agent Loop:3.1 最小循环的四个接口
  • 第三章 最小 Agent Loop:导读
  • 第二章 TypeScript / Node Runtime 基础:2.8 验收标准
  • 第二章 TypeScript / Node Runtime 基础:2.7 动手任务
  • 第二章 TypeScript / Node Runtime 基础:2.6 资源清理比重试更重要

后 5 篇

  • 第三章 最小 Agent Loop:3.3 工具调用 roundtrip
  • 第三章 最小 Agent Loop:3.4 max steps 与 stop condition
  • 第三章 最小 Agent Loop:3.5 三个最小工具
  • 第三章 最小 Agent Loop:3.6 一个 mini-agent 的目录
  • 第三章 最小 Agent Loop:3.7 常见失败

目录

  1. 第三章 最小 Agent Loop:3.2 tool schema 不是给模型看的摆设
  2. 系列导航
  3. 前 5 篇
  4. 后 5 篇

更多推荐文章

查看全部
  • 基于 SpringBoot 的艺术展览网站设计与实现
  • 国内大型语言模型研发进展与突破性应用
  • C++ stack 与 queue 的使用与模拟实现
  • 前端拖拽交互实现:原生 API 与第三方库对比
  • OpenClaw Web UI 访问报错 Not Found 问题排查与解决
  • 基于 FPGA 的千兆以太网源代码实现与设计实战
  • AI 图像生成指南:从原理到实战
  • Rust 核心基础数据类型与变量系统
  • Mamba 依赖包安装记录:Windows 与 Linux 环境配置
  • Java 云原生开发:核心优势与 AWS Lambda 实战
  • Python 副业渠道推荐与接单注意事项
  • C++ 位运算实战:从基础操作到经典算法题解
  • 基于SpringBoot的校园资料分享平台设计与实现
  • 数据结构:二叉树与堆的实现详解
  • Python爬虫实战:爬取Chrome Web Store扩展商店数据及导出
  • C++ TCP Socket 网络编程基础与封装实战
  • 硕士论文盲审前降低 AI 检测率及评委关注点分析
  • C++ STL 容器常用函数与实战技巧
  • InspireFace 与其他开源人脸识别 SDK 性能对比及选型指南
  • JDK 下载、安装与环境配置完整指南

相关免费在线工具

  • 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