AI / Agent 文档入口
让模型在明确 schema、权限、成本和失败语义下使用 PostgreSQL
模型不会因为“会写 SQL”就理解你的数据库。可靠系统需要把数据库上下文变成契约,把执行能力收窄成工具,并把正确性变成可重复评估。
上下文契约
向模型提供哪些稳定事实,以及哪些信息不应进入上下文。
安全 SQL 护栏
只读优先、超时、行数上限、事务与人工确认。
Text-to-SQL
从自然语言到受控查询的生成、校验、执行与拒答。
Schema 检索
从系统目录生成紧凑、可版本化、可检索的 schema 摘要。
RAG 管道
权限过滤、混合检索、pgvector 和可追溯引用。
安装 pgvector
Docker、Ubuntu、云服务中的安装、启用与版本验证。
向量检索生产化
exact 基线、HNSW/IVFFlat、过滤召回与在线监控。
Agent 评估
用固定数据集、结果断言和执行计划回归测试。
推荐架构
用户意图
→ 任务分类(读 / 写 / DDL / 运维)
→ 检索 schema 契约与相关文档
→ 模型生成结构化 tool call
→ 策略层校验 AST、权限、成本与参数
→ 受限数据库角色执行
→ 返回行数、SQLSTATE、耗时与截断状态
→ 记录审计事件数据库凭据不进入模型上下文。模型不直接选择连接目标。工具层必须绑定环境、database、schema 和 role。
风险分级
| 等级 | 例子 | 默认策略 |
|---|---|---|
| R0 | 列表、描述 schema、带上限的只读查询 | 自动执行,短超时 |
| R1 | 读取敏感列、较大聚合 | 权限过滤、审计、成本上限 |
| R2 | INSERT / 有主键条件的单行 UPDATE | dry-run + 业务 API 或明确确认 |
| R3 | 批量写、DDL、权限、复制、备份恢复 | 不向通用 Agent 暴露;专家流程 |
提示词不是安全边界
“不要删数据”只是一条行为建议。真正的边界来自数据库角色、网络隔离、只读事务、SQL 解析与工具白名单。
最小成功标准
一个可上线的数据库 Agent 至少应做到:所有值参数化;默认只读;限制语句时间和结果行数;拒绝多语句;不向模型返回 secret;记录查询指纹和审计信息;针对 40001、40P01、57014 等状态码有确定行为。
Last updated on