在现有APEX应用中集成AI代理的实践指南
ai代理oracle apexpl/sql向量搜索自动化项目管理
原文地址: https://blog.cloudnueva.com/adding-ai-agent-to-apex-app
## 在现有 APEX 应用中集成 AI 代理

## 引言
现代前沿大语言模型(LLM)与强大的编排和防护措施结合后,已足够可靠以支持实际的代理工作流。在现有 APEX 应用中添加代理可以实现以下目标:
* 简化用户工作流
* 简化用户界面
* 自动化重复性任务
* 利用现有数据模型、视图、API等
* 以最小投入获得构建代理的经验
## AI 代理简介
通过将前沿模型与工具(PL/SQL API、Web 服务)和强治理(权限、审计、防护措施)结合,可以构建一个能够在定义的约束内安全执行多步业务任务的 AI 代理。
为 APEX 构建的代理使用 PL/SQL 框架管理"代理循环"。在这个循环中,LLM 提出建议运行哪些工具,而你的代码决定是否运行它们。你的代码始终掌握控制权。

## 简化项目管理
在项目管理应用中,AI 代理通过提供聊天式界面简化了查找信息、自动化重复操作和呈现项目洞察的过程。

## 工具集
我们为代理提供了以下工具:
* 显示项目结构
* 列出项目团队成员
* 搜索问题、风险和问题(通过向量搜索)
* 创建问题、风险和问题
* 更新问题、风险和问题
## 架构组件
### 编排器
编排器是一个 PL/SQL 过程,控制代理循环。它使用数据库表在工具调用之间维护状态。
### 大脑
编排器在每次请求时向 LLM 传递系统提示,作为代理的"大脑"。
### 调度器
当 LLM 请求工具时,调度器:
1. 验证工具是否存在
2. 验证参数有效性
3. 验证用户权限
4. 执行 PL/SQL 函数或过程
5. 返回响应给编排器
## 向量搜索
搜索工具使用向量搜索实现语义搜索功能。我们建立了队列机制,APEX 自动化每15分钟处理一次队列内容,使用 `VECTOR_CHUNKS` 和 `VECTOR_EMBEDDING` SQL 函数处理内容。
## 经验教训
* 永远不要依赖模型处理安全或数据完整性
* 记录一切并保持对话可重放
* 使工具可配置以轻松切换人工确认
* 编写 PL/SQL API 时不要假设消费者是 APEX
* 注意上下文大小
* 启用并行工具调用减少循环次数
* 优雅处理失败情况
* 设置最大迭代次数
* 优化用户体验
## 演示

## 幕后
特权用户可以启用诊断功能,查看对话期间跟踪的所有记录。

## 结论
在现有 APEX 应用中添加 AI 代理是引入 AI 功能而不重写系统的实用方法。关键在于保持架构简单:让 LLM 解释用户意图并建议操作,但在代码中保持控制。从有限范围开始,使用少量定义明确的工具和强大的检测功能,然后逐步扩展代理能力。