读取用量和费用
用量包含输入、输出、缓存和总 token 数,以及费用:TypeScript 和 Java 中为inputTokens、outputTokens、cachedTokens、totalTokens、cost;Python、PHP、Ruby 和 Rust 中为 input_tokens 等;Go 和 C# 中为 InputTokens 等。每个步骤也有自己的用量。
检查运行如何结束
运行状态有queued、running、waiting_for_tools、waiting_for_human、completed、stopped 和 failed;TypeScript 还增加了 cancelled。你拿到的结果是 completed、stopped(满足了某个停止条件,原因记录在运行的停止原因中)、waiting_for_human(参见状态与审批),或者在 TypeScript 中为 cancelled。失败的运行会改为抛出或返回错误;参见事件与错误。
把步骤追溯到它的网关请求
每条步骤记录都把一个模型轮次与处理它的网关请求关联起来。在 Phaseo 日志中搜索请求 ID,或者在上游提供商处搜索原生响应 ID。
步骤位于结果的
steps 中(Go 和 C# 中为 Steps,Java 中为 steps())。Python 的步骤记录是 AgentStepRecord;其他语言称为 RunStep。
在生产环境中记录运行
记录运行 ID、步骤索引、请求 ID、原生响应 ID、提供商、模型、结束原因、工具调用 ID 和停止原因。生命周期钩子会在运行过程中提供所有这些信息;在会发送run.failed 事件的语言中,该事件还带有错误文本。不要记录原始提示词、工具输入或凭据;在事件离开你的进程之前对它们进行脱敏。
如果要在开发期间在本地记录完整的运行,请改用 DevTools。