本文主要内容来自于Manus官方博客,此文重在记录理解。
大模型的上下文长度(context length)是指 模型一次前向传播(forward pass)能处理的最大 token 数量。这个序列包含:
| 内容类型 | 是否计入上下文长度 | 说明 |
|---|---|---|
| 系统提示(system prompt) | ✅ 是 | 通常几十到几百 tokens |
| 用户输入(user messages) | ✅ 是 | 包括多轮对话历史 |
| 助手回复(assistant responses) | ✅ 是 | 包括函数调用请求 |
| 工具定义(tools schema) | ✅ 是 | JSON Schema 会被序列化为文本 |
| 工具调用结果(tool responses) | ✅ 是 | 如网页搜索返回的长 HTML/文本 |
| 中间推理链(CoT, ReAct steps) | ✅ 是 | 模型自生成的思考过程 |
| 输出(最终回答) | ✅ 是 | 受 max_tokens 限制,但仍占上下文 |
现代前沿LLM现在提供128K令牌或更多的上下文窗口。但在真实世界的代理场景中,这通常不够,有时甚至是一种负担。有三个常见的痛点:
- 观察结果可能非常庞大,尤其是当代理与网页或PDF等非结构化数据交互时。很容易超出上下文限制。
- 模型性能往往会下降,超过一定的上下文长度后,即使技术上支持该窗口大小。
- 长输入成本高昂,即使使用前缀缓存。你仍然需要为传输和预填充每个token付费。
为了解决这个问题,许多代理系统实现了上下文截断或压缩策略。但过度激进的压缩不可避免地导致信息丢失。这个问题是根本性的:代理本质上必须根据所有先前状态预测下一个动作——而你无法可靠地预测哪个观察结果可能在十步之后变得至关重要。从逻辑角度看,任何不可逆的压缩都带有风险。这就是为什么在Manus中将文件系统视为终极上下文:大小不受限制,天然持久化,并且代理可以直接操作。模型学会按需写入和读取文件——不仅将文件系统用作存储,还用作结构化的外部记忆。
Manus的压缩策略始终设计为可恢复的。
例如,只要保留URL,网页内容就可以从上下文中移除;如果沙盒中仍然保留文档路径,则可以省略文档内容。这使得Manus能够缩短上下文长度,而不会永久丢失信息。
状态空间模型(State Space Model, SSM)在智能体环境中有效工作需要条件。与Transformer不同,SSM缺乏完整的注意力机制,并且在处理长距离的后向依赖关系时表现不佳。但如果它们能够掌握基于文件的记忆——将长期状态外部化而不是保存在上下文中——那么它们的速度和效率可能会开启一类新型智能体。基于SSM的智能体可能是神经图灵机真正的继任者。

发表评论