-
Notifications
You must be signed in to change notification settings - Fork 3.4k
V2.0 beta - Contents lost between turns within a dynamic workflow #5461
Copy link
Copy link
Open
Labels
request clarification[Status] The maintainer need clarification or more information from the author[Status] The maintainer need clarification or more information from the authorstale[Status] Issues which have been marked inactive since there is no user response[Status] Issues which have been marked inactive since there is no user responsev2Affects only 2.0 versionAffects only 2.0 versionworkflow[Component] This issue is related to ADKworkflow[Component] This issue is related to ADKworkflow
Metadata
Metadata
Assignees
Labels
request clarification[Status] The maintainer need clarification or more information from the author[Status] The maintainer need clarification or more information from the authorstale[Status] Issues which have been marked inactive since there is no user response[Status] Issues which have been marked inactive since there is no user responsev2Affects only 2.0 versionAffects only 2.0 versionworkflow[Component] This issue is related to ADKworkflow[Component] This issue is related to ADKworkflow
Describe the Bug:
When a LlmAgent is run as an inner node via await ctx.run_node(agent, node_input) inside a dynamic Workflow, the first LLM call receives node_input as expected. After the agent invokes a tool (e.g. skill load) and the run continues to a second LLM call in the same run_node invocation, the model request no longer includes the original node_input text in LlmRequest.contents (LiteLLM/Bedrock path). Subsequent user-side content is dominated by tool results / synthetic “For context:” segments from ADK’s cross-author presentation (contents.py), so the model loses the initial structured input even though the agent uses include_contents="default".
Expected Behavior:
Across tool rounds within the same inner LlmAgent run, the conversation sent to the model should still include the initial user Content from run_node (or equivalent), consistent with include_contents="default".
Observed Behavior:
After the first tool response, the original node_input is absent from the assembled request contents (100% repro).
Environment Details:
Model Information:
How often has this issue occurred?: