← Lesson
Working Memory
Joeven
Run
Reset
Python loads on first run
import json def compress(turns, max_chars=80): state = {"goal": None, "last_obs": None, "n": 0} log = [] for t in turns: state["n"] += 1 if t["role"] == "user" and state["goal"] is None: state["goal"] = t["text"] if t["role"] == "tool": state["last_obs"] = t["text"] log.append({"kind": "tool", "text": t["text"]}) blob = json.dumps(state) if len(blob) > max_chars: return {"error": "working_too_big", "state": state} return {"state": state, "episodic_n": len(log)} turns = [ {"role": "user", "text": "fix OOM"}, {"role": "tool", "text": "raise memory"}, {"role": "user", "text": "ok thanks"}, {"role": "tool", "text": "replay-dlq done"}, ] print(json.dumps(compress(turns), indent=2)) print("chatter was not the goal", compress(turns)["state"]["goal"] == "fix OOM")
Run to execute this in your browser. Nothing is sent to a server.