<!-- 来源: https://hostanagent.com/docs/concepts/execution-and-cost/ | 协议: 1.0 | 更新: 2026-09-30 -->

# 运行、持久化、上下文与费用

运行采用 managed + durable：平台保存正式消息、运行状态和检查点，使 Worker 更换或浏览器断开后仍能按原 Run 核对和继续。运行按账户余额扣费，不设累计 Token、每日 Token/模型调用、Run 步骤数、工具总次数、总时长或每轮费用配额；身份与工具权限持续有效。

## 一轮 Run 如何推进

创建 Run 后先做版本、身份和资金准入；随后排队，由 Worker 准备模型请求、预留费用并发送。模型可能输出正文、要求用户补充、提出工具调用或请求审批。执行工具时 Worker 可以让出槽，等待产品执行器的回执。运行结束以服务端快照为准；断开 SSE 或关闭页面不取消 Run。

单次输入上下文预算默认 256,000 Token，用于上下文管理和压缩；单次主模型输出采用已验证的模型渠道容量，平台不再统一限制为 2,048/4,096/16,000。旧发布版本或 Run 保存的累计预算也不再生效，无需重建 Session。追加输入到达的时机影响是否废弃尚未正式接受的工具计划，已接受的工具批次不会被后来输入追溯撤销。[运行参考](/docs/reference/runtime/)与[工具协议](/docs/reference/tools/)解释各边界。

## 完整历史与执行历史

平台分别保存完整正式历史和执行历史。正式消息与完整工具回执用于展示、追溯和核对；执行历史才是下一次模型调用使用的内容，其中可以包含工具结果预览和压缩后的工作记忆。模型看到的头尾预览不代表原始回执已经被删除。

普通续跑只在执行历史末尾追加记录，系统提示和工具定义来自固定 Agent 版本。更换 Worker 或在同一 Session 开始下一 Run 时恢复已有执行历史，不重新展开已压缩内容，也不重新裁剪旧工具结果。只有正式压缩可以改写执行前缀；压缩当次允许缓存失效，之后继续保持只追加。实际缓存命中仍由模型服务决定。

平台聊天历史工具只检索正式用户/助手可见正文，不能读取原始工具回执、隐藏推理或工作记忆。若业务字段在工具预览中丢失，应通过产品工具按 ID、游标或片段重新读取。[工具结果规则](/docs/reference/tools/)与[历史工具范围](/docs/console/tools/)。

## 两个配置，各自使用不同单位

| 配置 | 默认值与范围 | 作用 |
|---|---|---|
| Agent `limits.max_context_tokens` | 默认 256,000 Token；可设 1,024–1,000,000 | 管理单次完整模型输入，判断是否需要压缩 |
| 工具 `max_result_context_bytes` | 默认 16,384 字节（16 KiB）；可设 1,024–32,768 字节 | 控制单个结果首次进入执行历史的大小；超限形成头尾预览，完整回执仍保存 |

工具预算按 `result` 紧凑 JSON 的 UTF-8 字节数计量，包括转义和裁剪提示。32 KiB 是 32,768 字节，不能按 32k Token 理解；多个工具结果仍会累积占用整体输入窗口。修改配置后需发布新工具集或 Agent 版本，并新建 Session；已有会话固定原版本。[配置位置及迁移步骤](/docs/reference/configuration/)。

## Token 如何估算和校准

普通上下文估算沿用 AIEngine：先对完整请求做轻量估算，覆盖系统提示、执行历史、工具 Schema、供应商回放转换及图片占位预算；没有可用样本时使用这个初始值，不要求为每个模型安装 tokenizer。

每次主模型返回可信输入用量后，将**该次实际发送请求的原始估算**与真实 `prompt_tokens` 配对，更新系数。下一次以该真实用量为基准，按系数修正新请求相对上一请求的估算增减量。系数可以小于 1，避免持续高估；不把已校准值再当作训练样本。有效样本可以跨 Run 和 Worker 恢复，模型、渠道或推理参数改变后重新建立样本；辅助摘要用量不混入主模型校准。

这仍是上下文管理用的估算，不是逐段精确 Token 计数，也不用于工具字节裁剪或直接计算账单。模型费用按供应商实际已知用量结算；缺少可信计数证明时，资金预留仍使用已验证的渠道容量。[余额、预留与结算](/docs/console/billing/)。

## 何时压缩

有效输入预算取 Agent/Run 窗口、渠道输入容量、渠道总容量减本次输出预留的最小值，再扣除 2,000 Token 安全余量。把 Agent 窗口调大不能突破模型容量；当前输入或工具定义本身过大时仍可能失败。

正常压缩只按完整请求的 Token 评估触发，没有字符阈值。达到有效预算 70% 时先本地压缩旧结果与参数；仍达到 70% 时才用模型把连续早期历史整理成工作记忆，保护当前新输入和近期完整工具记录。普通摘要之间间隔 4 次主模型调用；达到 92%，或发生容量、回放及明确上下文超限问题时，可以绕过冷却进行必要修复。摘要候选校验通过后才替换执行历史，不能改写业务执行事实或授权。

## 恢复与停止

摘要及有限恢复仍归入同一个 Run 的用量和费用，由同一钱包支付。摘要可使用平台配置的独立模型，费用仍计入该 Run。原始正式历史保留；摘要不能制造工具执行权。正常执行在任务完成、请求用户输入、用户取消或可用余额不足时结束；模型和工具超时、权限变化、费用待核对及无法安全整理的上下文仍可能中止执行。取消累计配额不取消这些故障处理。

模型请求已发出但结果/费用未知，或业务工具结果未知时，要核对原请求，不自动重复付费模型调用或副作用。取消 Agent Run 不等于产品业务任务已取消；删除会话也不会自动撤销外部任务。[阅读断线与恢复](/docs/integration/recovery/)和[费用说明](/docs/console/billing/)。
