Skip to content

Session & Memo

For multi‑turn tasks you usually need:

  • Full history for audit/replay
  • Current context for prompt length control
  • Memo for stable preferences/constraints

Agently provides a Session object. The default plugin is AgentlyMemoSession.

Create and append messages

python
from agently import Agently
from agently.core import Session

agent = Agently.create_agent()
session = Session(agent=agent)

session.append_message({"role": "user", "content": "I prefer concise answers"})
session.append_message({"role": "assistant", "content": "Got it"})

Memo update and resize

session.resize() decides whether to compress context and updates session.memo when enabled.

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)

Serialize and restore

python
dump = session.to_json()
session.load_json(dump)

Notes

  • Memo instructions are controlled by session.memo.instruct
  • Context limits: session.resize.max_messages_text_length / session.resize.max_keep_messages_count