第五部分 AI 代理
本章提供有关在工作区中创建、测试、部署和监视代理的信息。
代理是端到端的代理应用。代理通过由不同类型(触发器、代理、护栏或工具)的节点表示的步骤图形进行定义。可以通过无代码可视化流构建器以及通过第三方库(如 LangGraph)的代码来定义代理。
- 定制工具:通过定制代码工具,代理开发人员可以使用自己的 Python 代码扩展 AI 数据平台。将工具实施打包为 ZIP 文件,将其上载到工作区并进行配置。代理使用 LLM 在运行时提供的参数将代码调用为工具。
- HTTP :通过 HTTP 请求工具,您的代理可以调用任何 HTTPS REST API。您可以配置请求,包括方法、URL、标头、查询参数、请求正文、验证以及(可选)响应优化步骤。然后,代理在运行时调用端点。HTTP 请求工具在可视化构建器和代码构建器中都可用。在代码构建器中,该工具通过 helppUtils Python 库进行配置。
- 提示:通过提示工具,AI 开发人员可以定义可向 LLM 发出的参数化提示供他们选择。提示工具的常见用例包括电子邮件起草任务、翻译任务、样式转换、git 提交消息和代码说明。
- 远程 MCP 服务器:代理开发人员可以使用远程 MCP 服务器工具将其代理连接到远程模型上下文协议 (MCP) 服务器。
- RAG :借助 RAG 工具,座席可以在生成响应之前提取相关的外部知识。在 AI Data Platform Workbench 中,RAG 工具查询知识库 (23ai Vector Search),并检索语义相关的文档块。然后将这些块传递给代理以生成响应。
- SQL :使用 SQL 工具,代理可以对通过外部目录(例如 Oracle Autonomous AI Lakehouse、Oracle Autonomous AI Transaction Processing 或 Oracle AI Database)注册的结构化数据源执行 SQL 查询。该工具适用于预定义 SQL 查询并可以进行参数化的情况。目标是让代理为参数分配值。此工具不是基于自然语言提示生成 SQL 查询的 NL2SQL 工具。
注意:
SQL 工具仅对外部目录中的数据执行查询。它不支持存储在标准目录中的数据。
注意:
必须先将 AI 计算附加到代理,然后才能测试系统工具。如果未附加计算,则禁用“Test(测试)”选项卡。在 AI Data Platform Workbench 中创建代理将在您选择的工作区文件夹中生成代理构件文件 (.aflow)。无法修改此文件。
第 V 部分代理内存
代理内存是 AI 代理系统的一部分,该系统允许代理在轮流、任务或会话中保留和重复使用信息。
与模型的上下文窗口(仅限于当前提示)不同,内存可以持久保存事实、首选项、先前决策、工具输出、中间计划或有关环境的观察。
AI 数据平台中的代理内存
AI Data Platform 提供短期内存,仅限于会话持续时间。您可以在代理的 "Memory"(内存)选项卡中配置可以保留在内存中的内容。
单代理内存配置
可以在代理节点的 "Memory"(内存)选项卡中找到单个代理系统的内存配置。

| 内存配置 | 说明 |
|---|---|
| 启用代理内存 | 此设置启用代理内存。禁用时,代理本质上是一个无状态系统。每个回合都独立处理,并且不能询问后续问题。我们建议启用内存。 |
| 限制对话历史记录 | 禁用此选择时,前一轮将填充内存,直到模型用完上下文并返回错误。如果需要短会话,则可以禁用此设置。但是,对于大多数用例,我们建议限制对话历史记录。 |
| 截断配置 | 如果您选择限制对话历史记录,则可以通过以下方式决定截断历史记录:
|
| 最大消息限制 | 如果选择保留最后 N 条消息,则可以设置值 N。 |
| 令牌预算 | 或者,您可以设置整体令牌预算。第一个令牌被删除,以将最新的令牌保留在内存中。 |
多代理系统内存配置(主管模式)
多代理系统的内存在超级用户代理的 "Memory"(内存)选项卡中配置。

多代理系统的内存已强制实施且无法禁用,并且超级用户代理节点中显示的内存截断选项仅应用于超级用户代理内存。可以根据为整个系统选择的状态隔离策略,在执行器节点 "Memory"(内存)选项卡中配置每个执行器代理内存截断策略。
多代理系统内存配置还允许您选择执行程序代理的内存共享策略。有三个选项:Stateless、Private 和 Shared。请注意,该策略将应用于所有执行程序代理。
| 执行者代理的状态隔离 | 说明 |
|---|---|
| 无状态 | 每个执行程序代理只能看到由主管分配的任务。呼叫之间未结转任何历史记录。执行程序代理无法向主管代理发出跟进请求。
如果选择了无状态,则会禁用每个执行程序代理的内存。 |
| 专用 | 每个执行程序代理只能看到自己过去的交互。
它无法看到其他执行程序代理或与主管代理的原始用户对话。 |
| 共享 | 执行者座席可以查看座席和用户的完整对话历史记录。所有代理都在一个共享上下文中工作。
如果选择了 "Shared"(共享),则可以在每个代理节点的 "Memory"(内存)选项卡中为每个执行程序代理单独配置内存截断策略。 |