AS AgentScopeAPI 手册 / API Reference

AutoContextMemory

public class AutoContextMemory implements StateModule, Memory, ContextOffLoader
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:81–2145

Auto 上下文记忆,在多次调用之间保存和恢复会话与记忆数据。位于 io.agentscope.core.memory.autocontext 包,实现 StateModule、Memory、ContextOffLoader。核心成员包括 addMessage、getMessages、compressIfNeeded、offload、reload、clear。

AutoContextMemory - Intelligent context memory management system.

AutoContextMemory implements the Memory interface and provides automated context compression, offloading, and summarization to optimize LLM context window usage. When conversation history exceeds configured thresholds, the system automatically applies multiple compression strategies to reduce context size while preserving important information.

Key features:

  • Automatic compression when message count or token count exceeds thresholds

  • Six progressive compression strategies (from lightweight to heavyweight)

  • Intelligent summarization using LLM models

  • Content offloading to external storage

  • Tool call interface preservation during compression

  • Dual storage mechanism (working storage and original storage)

Compression strategies (applied in order):

  • Compress historical tool invocations

  • Offload large messages (with lastKeep protection)

  • Offload large messages (without protection)

  • Summarize historical conversation rounds

  • Summarize large messages in current round (with LLM summary and offload)

  • Compress current round messages

Storage architecture:

  • Working Memory Storage: Stores compressed messages for actual conversations

  • Original Memory Storage: Stores complete, uncompressed message history

构造器摘要Constructor Summary

构造器Constructor说明Description
public AutoContextMemory(AutoContextConfig autoContextConfig, Model model)
初始化 `AutoContextMemory` 实例。
Creates a new AutoContextMemory instance with the specified configuration and model.

方法摘要Method Summary

方法Method说明Description
public void addMessage(Msg message)
添加消息。
Adds the message.
public List<Msg> getMessages()
获取消息。
Returns the messages.
public boolean compressIfNeeded()
压缩 `compressIfNeeded`。
Compresses the working memory if thresholds are reached.
public void offload(String uuid, List<Msg> messages)
执行卸载相关操作。
Performs the offload operation.
public List<Msg> reload(String uuid)
设置重新加载。
Performs the reload operation.
public void clear(String uuid)
清空或重置内部状态。
Clears or resets internal state.
public void deleteMessage(int index)
删除消息。
Deletes the message.
public void clear()
清空或重置内部状态。
Clears or resets internal state.
public void attachPlanNote(PlanNotebook planNotebook)
附加 `attachPlanNote`。
Attaches a PlanNotebook instance to enable plan-aware compression.
public List<Msg> getOriginalMemoryMsgs()
获取 `getOriginalMemoryMsgs`。
Gets the original memory storage containing complete, uncompressed message history.
public List<Msg> getInteractionMsgs()
获取 `getInteractionMsgs`。
Gets the user-assistant interaction messages from original memory storage.
public Map<String, List<Msg>> getOffloadContext()
获取卸载上下文。
Gets the offload context map containing offloaded message content.
public List<CompressionEvent> getCompressionEvents()
获取压缩事件。
Gets the list of compression events that occurred during context management.
public void saveTo(Session session, SessionKey sessionKey)
保存到。
Save memory state to the session.
public void loadFrom(Session session, SessionKey sessionKey)
加载来自。
Load memory state from the session.

构造器详情Constructor Detail

AutoContextMemory

public AutoContextMemory(AutoContextConfig autoContextConfig, Model model)

初始化 AutoContextMemory 实例。

Creates a new AutoContextMemory instance with the specified configuration and model.

参数Parameters
名称Name类型Type说明Description
autoContextConfigAutoContextConfigauto 上下文配置(类型 `AutoContextConfig`)。the configuration for auto context management
modelModel模型实例(类型 `Model`)。the LLM model to use for compression and summarization
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:140–148

方法详情Method Detail

addMessage

public void addMessage(Msg message)

添加消息。

Adds the message.

参数Parameters
名称Name类型Type说明Description
messageMsg消息(类型 `Msg`)。The message.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:150–154

