跳到主要内容
返回
← 返回AI Agent 工程:从零到企业应用

AI Agent 工程 · 10

10.1 Agent 为什么需要数据库

区分模型记忆、会话状态和可审计的业务数据库。

Database · SQLite · 状态

目标、前置与白话解释

07 的 Memory 和 State 只帮助会话继续;**数据库(Database,受约束、可查询、可审计的持久记录)**才保存订单、工单和审批事实。前置是 07 与 14 将要学习的权限边界。模型不能把“我记得客户说过”当作订单事实。

Agent/工具 → 授权查询 → SQL 数据库 → 订单/工单事实
                         ↘ 事务、约束、审计

SQL 是操作关系表的语言。关系型数据库用主键唯一标识记录、用外键保持订单与客户关系;事务让“一次建工单+记录幂等键”要么一起成功、要么一起失败。SQLite 是本地单文件教学选择;并发、备份和多实例生产服务通常要评估 PostgreSQL。Redis 常用于短期缓存或队列,不能自动取代权威订单记录。

案例、实践与验收

跨境客服查单、创建售后工单都要按商家和客户过滤。运行 npm run test:agent-course,V4 使用临时 SQLite 文件验证授权订单和持久写入;不包含真实数据。若查询跨商家仍有结果,先检查 SQL 的 merchant 条件,而不是 Prompt。

主动回忆:为什么把订单 ID 放进 session state 后,仍要由数据库再验证?

  • 必须记:对话记忆不是业务事实。
  • 建议记:事务保护成组业务修改。
  • 不用记:示例表名。

官方参考(核对日期:2026-09-21)