
书名:《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》
作者:陈堂会
章节:第三章 最小 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, : ): {
{
: call.,
: ,
: ,
: ,
};
}

