IvorySQL Agent 探索与实践
本文基于 HOW 2026 Oreo Yang 的演讲内容整理。一、项目背景1.1 什么是 IvorySQLIvorySQL 是一个基于 PostgreSQL 并兼容 Oracle 的开源关系型数据库项目致力于提供灵活、高性能的数据管理解决方案。其核心特性包括Oracle 兼容支持 Oracle 数据类型、PL/SQL 语法、内置函数及 Package 包显著降低从 Oracle 迁移或混合部署的技术门槛与成本。社区生态拥有活跃的开源社区通过社区协作持续推动产品迭代与技术创新。部署灵活性支持传统部署、容器化、云服务、在线体验、沙盒环境等多种部署方式。1.2 项目背景与目标数据库运维面临多重挑战指标分散、诊断困难、人力成本高、文档查找繁琐。IvorySQL Agent 的核心理念是利用大模型技术实现智能对话与自动化分析构建一站式监控、诊断、运维辅助平台。项目要解决的六大核心问题包括智能文档检索、数据库运维、性能调优、SQL 编写效率提升、企业知识管理最终通过 AI 技术实现从“被动检索”到“主动服务”的转型。1.3 什么是 AgentAgent 大模型 工具 推理。智能体将语言模型与工具能力结合能够对任务进行推理、决定使用哪些工具并通过迭代寻求解决方案。IvorySQL Agent 的技术选型模型层支持 OpenAI GPT 系列、Anthropic Claude 系列、智谱 AI 等多模型后端工具层21 个数据库工具覆盖 7 大领域专家框架层基于 LangGraph 工作流编排实现 ReAct 循环迭代知识层矩阵式知识库覆盖多版本、多模式二、系统架构2.1 整体架构系统采用四层架构设计层级技术栈职责Web 接入层FastAPI 静态资源 CORS用户界面交互智能路由层LangGraph 工作流 状态管理意图识别与请求分发专家 Agent 层NL2SQL / Analysis / Ops / Backup / Install / Knowledge / General领域任务处理工具与存储层数据库工具集 LLM 接口 向量存储 时序数据库数据访问与工具执行2.2 核心数据流系统运行两条核心工作流监控采集流通过 Collector 设计覆盖 50 监控指标连接、缓存、锁、事务、查询、表膨胀等。针对 IvorySQL 的 Oracle 兼容模式动态注册自定义类型编解码器。采集数据以 JSONB 格式存储于 PostgreSQL后台采用 APScheduler 每 30 秒执行一次采集任务并通过 Delta 增量计算减少开销。智能对话流用户输入经路由分发至对应 Agent构建上下文后调用工具链执行推理最终生成回答并返回用户。2.3 异常检测规则引擎 LLM 协同异常检测采用规则引擎与 LLM 协同工作的双轨机制规则引擎预定义阈值规则命中后自动触发 LLM 分析LLM 分析支持 Claude/OpenAI/智谱 AI 等多模型对异常进行智能解读向量化存储512 维本地向量支持 256~2048 维自定义配合 pgvector 索引加速检索历史学习通过相似案例检索复用诊断经验三、关键技术实现3.1 两阶段智能路由路由系统采用渐进式匹配策略Phase 1确定性路由基于关键词与正则表达式匹配响应时间约 0ms覆盖约 70% 的场景Phase 2LLM 分类规则匹配失败时调用大模型进行意图识别响应时间约 300msPost-Confirm短路复用机制0ms 完成缓存命中7 个意图域的差异化配置域触发方式工具数RAG top_k上下文范围nl2sql关键词 LLM54schema packagesanalysis关键词 LLM55全量ops关键词 LLM83会话指标子集backup关键词 LLM53知识库install关键词 LLM45知识库knowledge关键词 LLM1 ★10 ★知识库最高召回generalLLM only ★21 ★5全量关键设计决策关键词互斥精心设计正则防止跨域冲突如 analysis 的“索引建议”≠ ops 的“索引管理”中英双语每域同时维护中英文关键词正则渐进降级关键词 → LLM 分类 → general 三层兜底模式感知根据 compat_mode 动态裁剪工具表Oracle 模式含 getpackagesPG 模式自动排除LLM 容错指数退避重试 ×2JSON 解析失败时提取首词超时降级 general域隔离防污染knowledge 域仅配 1 个工具SQL 约束按域过滤防止误写入操作3.2 本地向量检索零外部依赖嵌入模型采用 BAAI/bge-small-zh-v1.5512 维支持中英双语完全离线运行。使用 fastembed 进行本地推理无外部 API 调用。处理性能约为每千份文档 1~2 分钟。向量存储pgvector 扩展IVFFlat 索引加速余弦距离相似度搜索。知识库来源IvorySQL 官方文档 PostgreSQL 官方文档 历史分析结果向量化。RAG 检索策略采用“加权向量搜索 BM25 重排 MMR 多样化”组合方案。文档 Title 与 Content 分别赋予 0.3 和 0.7 的权重检索结果经 BM25 关键词重排后通过 MMRthreshold0.46引入多样化内容避免结果过度集中。知识库切片管理按文档章节划分每个切片附带 YAML frontmatter 元数据包含 title、category、tags、source、version、mode、content_hash 等字段。其中 version 和 mode 标记适用数据库版本与模式防止跨版本知识污染content_hash 防止重复导入。3.3 上下文管理与智能压缩缓存机制Schema 缓存1 小时 TTLDDL 后自动失效包定义缓存IvorySQL Oracle 模式包信息实时指标动态加载当前会话、锁、慢查询历史异常RAG 检索相关案例top-K5智能压缩机制应对 15 轮长对话智能分类DDL vs 普通对话选择性保留DDL 最近 6 轮Token 检查必要时裁剪LLM 摘要生成压缩旧对话注入[摘要] 保留历史 → LLM 获得优化上下文3.4 工具系统与安全控制工具系统注册了 21 个内置工具分领域管理SQL 验证四层防护① Prompt 预过滤拦截 80% 无效 SQL 生成→ ② 语法缓存校验 → ③ 预确认验证捕获兼容性问题→ ④ 错误反馈重试最多 3 次自动修正安全认证API Token SHA256 配置热重载审计系统操作日志与错误追踪IvorySQL 适配Oracle/PG 模式工具差异化Reflect 机制类型安全转换 JSON 友好输出 大模型审核3.5 Chat 流程规划 · 生成 · 验证 · 流式输出Plan 规划多步写任务由 LLM 生成 JSON 格式步骤计划已执行步骤标记完成后注入进度到上下文防止重复执行或乱序。SSE 流式输出token、tool_start、tool_end 实时推送status、confirm、complete、error 节点事件。出错时前端保留已流内容错误追加于下方。状态往返plan、plan_idx、domain 经 API 在确认轮次间往返保证多步计划跨轮次连贯性无需重建上下文。3.6 部署架构采用 Docker 容器化设计服务拆分存储 PostgreSQL Agent 服务 Grafana 可视化 knowledge 一次性导入配置管理settings.json 运行时配置支持热更新多目标支持监控多个 IvorySQL 实例支持活跃切换环境隔离虚拟环境 依赖版本锁定一键启动docker-compose 编排全部服务四、技术特色纯离线本地运行无需外部 API多 RAG 领域扩展当前 7 个 Agent可继续扩展智能上下文缓存与压缩机制多层次安全校验与审计日志模块化可扩展设计支持自定义工具与知识库五、应用场景场景用户问题处理 Agent连接数异常诊断“为什么连接数这么高”Ops Agent 分析活跃会话、长事务提供详情与终止建议慢查询优化“帮我找出最慢的查询”NL2SQL Agent 检索慢查询日志展示 SQL 文本、执行次数、平均耗时备份配置查询“备份配置正常吗”Backup Agent 检查 WAL 归档、最近备份时间、归档状态知识库问答“如何使用 %rowtype”Knowledge Agent 检索 RAG 知识库构建 LLM context生成 SQL 用例六、未来规划6.1 短期规划完善智能 Agent 框架支持多 Model 后端与流式输出实现 IvorySQL 与 PostgreSQL 双模式兼容优化路由提示词与工具适配多模态输入支持文件分析、截图识别、语音输入知识库管理在线新增、编辑、删除知识条目与切片6.2 长期规划功能扩展多模式多版本支持覆盖 Postgres 与 IvorySQL 的主流版本自动化修复对低风险操作终止会话、创建索引支持一键执行多实例管理统一管理多个 IvorySQL 实例跨实例对比分析安全与访问控制多层级认证、细粒度权限、只读保护告警通知集成邮件、钉钉、Slack 等渠道自学习能力从历史操作中学习用户偏好和最佳实践更多领域 Agent安全加固、高可用架构、性能调优专家愿景IvorySQL 作为 AI 数据基础设施平台原生集成 pgvector成为 Agent 首选向量存储多语言 SDK开箱即用3 行代码实现 RAG 应用Agent 开发套件内置 LangGraph/LlamaIndex 模板一键部署Docker Compose 启动完整 Agent 开发环境IvorySQL Agent SDK 核心能力# 3 行代码实现 RAG 应用pip install ivorysql-vector-sdkfromivorysqlimportVectorDB dbVectorDB(postgresql://...)db.add_documents(docs)answerdb.query(用户问题)核心优势无需配置外部向量服务IvorySQL 开箱即用。七、总结IvorySQL Agent 是 IvorySQL 社区在 AI 赋能数据库管理领域的一次系统性探索。项目基于 ReAct 框架与 LangGraph 工作流编排构建了覆盖路由、检索、上下文管理、工具调用和安全审计的完整技术体系实现了从自然语言到数据库运维动作的端到端自动化。未来项目将持续向多模态交互、自动化修复、SDK 生态等方向演进降低数据库的使用门槛提升运维效率让 IvorySQL 不仅是优秀的数据库更成为智能数据管理的基础设施。