Skip to content

Generation & ToolSpan

通常通过 AgentRun 的方法间接使用这两个类,但也可以直接操作其实例。

Generation

通过 run.startNamedGeneration() 返回。

generation.appendText(text: string): void

追加输出文本。

ts
const gen = run.startNamedGeneration("summary", { model: "openai/gpt-4.1-mini" })
gen.appendText("这是摘要内容")

generation.appendReasoning(text: string): void

追加推理过程。

ts
gen.appendReasoning("分析中...")

generation.end(opts?): void

结束 generation。

ts
gen.end({
  output: "最终输出",
  usage: { input: 50, output: 10, total: 60 },
  cost: 0.005,
})

ToolSpan

通过 run.startTool() 返回。

tool.end(opts?): void

结束 tool span。

ts
// 成功
tool.end({ output: { data: [...] } })

// 失败
tool.end({ error: "连接超时" })

选项

ts
{
  output?: unknown    // 工具输出
  error?: string      // 错误信息(成功时不传)
}

WARNING

无论工具是否成功,都必须调用 tool.end()。 如果 run 结束时 tool span 未关闭,SDK 会自动将其标记为: span leaked: run ended before tool completed

MIT License