Hawa Code 支持上下文自动修改。当上下文窗口占用率相对较高时,会自动修改上下文内容,把占用体积较大的内容替换为占位符,同时在需要的时候可以还原为原始内容。
如何使用
斜杠命令 Config 可以配置上下文修改功能
- Message Archiving:开启或禁用上下文修改功能
- Archive Tool Use Inputs:开启或禁用 Tool Use 参数修改功能
- Archive Thinking:开启或禁用 Thinking 修改功能

核心作用
Hawa Code 上下文修改可以在有限的上下文体积下,执行更长时间、更复杂的任务;同时因为大体积上下文内容被替换为占位符,可以更大程度地节省 Token。
模型主动操作
Hawa Code 上下文修改,主要支持两个操作:
- 归档:把指定的上下文内容替换为占位符。Thinking 内容是无法被归档的,一旦被归档就会被删除。
- 回档:把已归档为占位符的内容还原为原始内容。
Hawa Code 秉承的理念是模型会越来越“聪明”,因此归档操作直接让模型在主循环中执行,而不是交给后台的另一个模型去操作。这样可以更好地保证任务连续性,模型不会觉得丢失了内容,并且对归档了什么内容非常清楚,从而提高归档的准确性,不影响当前任务的执行。
当前 Hawa Code 依然保留了上下文压缩机制:当上下文体积超出阈值时会自动压缩,这个动作是被动执行的。上下文压缩更多是作为保护机制,长时任务可以更多地依赖上下文修改机制。
归档内容
Hawa Code 可以归档的内容包括:
- tool use input:处理工具调用的入参,主要处理 Write 这类入参可能是长文本的工具。
- tool result:处理工具调用的结果,主要处理 Read 这类结果可能是大体积内容的工具。
- thinking:处理过期的 thinking 内容。
Hawa Code 可以对任何工具进行归档和回档操作,包含 MCP 工具。
成本优化
对上下文进行修改会导致 Prompt Cache 前缀失效,如果高频执行小内容的归档,收益就会变小,Hawa Code 进行如下优化:
- 批量进行归档,而不是对同一批内容分多次归档,理想状态下一次归档后上下文体积占用率会下降 10 ~ 20 个百分点。
- Hawa Code 对归档操作进行了智能抑制,减少连续进行归档操作。
- 随着上下文体积上涨,Hawa Code 会逐渐增加上下文归档的意识。
示例
以下是一个归档示例,包含了 Tool Use、Tool Result、thinking 内容。归档时会同时生成一段摘要内容,这些摘要内容是回档的主要依据。

以下是被归档的内容占位符结构:
{ |