claude-code/docs/conversation/multi-turn.mdx
2026-04-01 15:21:46 +08:00

61 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "多轮对话管理 - 会话编排、持久化与成本追踪"
description: "详解 Claude Code 多轮对话管理机制:会话编排、持久化存储、成本追踪和上下文累积策略,理解跨小时级编程对话的状态管理。"
keywords: ["多轮对话", "会话管理", "上下文累积", "对话持久化", "成本追踪"]
---
{/* 本章目标:解释会话编排、持久化、成本追踪 */}
## 单轮 vs 多轮
- **单轮**(一次 Agentic Loop用户说一句 → AI 执行一系列操作 → 回答
- **多轮**(一个 Session用户和 AI 来回对话几十轮,持续数小时
多轮对话带来的挑战远超单轮消息越来越多、token 不断累积、上下文逐渐模糊。
## 会话编排器的职责
在单轮 Agentic Loop 之上,有一个编排器负责管理整个会话生命周期:
<CardGroup cols={2}>
<Card title="对话状态管理" icon="database">
维护完整的消息历史包括用户消息、AI 回复、工具调用结果
</Card>
<Card title="会话持久化" icon="floppy-disk">
自动保存对话记录到磁盘,支持断线重连、历史回顾
</Card>
<Card title="文件快照" icon="camera">
在 AI 修改文件前自动保存快照,支持回滚
</Card>
<Card title="成本追踪" icon="calculator">
精确记录每轮的 token 消耗和 API 费用
</Card>
</CardGroup>
## 会话恢复
意外退出?网络断了?没关系:
- 每轮对话结束后,完整的 transcript 会被写入磁盘
- 下次启动时,可以选择恢复之前的对话
- 恢复时,系统重建消息历史和上下文状态
## 成本感知
AI 编程助手的一个现实问题是**费用可能失控**。Claude Code 内建了多层成本控制:
| 机制 | 作用 |
|------|------|
| Token 计数器 | 实时显示本次会话已消耗的输入/输出 token |
| 费用估算 | 根据模型定价计算累计美元花费 |
| 预算上限 | 用户可设定最大花费,到达后自动停止 |
| 压缩提醒 | Token 接近上限时提示用户触发压缩 |
## 模型切换
在一个会话中,用户可以随时切换模型或调整参数:
- `/model` 切换到不同的模型Sonnet / Opus / Haiku
- `/fast` 切换快速模式
- 模型切换不会丢失对话历史