I have a question about Agent Designer in Gemini Enterprise Agent Platform. I created an agent (no-code, using google-adk,
deployed as a Reasoning Engine) via Agent Designer.
In the agent’s edit screen, the only model-related option I can find is a simple model selector (e.g. switching between
Gemini 2.5 Flash and Gemini 3.7). I can’t find any setting for safety filters / content filters (harm category thresholds).
- Is there a way to configure safety filters for agents created through Agent Designer?
- If so, which screen/menu is it under?
- If not, what safety filter settings are applied by default?
Update (self-reply): dug deeper via Cloud Trace + ADK source — sharing findings + follow-up questions
Since posting, I tried to verify this empirically rather than just from docs.
What I confirmed via the Console/API:
- No safety filter / content filter setting exists anywhere in the Agent Designer edit UI (Name, Instructions, Flow, Tools,
Knowledge, Personalization, Model — model picker only lets you switch between Gemini versions, no threshold controls).
- reasoningEngines.get on the deployed Reasoning Engine also returns no safetySettings / generateContentConfig-equivalent
field anywhere in spec.
What I tried next: inspect the actual Gemini request via Cloud Trace
I temporarily added ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS=true to the Runtime’s deployment env (via reasoningEngines.patch),
redeployed, made a real call through the agent, and pulled the resulting trace. Result: the call_llm span’s
gcp.vertex.agent.llm_request attribute was still “{}” — no request body, so no way to see whether safety_settings was
populated.
Why, per the ADK source:
Looking at google/adk-python (src/google/adk/telemetry/tracing.py / telemetry/context.py), gcp.vertex.agent.llm_request is
written by trace_call_llm(), gated by TelemetryConfig.should_add_content_to_legacy_spans, which reads
ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS and defaults to true in the current source (this per-request telemetry config landed
~2026-06-10, present through the latest release). So per current ADK, this env var shouldn’t even be needed — content
capture should be on by default.
The fact that it’s still “{}” on the deployed Reasoning Engine suggests the google-adk version Agent Designer pins for
auto-generated Runtimes doesn’t match this current default-on behavior (unconfirmed — I have no visibility into the
generated main.py / pinned requirements, so I can’t verify the exact version).
Separately, the runtime logs a warning: telemetry enabled but proceeding without GenAI instrumentation, because not all
packages (i.e. opentelemetry-instrumentation-google-genai) have been installed. Even that instrumentation package (checked
its source in open-telemetry/opentelemetry-python-contrib) doesn’t currently serialize safety_settings/thresholds into span
attributes anyway — there’s an open TODO in its code acknowledging this gap. So installing it wouldn’t have solved this
either.
Questions for the community / Google folks:
- Is there any supported way to inspect or set safety_settings for an Agent Designer–generated agent, short of exporting
the code?
- Does Agent Designer pin a specific google-adk version for auto-generated Runtimes, and is it expected to lag behind the
latest OSS release?
- Is Agent Gateway + Model Armor genuinely the only supported lever for safety/content filtering on no-code Agent Designer
agents today?
Happy to share more trace/log details if useful (redacted for user content).