当你运行一个智能体时,结果不仅仅是最终答案。它还包括交接边界、下一轮的连续交互面,以及当运行暂停等待审查时可恢复的快照。
选择你需要的结果界面
大多数应用只需要一小部分结果属性:
| 如果您需要 | 使用 |
|---|---|
| 展示给用户的最终答案 | finalOutput in TypeScript or final_output in Python |
| 本地可直接重放的历史记录 | history in TypeScript or to_input_list() in Python |
| 通常应接管下一轮交互的专家智能体 | lastAgent in TypeScript or last_agent in Python |
| 由 OpenAI 管理的响应链接 | lastResponseId in TypeScript or last_response_id in Python |
| 待处理的批准和可恢复的快照 | interruptions 以及 state in TypeScript or to_state() in Python |
这些是指南级别中需要优先学习的界面。更丰富的运行项、原始模型响应和详细诊断信息仍属于 SDK 文档和参考资料的内容。
需要在下一轮中传递的内容
以符合你后续策略的方式使用结果:
- 如果你的应用拥有完整的本地历史记录,请复用
.historyin TypeScript orto_input_list()in Python - 如果你正在使用会话,请继续传递相同的会话,让 SDK 为你加载并持久化历史记录。
- 如果你正在使用服务端管理的连续机制,只需传递新的用户输入并复用已存储的 ID,而不是重放完整的对话记录。
- 在交接之后,复用
当该专家智能体在下一轮仍需保持控制时。lastAgentin TypeScript orlast_agentin Python
被中断的运行返回的是状态,而不是最终答案
审批流程是导致结果被有意标记为未完成的主要场景。
可以保持为空,因为运行实际上尚未完成。finalOutputin TypeScript orfinal_outputin Pythoninterruptions告诉你哪些待处理的工具调用需要做出决策。 这是在你批准或拒绝这些项目后,传回运行时的已保存快照。statein TypeScript orto_state()in Python
当审查可能发生在稍后而不是在同一个请求中时,你需要序列化的正是该状态界面。
更丰富的项目和诊断界面
对于需要比上述高级界面更多功能的应用,SDK 还暴露了更丰富的运行项和诊断信息。这包括项目级别的工具和交接记录、原始模型响应、防护栏结果以及用量详情。
这些对于审计、自定义界面和深度调试非常有用,但它们不需要成为大多数开发者在本站学习的第一件事。
后续步骤
了解了哪些结果界面是重要的之后,请继续阅读解释如何生成或检查这些界面的指南。