谷歌SKILL.state论文解读:用状态替代历史,Agent省94% Token

长会话Agent的Token困境
随着AI Agent在实际任务中承担越来越复杂的多步骤工作,一个隐蔽却致命的问题逐渐浮现:上下文膨胀。传统Agent在推理过程中,会把完整的对话历史(conversation history)作为输入不断携带下去。这意味着随着会话步数增加,输入的Token数量呈线性甚至指数级增长——每一步推理都要重新"阅读"之前所有的历史记录。
这里需要理解Token经济学的背景:Token是大语言模型处理文本的基本计量单位,每次API调用的费用都与输入和输出的Token数量直接挂钩。以GPT-4o为例,百万输入Token的价格约为2.5-5美元,而对于需要持续运行数小时甚至数天的Agent系统,累积的Token消耗可能达到数千万甚至上亿量级。上下文窗口(Context Window)则是模型单次推理能处理的最大Token数量,目前主流模型的窗口从128K到200K不等,Gemini系列已扩展到100万以上。但更大的窗口并不能从根本上解决成本问题——窗口越大,每次推理的计算量和费用也越高。
在标准的多轮对话Agent架构中,每一轮推理的输入由系统提示词(System Prompt)、完整的历史消息列表和最新的用户/环境输入组成。假设每一步交互产生约1000个Token,那么到第N步时,仅历史部分就需要携带约N×1000个Token。在100步的任务中,这意味着最后几步的输入中有超过90%的内容是历史冗余。更严重的是,Transformer架构的自注意力机制计算复杂度与序列长度的平方成正比(O(n²)),这使得长序列不仅消耗更多Token费用,推理延迟也会显著增加。在标准Transformer中,每个Token都需要与序列中所有其他Token计算注意力权重,序列长度翻倍时计算量增长四倍。虽然近年来出现了FlashAttention(由Tri Dao等人提出的IO感知精确注意力算法)、Ring Attention等高效实现,以及Mamba等状态空间模型(SSM)试图将复杂度降至O(n),但主流商用API背后仍主要基于标准Transformer架构。此外,推理服务端广泛使用的KV Cache(键值缓存)机制虽然避免了重复计算历史Token的表示,但其本身也占用大量GPU显存——对于128K上下文窗口的模型,单个请求的KV Cache可能占用数GB显存,直接影响服务端的并发处理能力和最终的API定价策略。
这不仅带来高昂的推理成本,还会拖慢响应速度,甚至因为超出上下文窗口而导致信息丢失。对于需要执行数十上百步操作的长会话Agent来说,这几乎是无法回避的瓶颈。
近期一篇来自谷歌的论文提出了一种名为 SKILL.state 的方法,能够在长会话场景下将Agent的Token使用量削减高达 94%,同时保持甚至略微提升任务准确率。

