返回 Microsoft 简报

使用 SQL Server 和 Microsoft Agent Framework 赋予智能体记忆能力

在本期 Data Exposed 节目中,Anna Hoffman 和 Chris Noring 演示了如何使用 Microsoft Agent Framework 和 SQL Server 为 AI 智能体实现上下文和会话记忆。通过创建自定义历史记录提供程序子类,开发人员可以无缝持久化聊天历史记录,通过定制化推荐来防止购物车遗弃。该框架的架构结合了 AutoGen 的多智能体能力与 Semantic Kernel 的语义功能,提供了一个与数据库无关的解决方案,可实现从本地开发到 Azure 云端生产环境的平滑过渡。

处理日期:2026 年 5 月 30 日
架构图展示了 Microsoft Agent Framework 编排一个利用在 Docker 中运行的本地 SQL Server 历史记录提供程序来管理聊天状态的智能体,并连接到 Dev UI 可观测性界面。

执行摘要

AI 智能体需要可靠的记忆层来准确提供个性化推荐,并提高电子商务等应用中的用户留存率。

Microsoft Agent Framework 允许开发人员配置自定义上下文提供程序和历史记录提供程序,以自动跟踪会话状态。

SQL Server 可作为高度安全、受信任的企业级数据库后端,通过 Docker 容器在本地或在 Azure 云中存储聊天历史记录。

内置的 Dev UI 工具提供了一个图形化环境,可在智能体之间进行下拉切换、查看事件触发器、检查追踪并记录工具执行情况。

关键要点

  • 具备记忆能力的智能体通过根据明确的用户约束定制体验,来减少购物车遗弃率。
  • 历史记录提供程序子类需要实现核心方法,包括 get_messages 和 save_messages。
  • Microsoft Agent Framework 是 AutoGen 编排框架与 Semantic Kernel 功能的战略性融合。
  • 在云端部署之前,开发人员可以使用标准镜像在 Docker 容器内本地运行 SQL Server 依赖项。
  • 该框架可自动管理上下文加载,将复杂的临时状态管理从应用程序代码中抽象出来。
  • 连接字符串可以轻松地将目标从本地实例切换到面向生产环境的 Azure SQL Database 实例。
  • 推荐从第一天起就将原生的 Dev UI 作为可视化实时智能体执行行为和工具调用历史的工具。

构建者启发

  • 在 Python 中继承基础历史记录提供程序接口,将聊天 Token 直接管道化输送到企业数据库引擎中。
  • 在 get_messages 参数中使用特定的唯一会话 ID 或用户名来实现会话隔离。
  • 利用适用于 SQL Server 的标准 Python 库来处理指向本地主机(localhost)容器端口的底层数据连接。
  • 先基于本地 Ollama 模型路径和本地 SQL Server 构建初始智能体架构,再将数据库连接字符串迁移到 Azure SQL。
  • 在本地执行 dev UI 命令以监控执行步骤,从而最大程度地减少多智能体配置期间的排错时间。

待验证事项

  • 确保用于 SQL Server 的本地 Docker 容器已正确映射到 Python 数据库配置常规程序中指定的相同端口。
  • 确认子类在匹配的会话标识符下正确保存了用户提示词和模型补全内容。
  • 在将代码块过渡到 Azure 函数之前,检查您的环境变量或本地凭据是否符合安全指南。
  • 验证用于处理 Python 数据库连接的相应包依赖项已完整添加到配置清单中。