
书名:《Agent Runtime 工程化:从工具调用循环到可恢复执行系统》
作者:陈堂会
章节:第三章 最小 Agent Loop / 3.1 最小循环的四个接口
电子版系列:查看完整目录
第三章 最小 Agent Loop:3.1 最小循环的四个接口
最小 runtime 需要四类接口。
第一是 LLM Client。它隐藏不同模型供应商的请求格式,向 runtime 返回统一的 ModelResponse。
第二是 Message Store。它保存用户消息、模型消息、工具调用和工具结果。
第三是 Tool Registry。它告诉模型有哪些工具,也告诉 runtime 如何校验和执行这些工具。
第四是 Loop Controller。它控制最多运行多少步,什么情况下停止,什么情况下报错。
type ModelResponse =
| { kind: "final"; text: string }
| { kind: "tool_calls"; calls: ToolCall[] };
type ToolCall = {
id: string;
name: string;
input: unknown;
};
type ToolResult = {
callId: string;
ok: boolean;
content: string;
errorCode?: string;
};
这些类型比具体 SDK 更重要。因为 runtime 一旦有了自己的中间表示,后面接 OpenAI、Anthropic、本地模型、Vercel AI SDK 或 MCP 都只是 adapter 问题。

