Agentic State

Let an agent update its own shopping list in session state based on the conversation.

Enable agentic session state so the agent updates session state on its own based on the conversation. Here the agent manages a shopping list as the user talks to it.

Create a Python file

agentic_session_state.py
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIResponses

db = SqliteDb(db_file="tmp/agents.db")
agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    db=db,
    session_state={"shopping_list": []},
    add_session_state_to_context=True,
    enable_agentic_state=True,
)

agent.print_response("Add milk, eggs, and bread to the shopping list", stream=True)

agent.print_response("I picked up the eggs, now what's on my list?", stream=True)

print(f"Session state: {agent.get_session_state()}")

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai sqlalchemy

Export your OpenAI API key

Set OpenAI Key

Set your OPENAI_API_KEY as an environment variable. You can get one from OpenAI.

export OPENAI_API_KEY=sk-***

Run Agent

python agentic_session_state.py