Skip to content

2.0 本章介绍

Agent 的"记忆":状态管理的艺术

如果说函数是 Agent 的"技能",那么数据结构就是 Agent 的"记忆"。一个智能的 Agent 需要:

  • 记住对话历史(列表)
  • 维护当前状态(字典)
  • 去重已处理的任务(集合)
  • 管理复杂的嵌套数据(TypedDict/Pydantic)

在 LangGraph 中,状态(State) 是核心概念。每个节点接收状态,处理后返回新状态。理解数据结构,就是理解如何设计和管理 Agent 的状态。

🎯 小白理解指南:什么是"数据结构"?

想象你在整理房间:

  • 列表(List)就像一个排队的队伍——每个人有固定位置,先来后到
  • 字典(Dict)就像你的通讯录——通过名字(键)快速找到电话号码(值)
  • 集合(Set)就像一个签到表——只关心谁来过,不关心顺序,也不会重复记录
  • 元组(Tuple)就像身份证信息——一旦确定就不能改动

在 AI Agent 中,这些"容器"帮助机器人记住对话、管理任务、存储配置。没有它们,AI 就像一个失忆的人,每次对话都从头开始!

本章学习目标

1. 列表(List):Agent 的时间线

  • ✅ 列表的创建和操作
  • ✅ 列表推导式和切片
  • ✅ 管理消息历史
  • ✅ 实战:实现对话历史管理器

2. 字典(Dict):Agent 的配置中心

  • ✅ 字典的高级用法
  • ✅ 嵌套字典处理
  • ✅ defaultdict 和 Counter
  • ✅ 实战:构建配置管理系统

3. 集合(Set):Agent 的去重引擎

  • ✅ 集合操作(并、交、差)
  • ✅ 去重和成员检查
  • ✅ 实战:任务去重系统

4. TypedDict:类型安全的状态

  • ✅ TypedDict 基础
  • ✅ 可选字段和必需字段
  • ✅ 与 LangGraph State 的联系

5. Pydantic:数据验证的利器

  • ✅ Pydantic BaseModel
  • ✅ 字段验证和默认值
  • ✅ 在 LangChain 中的应用

6. 实战:LangGraph 状态管理

  • ✅ 设计 AgentState
  • ✅ 状态更新机制
  • ✅ 完整的 Agent 状态系统

本章内容导航

Module 2: 数据结构与状态管理

├── 2.0 本章介绍 (你在这里)
├── 2.1 列表与元组:管理 Agent 的消息历史
├── 2.2 字典:Agent 状态的核心数据结构
├── 2.3 集合:数据去重与成员检查
├── 2.4 TypedDict 与 Pydantic:类型安全的状态管理
├── 2.5 实战:构建 LangGraph 状态系统
└── 2.6 小结和复习

与 AI Agent 的联系

数据结构在 Agent 中的用途
list消息历史、工具列表、步骤记录
dictAgent 状态、配置参数、API 响应
set已处理任务、去重
tuple不可变配置、坐标
TypedDict类型安全的状态定义
Pydantic数据验证、Tool 参数

🎯 小白理解指南:为什么 AI Agent 需要这些?

把 AI Agent 想象成一个智能客服

  • list 记录和用户的聊天记录("刚才他说了什么?")
  • dict 存储用户信息("他叫什么名字?订单号是多少?")
  • set 记录已经处理过的问题("这个问题我回答过了吗?")
  • TypedDict 确保状态格式统一("每个用户信息都必须有姓名和电话")
  • Pydantic 检查数据是否合法("电话号码必须是 11 位数字")

这些工具让 AI 能够有条理地工作,而不是一团乱麻!

预期学习时间

  • 快速阅读:3-4 小时
  • 深度学习(含实践):10-14 小时
  • 完成所有挑战题:额外 5-7 小时

准备好了吗?让我们开始探索 Agent 的"记忆系统"!


下一节:2.1 列表与元组:管理 Agent 的消息历史

基于 MIT 许可证发布。内容版权归作者所有。