Files
jaspersoft-agent-learn/step_02_state

Step 02: 理解 State - 状态管理

🎯 学习目标

  • 理解什么是 Agent State(代理状态)
  • 理解为什么 Agent 需要状态
  • 学会设计合理的状态结构
  • 理解状态在多步骤任务中的作用

📖 概念讲解

什么是 State

State(状态)是 Agent 的"记忆"——它记录了:

  1. 当前任务进展:完成了多少,还剩多少
  2. 历史数据:用户说过什么,生成过什么
  3. 中间结果:每个步骤的输出是什么
  4. 工具调用结果:工具返回了什么
没有 State 的 Agent
    用户: "生成报表"
    Agent: 生成报表
    用户: "把标题改成黑色"
    Agent: ??? 我不记得你刚才生成的是什么报表

有 State 的 Agent
    用户: "生成报表"
    Agent: 生成报表,记录到 state
            state = {current_jrxml: "..."}

    用户: "把标题改成黑色"
    Agent: 从 state 读取 current_jrxml
            修改标题
            更新 state = {current_jrxml: "新报表"}

为什么需要精心设计 State

一个好的 State 设计应该:

  1. 包含所有必要信息:不遗漏关键数据
  2. 避免信息冗余:不要重复存储相同数据
  3. 结构清晰:易于读取和更新
  4. 类型安全:有类型提示,减少 bug

💻 代码实现

请打开 concept.py 查看详细代码注释。