数据截至 (上游 commit 31370a8f9b4b)
工具执行、中断与 human-in-the-loop
30 秒导读: 在 Genkit 里,一个「工具」不是什么特殊物件,而是一个多了
interrupt能力的 Action。本章讲两件事:(1) 一次工具调用如何被解析、并行执行、 拼回消息给模型;(2) Genkit 独有的中断/恢复机制——工具可以主动喊「停,我要问人」, 让整轮生成暂停,等外部(通常是人)给答复后再从暂停点续跑。
本章聚焦「单次工具如何被解析、执行、中断、恢复」。至于「何时进入这个工具循环、循环转几圈」, 是 第 3 章 generate 与工具循环 的职责——它是发动机,本章是发动机里 被反复调用的那个零件。
1. 这是什么(零基础也能懂)
一句话定义
工具(tool)= 一个你写的普通函数 + 一份「说明书」。 你把说明书交给模型,模型在对话中觉得 「这里该调用它」时,就吐出一个「请帮我用参数 X 调用工具 Y」的请求;Genkit 负责找到真函数、 带上参数跑一遍、把结果塞回给模型。