教程 5:记忆代理——会话、状态与事件 欢迎来到记忆与会话管理教程!本教程将教你如何创建能够记住对话、保持上下文并在多次交互中提供个性化体验的 AI 代理。 你将学到的内容 会话管理:代理如何保持对话上下文 状态持久化:存储和检索对话数据 事件追踪:理解对话流程与历史记录 记忆类型:内存、数据库以及云端记忆解决方案 个性化:创建能记住用户偏好的代理 核心概念 会话——对话容器 会话就像一条对话线程,用于记录用户与代理之间所有的交互内容。 示例:当你开始与旅行代理聊天时,一个会话便被创建。你关于航班、酒店及偏好的所有问题都会保存在这个会话中。 状态——当前上下文 状态代表代理在对话过程中需要记住的当前上下文与数据。
欢迎来到记忆与会话管理教程!本教程将教你如何创建能够记住对话、保持上下文并在多次交互中提供个性化体验的 AI 代理。
会话就像一条对话线程,用于记录用户与代理之间所有的交互内容。
┌─────────────────────────────────────────────────────────────┐ │ SESSION LIFECYCLE │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ CREATE │───▶│ ACTIVE │───▶│ CLOSED │ │ │ │ SESSION │ │ CONVERSATION│ │ SESSION │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ User ID │ │ Events │ │ Memory │ │ │ │ Created │ │ State │ │ Stored │ │ │ │ Timestamp │ │ History │ │ Archived │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘
示例:当你开始与旅行代理聊天时,一个会话便被创建。你关于航班、酒店及偏好的所有问题都会保存在这个会话中。
状态代表代理在对话过程中需要记住的当前上下文与数据。
┌─────────────────────────────────────────────────────────────┐ │ SESSION STATE │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────┐ │ │ │ USER STATE │ │ AGENT STATE │ │ APP STATE │ │ │ ├─────────────────┤ ├─────────────────┤ ├─────────────┤ │ │ │ • User ID │ │ • Agent Name │ │ • Session ID│ │ │ │ • Preferences │ │ • Current Task │ │ • Timestamp │ │ │ │ • History │ │ • Tools Used │ │ • Status │ │ │ │ • Context │ │ • Memory │ │ • Metadata │ │ │ └─────────────────┘ └─────────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘
示例:旅行代理的状态可能包括:
事件是构成对话历史的单个交互内容。
┌─────────────────────────────────────────────────────────────┐ │ EVENT FLOW │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ USER │───▶│ AGENT │───▶│ RESPONSE │ │ │ │ MESSAGE │ │ PROCESSING │ │ GENERATED │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Event Type: │ │ Event Type: │ │ Event Type: │ │ │ │ user_input │ │ processing │ │ response │ │ │ │ Timestamp │ │ Timestamp │ │ Timestamp │ │ │ │ Content │ │ Duration │ │ Content │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘
示例事件序列:
┌─────────────────────────────────────────────────────────────┐ │ SESSION RUNTIME FLOW │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 1. SESSION CREATION │ │ ┌─────────────┐ │ │ │ User starts │───▶ Create Session with User ID │ │ │ conversation│ Initialize State & Memory │ │ └─────────────┘ │ │ │ │ 2. CONVERSATION LOOP │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ User │───▶│ Agent │───▶│ Update │ │ │ │ Input │ │ Processes │ │ State │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Record │ │ Use Context │ │ Store │ │ │ │ Event │ │ & Memory │ │ Response │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ 3. SESSION CLOSURE │ │ ┌─────────────┐ │ │ │ User ends │───▶ Save Final State │ │ │ conversation│ Archive Session │ │ └─────────────┘ Store in Memory Bank │ └─────────────────────────────────────────────────────────────┘
本教程分为三个循序渐进的级别:
5_1_in_memory_conversation——基础会话管理
5_2_persistent_conversation——数据库持久化
在开始本教程之前,请确保你已具备以下条件:
每个教程都遵循一致的结构:
每个教程都包含:
完成本教程后,你将准备好:
免责声明:
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的原始文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。