Session 与 Memo
在长对话或多轮任务中,你通常需要:
- 完整历史:用于审计或回放
- 当前上下文:控制提示长度
- 运行时记忆(memo):稳定偏好、约束与事实
Agently 的 Session 提供这些能力,默认插件是 AgentlyMemoSession。
创建与追加消息
python
from agently import Agently
from agently.core import Session
agent = Agently.create_agent()
session = Session(agent=agent)
session.append_message({"role": "user", "content": "我喜欢简洁的答案"})
session.append_message({"role": "assistant", "content": "明白了"})Memo 更新与压缩
session.resize() 会根据策略决定是否压缩上下文,并在启用 memo 时更新 session.memo。
python
session.set_settings("session.memo.enabled", True)
session.set_settings("session.resize.every_n_turns", 8)
current = session.resize() # 同步版本
print(current)
print(session.memo)序列化与恢复
python
dump = session.to_json()
session.load_json(dump)说明
- Memo 的更新提示词由
session.memo.instruct控制 session.resize.max_messages_text_length/session.resize.max_keep_messages_count控制上下文上限