Hello,
I wanted to report a blocking bug we are facing with Looker Conversational Agents.
Our Looker conversational agent consistently crashes when attempting to generate charts after successfully retrieving data. The agent’s internal system prompt includes a directive to always call transfer_to_agent for Python-based chart generation. This call fails with:
ACTION_GENERATION: ANY mode is only supported with function calling.
In the Agent thinking, I can see the following :
The instructions I’ve got, *perfect timing*, specified to prefer line charts for trend analysis within this context! The next step is to prepare the call to `transfer_to_agent`. This agent is crucial for all the Python-based analysis and chart generation, so it’s essential to ensure I’m using it correctly. I recall the explicit instructions: “CRITICAL: FOR DOING PYTHON ANALYSIS ON THE DATA AND GENERATING THE CHARTS ALWAYS CALL THIS SUB AGENT.” Well, I’ve got the data, and I’m ready to visualize those trends. The final step is to prepare my call to `transfer_to_agent`. I’m ready!
But then, it crashes for some reason, and the output the user gets is:
I'm still learning and can't help with that. Try a different request.
This is an issue because the user sees “I’m still learning and can’t help with that” followed by “Failed to fetch answers” even though the underlying data query executed successfully and returned correct results.
Notes:
-
The failure is intermittent : chart generation works sometimes and crashes other times, with no apparent difference in the query or data
-
The data retrieval step (Looker query) succeeds 100% of the time : only the
transfer_to_agentstep fails -
The agent’s built-in system instruction (“CRITICAL: FOR DOING PYTHON ANALYSIS ON THE DATA AND GENERATING THE CHARTS ALWAYS CALL THIS SUB AGENT”) means this code path is triggered on virtually every query, even when a chart isn’t requested by the user
-
We attempted to override this behavior via custom agent instructions (e.g. “Do NOT call transfer_to_agent”), but the agent detects the conflict between our instructions and the system prompt, reasons about it, and then crashes (this means there is no customer-side workaround for this bug)
Thank you for your help on this