getMessages

public List<Msg> getMessages()

获取消息。

Returns the messages.

返回Returns List<Msg>
返回列出。Returns list.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:156–160

compressIfNeeded

public boolean compressIfNeeded()

压缩 compressIfNeeded。

Compresses the working memory if thresholds are reached.

返回Returns boolean
返回布尔值,表示判断结果。true if compression was performed, false if no compression was needed
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:184–305

offload

public void offload(String uuid, List<Msg> messages)

执行卸载相关操作。

Performs the offload operation.

参数Parameters
名称Name类型Type说明Description
uuidStringUUID(类型 `String`)。The uuid.
messagesList<Msg>消息列表(类型 `List`)。The messages.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:806–809

reload

public List<Msg> reload(String uuid)

设置重新加载。

Performs the reload operation.

参数Parameters
名称Name类型Type说明Description
uuidStringUUID(类型 `String`)。The uuid.
返回Returns List<Msg>
返回列出。Returns list.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:811–815

clear

public void clear(String uuid)

清空或重置内部状态。

Clears or resets internal state.

参数Parameters
名称Name类型Type说明Description
uuidStringUUID(类型 `String`)。The uuid.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:817–820

deleteMessage

public void deleteMessage(int index)

删除消息。

Deletes the message.

参数Parameters
名称Name类型Type说明Description
indexint索引(类型 `int`)。The index.
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:1538–1543

clear

public void clear()

清空或重置内部状态。

Clears or resets internal state.

源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:1819–1823

attachPlanNote

public void attachPlanNote(PlanNotebook planNotebook)

附加 attachPlanNote。

Attaches a PlanNotebook instance to enable plan-aware compression.

参数Parameters
名称Name类型Type说明Description
planNotebookPlanNotebook计划 Notebook(类型 `PlanNotebook`)。the PlanNotebook instance to attach, or null to detach
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:1837–1844

getOriginalMemoryMsgs

public List<Msg> getOriginalMemoryMsgs()

获取 getOriginalMemoryMsgs。

Gets the original memory storage containing complete, uncompressed message history.

返回Returns List<Msg>
返回列出。a list of all original messages in the order they were added
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:1975–1977

getInteractionMsgs

public List<Msg> getInteractionMsgs()

获取 getInteractionMsgs。

Gets the user-assistant interaction messages from original memory storage.

返回Returns List<Msg>
返回列出。a list containing only USER messages and final ASSISTANT responses in chronological order
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:2016–2024

getOffloadContext

public Map<String, List<Msg>> getOffloadContext()

获取卸载上下文。

Gets the offload context map containing offloaded message content.

返回Returns Map<String, List<Msg>>
返回映射>。a map where keys are UUID strings and values are lists of offloaded messages
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:2047–2049

getCompressionEvents

public List<CompressionEvent> getCompressionEvents()

获取压缩事件。

Gets the list of compression events that occurred during context management.

返回Returns List<CompressionEvent>
返回列出。a list of compression events, ordered by timestamp
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:2069–2071

saveTo

public void saveTo(Session session, SessionKey sessionKey)

保存到。

Save memory state to the session.

参数Parameters
名称Name类型Type说明Description
sessionSession会话到保存状态到。the session to save state to
sessionKeySessionKey会话键(类型 `SessionKey`)。the session identifier
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:2083–2108

loadFrom

public void loadFrom(Session session, SessionKey sessionKey)

加载来自。

Load memory state from the session.

参数Parameters
名称Name类型Type说明Description
sessionSession会话到加载状态来自。the session to load state from
sessionKeySessionKey会话键(类型 `SessionKey`)。the session identifier
源码Source io/agentscope/core/memory/autocontext/AutoContextMemory.java:2118–2144

继承成员Inherited Members

继承自Methods inherited from Memory
基于官方固定版本源码静态生成Generated from pinned official sources · Python 2.0.11 · Java 2.0.4
签名与文档为静态抽取;如有疑问请以源码为准。Signatures and docs are extracted statically; verify against the source when in doubt.