Replies: 1 comment
|
Short version: Yes, the difference is intentional in the current design — workflows route conversation history through snapshot persistence + hydration, not through an in-run On your specific observations (all accurate): agents emit Evaluating your four candidate approaches:
Recommended pattern: in-connection, accumulate from the streamed events (option 2); across connections, configure (Aside: workflow checkpointing — #6632 / PR #6646 — is a separate mechanism for resumable execution state and is explicitly independent of thread-snapshot history.) (Edited to correct one attribution: |
Uh oh!
There was an error while loading. Please reload this page.
Hi team! 👋
I'm working with
AgentFrameworkWorkflow(rc8) and trying to understand therecommended pattern for obtaining conversation history during active runs.
What I've Observed
With
AgentFrameworkAgent:MessagesSnapshotEventat end of run (agent_run.py:2286)With
AgentFrameworkWorkflow:MessagesSnapshotEventduring runsAGUIThreadSnapshotstores messages internallyMy Questions
Is this difference intentional?
What's the recommended approach for workflow-based clients?
ActivitySnapshotEvent? (I seefull_conversationin some executor completions)MessagesSnapshotEventin application code?For AG-UI clients expecting MessagesSnapshotEvent:
Current Workaround
Currently manually emitting
MessagesSnapshotEventafterRUN_FINISHEDbyaccumulating messages during the workflow run, but I'm wondering if there's a
built-in pattern I'm missing or if this is the intended approach.
Context
1.0.0rc8AgentFrameworkWorkflowwith custom executorsActivitySnapshotEventdata includes conversation, but this seems executor-specificRelevant Code References
_agent_run.py:2286_workflow.py:354-404_workflow.py:216Any guidance on the canonical pattern would be greatly appreciated! 🙏
All reactions