OpenAI 官方指南:智能体编排 - 流程与任务交接
本文翻译自 OpenAI Cookbook 的 Orchestrating Agents: Routines and Handoffs Ilan Bigio Oct 10, 2024 当使用语言模型时,通常只需要设计一个好的提示词并配合合适的工具,就能获得不错的效果。然而,当你需要处理许多不同的流程时,情况可能会变得复杂。本手册将介绍一种方法来应对这些复杂情况。 我们将引入“常规任务 (routine)”和“任务交接 (handoff)”的概念,并逐步展示如何实现这些功能,以及如何通过它们协调多个 AI 智能体 (agents),从而实现简单、强大且可控的系统。 最后,我们提供了一个示例仓库 Swarm,它实现了这些想法并附带了示例代码。 让我们从设置导入开始: from openai import OpenAI from pydantic import BaseModel from typing import Optional import json client = OpenAI() 常规任务 (Routines) “常规任务”这个概念没有严格的定义,主要用来表示一系列步骤。具体来说,我们可以将常规任务定义为一组用自然语言编写的指令 (我们通过系统提示词来实现),以及完成这些任务所需的工具。 让我们来看一个示例。下方代码定义了一个客户服务智能体的常规任务,指示它对用户问题进行分类,然后要么建议解决方案,要么提供退款。我们还定义了两个辅助函数 execute_refund 和 look_up_item。你可以把它称为客户服务常规任务、智能体或助手,但核心思想相同:一组步骤和执行这些步骤的工具。 # Customer Service Routine system_message = ( "You are a customer support agent for ACME Inc." "Always answer in a sentence or less....