SKILL.state 的核心思路:用状态取代历史
从"记流水账"到"记要点"
SKILL.state 的核心理念非常直观:不保留完整的对话历史,而是维护一个结构化的当前状态(state)。
传统做法就像每次做决策前都要把整本会议记录从头读一遍;而 SKILL.state 更像是一个高效的项目经理——它只保留一份不断更新的"状态摘要",加上最新的一条观察结果(latest observation)。
这里的"状态"本质上是一个由Agent自主维护的键值对结构或结构化文档,类似于程序中的全局变量或数据库快照。例如在一个数据分析任务中,state可能包含"已加载的数据集名称"、"已完成的清洗步骤"、"当前分析阶段"、"中间计算结果"等字段。这种设计借鉴了有限状态机(Finite State Machine)和黑板系统(Blackboard System)的思想——前者是计算理论中用少量状态变量描述系统行为的经典范式,后者是人工智能中多个知识源通过共享工作区进行协作的架构。
有限状态机最早由图灵和Moore在1950年代形式化,其核心思想是用有限数量的状态变量完整描述系统在任意时刻的行为——这与SKILL.state用固定规模的状态替代无限增长的历史在哲学上高度一致。黑板系统则起源于1970年代卡内基梅隆大学的Hearsay-II语音识别项目,它通过一个共享的"黑板"数据结构让多个独立的知识源协作解决问题。在现代AI Agent架构中,这种思想演变为"共享状态空间"的设计模式,OpenAI的Function Calling和Tool Use机制在某种程度上也体现了类似的中间状态管理理念。通过将冗长的过程性记录压缩为声明性的当前状态,模型可以在恒定的输入规模下获取完成下一步所需的全部信息。
具体运作流程如下:
- Agent 在推理当前问题时,主动判断哪些信息对未来的步骤有用;
- 将这些关键信息写入结构化的 state 中;
- 随后丢弃原始的对话历史;
- 下一步推理时,输入只包含更新后的 state 加上最新观察。
通过这种方式,输入的规模在整个会话过程中基本保持恒定,而不会随步数无限膨胀。这从根本上改变了Agent的上下文管理逻辑:从被动累积历史,转向主动提炼状态。
实测数据:准确率不降反升
论文使用 Gemini-3-Flash 在一个 100步的基准测试 上验证了该方法的效果,结果相当亮眼。Gemini-3-Flash是谷歌DeepMind推出的Gemini系列中面向高效推理场景的模型变体。Gemini系列以其超大上下文窗口(最高支持100万Token)和多模态能力著称,而Flash版本则在保持较强推理能力的同时大幅优化了推理速度和成本。选择这一模型作为实验平台具有双重意义:一方面,其大窗口确保传统的全历史方法在技术上可行(不会因窗口溢出而截断);另方面,Flash版本的高吞吐特性使得Token消耗的对比更具实际参考价值。
| 方法 | 准确率 | Token消耗 |
|---|---|---|
| SKILL.state | 0.94 | 65k |
| LangGraph 风格的有状态基线 | 0.91 | 1.1M |
对比来看,SKILL.state 仅用了 6.5万Token,就完成了传统方法需要 110万Token 才能完成的任务——Token消耗降低约94%。更有意思的是,它的准确率(0.94)不仅没有因为"丢弃历史"而下降,反而略高于携带完整历史的基线方法(0.91)。
这一点颇具启发性:过多的历史信息未必是好事。冗余的上下文可能引入噪声,干扰模型对当前任务的判断。而经过提炼的结构化状态,反而能让模型聚焦于真正重要的信息。这一现象与大语言模型研究中观察到的"迷失在中间"(Lost in the Middle)问题相呼应——当输入序列过长时,模型往往对中间位置的信息关注不足,导致关键信息被淹没在大量冗余内容中。
这一问题最早由斯坦福大学Nelson Liu等人在2023年的论文中系统性地揭示。他们发现,当关键信息被放置在长输入序列的中间位置时,包括GPT-3.5-Turbo和Claude在内的多个模型的性能都显著下降,呈现出明显的U形曲线——模型对序列开头和结尾的信息记忆最好,对中间部分最差。这一现象与心理学中的"序列位置效应"(Serial Position Effect)惊人地相似,后者包括"首因效应"(Primacy Effect)和"近因效应"(Recency Effect)。后续研究表明,这可能与Transformer中位置编码(Positional Encoding)的设计以及注意力分数在长序列中的稀释有关。SKILL.state通过将关键信息压缩到紧凑的状态中,天然规避了这一问题——所有信息都处于模型注意力的"黄金位置"。
SKILL.state 方法的局限与前提条件
关键在于"预判未来需求"
论文作者也坦诚地指出了该方法的核心局限:SKILL.state 的效果高度依赖Agent能否准确预判未来步骤所需的信息。
因为状态是由Agent自己主动写入的,如果它在某一步没能意识到某个信息在后续会用到,那么这条信息就不会被写进state,随着历史被丢弃,这条信息也就永久丢失了。当后续真正需要时,Agent只能重新去检索或获取,反而可能带来额外开销甚至任务失败。
换句话说,这套机制把"记忆管理"的责任交给了模型自身。它要求Agent具备一定的前瞻性规划能力——不仅要解决当前问题,还要预见未来会用到什么。这种"预判未来需求"的能力,在认知科学中对应于工作记忆(Working Memory)的核心功能——选择性注意和信息过滤。人类在处理复杂任务时,并不会记住所有细节,而是依靠元认知能力判断哪些信息值得保留。
在AI领域,这种能力被称为"学会遗忘"(learning to forget),与注意力机制(Attention Mechanism)、记忆增强网络(Memory-Augmented Networks)等研究方向密切相关。从技术演进的角度看,"学会遗忘"的思想可以追溯到LSTM(长短期记忆网络,1997年由Hochreiter和Schmidhuber提出),其核心创新正是引入了"遗忘门"(Forget Gate)来选择性地丢弃不再相关的信息。此后,Neural Turing Machine(2014年,DeepMind)和Differentiable Neural Computer(2016年)进一步引入了外部可读写记忆,允许网络学习何时写入、何时擦除记忆内容。在大语言模型时代,MemGPT(2023年,由加州大学伯克利分校提出)将操作系统的虚拟内存管理思想应用于LLM,通过分层记忆(主记忆和外部存储)实现对超长对话的管理。SKILL.state可以被视为这一技术演进的最新节点,但其独特之处在于完全依赖模型自身的判断力来管理记忆,而非依赖外部的记忆管理算法或检索机制。
近年来的研究表明,大语言模型在经过适当的提示工程(Prompt Engineering)或微调后,确实能展现出一定程度的信息优先级判断能力,但这种能力的可靠性仍然是开放问题。
对于任务结构清晰、目标明确的场景,这一点相对容易做到;但对于高度动态、难以预测的开放式任务,误判的风险就会上升。
对Agent架构设计的启示
状态管理正在成为核心竞争力
SKILL.state 的价值不仅在于省Token,更在于它代表了一种Agent设计范式的转变。当前主流的Agent框架(如LangGraph等)虽然引入了状态概念,但在推理时往往仍然携带大量历史上下文。
以LangGraph为例,它是LangChain团队推出的Agent编排框架,将Agent的执行流程建模为有向图(Graph),每个节点代表一个操作步骤,边代表状态转移。LangGraph确实引入了显式的状态对象(State),允许开发者定义在节点间传递的结构化数据。然而在实际实现中,LangGraph的状态通常是"增量式"的——新信息不断追加到状态中,而LLM推理时往往仍会注入大量历史消息作为上下文。类似的框架还包括AutoGen(微软)、CrewAI、以及OpenAI的Swarm等,它们在状态管理上的做法各有差异,但普遍面临同样的上下文膨胀问题。SKILL.state的"激进丢弃"策略与这些框架形成了鲜明对比,更彻底地贯彻了"状态优先"的思想。
值得注意的是,当前Agent编排框架的生态还在快速演化。Google自身的Agent Development Kit(ADK)和Vertex AI Agent Builder提供了从开发到部署的完整工具链;Anthropic的Model Context Protocol(MCP)则试图标准化Agent与外部工具交互的协议层。在状态管理方面,一些前沿框架开始探索"分层状态"设计——将状态分为短期工作记忆、中期任务记忆和长期知识记忆三个层级,每个层级有不同的持久化策略和更新频率。此外,向量数据库(如Pinecone、Weaviate、Chroma)作为外部长期记忆的使用日益普遍,它们通过语义相似度检索提供了一种SKILL.state之外的替代方案:不是激进丢弃历史,而是将历史外置并按需检索(即RAG——检索增强生成范式)。这两种路径并非互斥,未来的Agent架构很可能会将SKILL.state的紧凑状态管理与外部记忆检索相结合,形成更加灵活的混合记忆体系。
这对整个行业有几点启示:
- 成本可控性大幅提升:对于需要长时间运行的生产级Agent,Token成本是绕不开的运营开销,94%的削减意味着实实在在的经济价值。
- 突破上下文窗口限制:恒定的输入规模让Agent理论上可以运行任意长的会话,而不受模型上下文窗口的硬性约束。
- 模型能力被重新分配:省下来的上下文预算,可以用于更深度的推理,或支持更多并行任务。
当然,从论文到工程落地仍有距离。将SKILL.state从学术验证推向生产环境,需要解决几个关键的工程问题。首先是状态Schema设计:不同类型的任务需要不同的状态结构,如何设计一个既足够灵活又不过度复杂的状态模板是一个实际挑战。其次是容错机制:当Agent误判某个信息不重要而未写入状态时,系统需要具备回退(Fallback)策略,例如触发重新检索、调用外部记忆存储、或者请求用户确认。第三是可观测性:在调试和监控Agent行为时,丢弃历史意味着失去了完整的执行轨迹,这对日志记录、错误追踪和合规审计都提出了新的设计要求。最后是与现有框架的集成兼容性问题,因为大多数Agent工具链都假设完整历史可用。
结语
SKILL.state 提供了一个简洁而有力的洞见:对于长会话Agent,管理好状态远比堆砌历史更重要。用结构化的当前状态取代冗长的对话历史,在大幅降低成本的同时还能保持准确率,这为构建更高效、更可持续的AI Agent系统指明了一个务实的方向。
随着AI Agent逐步走向复杂的真实世界任务,类似的上下文优化技术很可能会成为Agent工程的标配。而如何让模型学会"聪明地遗忘",或许正是下一代Agent的关键课题。
相关推荐

Apple Watch心电图检测房颤救命:铁人三项选手的真实经历
铁人三项选手Connor在运动中心率飙升至219次/分,通过Apple Watch ECG功能发现房颤,最终接受开胸手术成功治疗。了解智能手表心电图如何帮助发现隐藏心脏问题。

诺克罗斯缅因州森林火灾地图:百年制图遗产与数据可视化先驱
探索Archie G. Norcross在1918-1922年间绘制的缅因州森林火灾地图,了解这份手工制图杰作如何成为早期数据可视化实践的典范,以及其对现代气候研究、历史GIS和AI火灾监测的深远价值。

Apogee:用本地AI重建Mozilla Orbit的隐私优先浏览器摘要插件
Mozilla停摆Orbit后,独立开发者用Ollama、WebGPU和Transformers.js重建了一款完全本地运行的AI浏览器摘要插件Apogee,支持网页、YouTube、Bilibili视频摘要,不发送任何用户数据。