Skip to main content
结果(outcome)告诉会话最终成果应该是什么样子,以及如何衡量其质量。智能体朝着该目标工作,自我评估并迭代,直到满足结果要求。 当您定义一个结果时,运行框架会自动配置一个评分器(grader),根据评分标准(rubric)评估产出物。评分器使用独立的上下文窗口,以避免受到主智能体实现选择的影响。 评分器会返回一段说明,总结哪些标准通过或未通过,或确认产出物满足评分标准。该反馈会交回给智能体用于下一次迭代。
托管智能体 API 请求需要 managed-agents-2026-04-01 Beta 请求头,但记忆存储端点除外,它们使用 agent-memory-2026-07-22。SDK 会自动设置正确的 Beta 请求头。请参阅Beta 请求头

创建评分标准

评分标准(rubric)是一个描述逐项评分的 markdown 文档。评分标准是必需的。
将评分标准构建为明确的、可评分的条目,例如”CSV 包含一个具有数值的 price 列”,而不是”数据看起来不错”。评分器会独立地对每个条目进行评分,因此模糊的条目会产生噪声较大的评估结果。如果您手头没有评分标准,可以给评估模型一个已知良好的产出物示例,让它分析是什么让该内容变得优秀,然后将该分析转化为评分标准。这种折中方法通常比从零开始编写条目产生更好的结果。
评分标准示例:
将评分标准作为内联文本传递给 user.define_outcome(参见创建带有结果的会话),或通过文件 API 上传以便在多个会话中重复使用。
通过文件 API 上传需要一个授予文件 API 访问权限的 Beta 请求头。您的托管智能体 Beta 请求头本身就授予了此权限,因此您无需同时发送 files-api-2025-04-14。curl 示例显式传递了其标头。

创建带有结果的会话

以下示例为已存在的智能体环境(两者均单独创建)创建一个会话,然后发送一个 user.define_outcome 事件。智能体会立即开始工作。不需要额外的用户消息事件。
您也可以在创建请求本身中定义结果:在 initial_events 中传递单个 user.define_outcome 事件,即可在一次调用中创建会话并开始朝着结果工作。

结果事件

面向结果的会话的进度会在事件上呈现。
  • agent.* 事件(例如消息和工具使用)显示朝着结果的进展。
  • span.outcome_evaluation_* 事件仅在面向结果的会话中发出,显示迭代循环的次数以及评分器的反馈过程。
  • 您也可以向面向结果的会话发送 user.message 事件,以在智能体工作过程中引导其工作,但这不是必需的:智能体会自行朝着结果工作,不断迭代直到成功或用尽迭代次数。
  • user.interrupt 事件会暂停当前结果的工作,并将 span.outcome_evaluation_end.result 标记为 interrupted,允许您启动一个新的结果。
  • 在最终的结果评估之后,会话可以作为对话式会话继续,或者可以开始一个新的结果。会话会保留先前结果的历史记录。

定义结果用户事件

一次只支持一个结果,但您可以按顺序链接多个结果。为此,请在前一个结果的终止 span.outcome_evaluation_end 事件之后发送一个新的 user.define_outcome 事件。
这是您发送以启动结果的事件。它在被接收时会被回显,包括 processed_at 时间戳和 outcome_id

结果评估开始

当评分器在一个迭代循环中开始评估时发出。iteration 字段是一个从 0 开始索引的修订计数器:0 是第一次评估,1 是第一次修订后的重新评估,依此类推。

结果评估进行中

评分器运行时发出的心跳事件。评分器的内部推理是不透明的:您能看到它正在工作,但看不到它在想什么。

结果评估结束

当一个结果评估周期结束时发出:在评分器完成对一次迭代的评估之后,或者在结果处于活动状态时会话被中断时。result 字段指示接下来会发生什么。

检查结果状态

您可以在事件流上监听 span.outcome_evaluation_end,或者轮询 GET /v1/sessions/{session_id} 并读取 outcome_evaluations[].result。在评估完成之前,result 会报告 pendingrunningevaluating

获取交付物

智能体将输出文件写入沙盒内的 /mnt/session/outputs/。一旦会话处于空闲状态,即可通过限定于该会话范围的 文件 API 获取它们。
scope_id 过滤需要在文件请求上使用 managed-agents-2026-04-01 Beta 请求头。SDK 的文件方法只会自动发送文件 Beta 请求头,因此示例中显式传递了它。

后续步骤

使用密钥库进行身份验证

在创建会话时注册每个用户的凭据。

会话事件流

发送事件、流式传输响应,并在执行过程中中断或重定向您的会话。

添加文件

上传文件并将其挂载到您的沙盒中以供读取和处理。