在 Agent SDK 中管理会话——保存、恢复和分支对话历史。
会话数据
会话包含:
- 消息历史(用户消息和 AI 回复)
- 工具调用和结果
- 系统指令
- 上下文窗口状态
保存会话
import json
def save_session(messages, filename="session.json"):
"""将消息历史保存到文件。"""
with open(filename, 'w') as f:
json.dump(messages, f)
def load_session(filename="session.json"):
"""从文件加载消息历史。"""
with open(filename) as f:
return json.load(f)
恢复会话
def continue_session(messages):
"""继续之前的会话。"""
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
tools=tools,
messages=messages
)
# 更新消息历史
messages.append({
"role": "assistant",
"content": response.content
})
save_session(messages)
return response
分支会话
def fork_session(messages, branch_point):
"""从特定点分支会话。"""
branch = messages[:branch_point].copy()
return branch