State streaming
Stream in-progress agent state updates to the frontend.
This example demonstrates predictive state updates in the CopilotKit Feature Viewer.
What is this?#
A LangGraph agent's state updates discontinuosly; only across node transitions in the graph. But even a single node in the graph often takes many seconds to run and contain sub-steps of interest to the user.
Agent-native applications reflect to the end-user what the agent is doing as continuously possible.
CopilotKit enables this through its concept of predictive state updates.
When should I use this?#
You can use this when you want to provide the user with feedback about what your agent is doing, specifically to:
- Keep users engaged by avoiding long loading indicators
- Build trust by demonstrating what the agent is working on
- Enable agent steering - allowing users to course-correct the agent if needed
Important Note#
When a node in your LangGraph finishes executing, its returned state becomes the single source of truth. While intermediate state updates are great for real-time feedback, any changes you want to persist must be explicitly included in the node's final returned state. Otherwise, they will be overwritten when the node completes.
