Finn Jensen
06/10/2025, 4:54 PMAIAgentStorage
and its intended uses. I know frameworks like langchain have a popular pattern where you define some sort of shared mutable state and all nodes in the system can mutate it.
Koog has a lot more support for structured/typed inputs and outputs and I couldn't find much documentation about AIAgentStorage so I'm curious what the intended use was. Is this supposed to be a shared state passed from node to node that can be used for intermediate steps (scratch pad, etc). Or is this not meant to be heavily used and the intention was to focus on a more functional paradigm (with node inputs and outputs).Vadim Briliantov
06/10/2025, 7:34 PMAIAgentStorage
was indeed created for passing a shared state between nodes, and it was inspired by Ktor’s call/application attributes (https://ktor.io/docs/old/attributes.html).
I’m aware of one use-case where it was needed (please check the https://github.com/JetBrains/koog/blob/develop/examples/src/main/kotlin/ai/koog/agents/example/planner/PlannerAgentExample.kt).
But in general, it’s definitely something we designed for advanced use-cases, and ideally Koog is meant to work with stateless type-safe data flows.Finn Jensen
06/10/2025, 10:41 PM