Azure AI Foundry Agent blocks benign prompts before inference

frederic lamontagne 5 Points de réputation
2026-04-13T19:48:49.5866667+00:00

Hello,

 

We are seeing what appears to be an Azure AI Foundry Agent runtime / barrier issue.

 

Environment

  • Azure AI Foundry Agents
  • Region: Canada Central
  • Date observed: April 13, 2026
  • Model deployment: gpt-5.4
  • Deployment type: GlobalStandard
  • Model guardrail: Microsoft.Default
  • Agent guardrail: Microsoft.Default

 

Minimal reproduction

We created a minimal test agent with:

  • No tools
  • No knowledge base
  • Minimal instruction only:

  "You are a mechanical engineering assistant."

 

Prompt used:

"I want to perform stress calculation."

 

Comparison

  • In the model playground with the same gpt-5.4 deployment, this prompt succeeds.
  • In the agent playground, the same prompt is blocked.

 

We also tested a simple prompt:

"hello"

 

Observed behavior in the failing agent run

  • Agent returns:

  "I'm sorry, but I cannot assist with that request."

  • Foundry UI shows that the interaction was blocked by a safety control.
  • Trace metadata shows:

  - total_tokens = 0

  - reasoning duration = 0

  - reasoning summary = []

  - message status = "incomplete"

 

Interpretation

This suggests the agent run is being stopped before normal model inference starts.

Since the same prompt succeeds in the model playground, this does not appear to be a base model issue.

Since total_tokens = 0, this also does not appear to be a standard quota/throttling issue.

 

Is it a Foundry Agent barrier / runtime false positive or another pre-inference blocking path specific to Agents?

 

Thank you,

Frédéric.

 

Foundry Tools
Foundry Tools

Anciennement appelé Azure AI Services ou Azure Cognitive Services, il s’agit d’une collection unifiée de fonctionnalités d’IA prédéfinies au sein de la plateforme Microsoft Foundry

0 commentaires Aucun commentaire

2 réponses

  1. Thanmayi Godithi 11,905 Points de réputation Personnel externe Microsoft Modérateur
    2026-04-25T06:38:54.4166667+00:00

    Bonjour @frederic lamontagne ,

    Merci pour ce rapport détaillé ainsi que pour la reproduction minimale et épurée du problème ; cela nous est d'une grande aide.

    D'après le comportement que vous avez décrit, il ne semble pas s'agir d'un problème lié au modèle ou aux quotas. Au contraire, tous les indices convergent vers un blocage survenant en amont de l'inférence, au sein de l'environnement d'exécution (runtime) de l'Agent Azure AI Foundry ; ce blocage est très probablement déclenché par les « Prompt Shields » (détection des risques de jailbreak) inclus dans la configuration par défaut des garde-fous.

    Plusieurs indicateurs viennent étayer cette hypothèse :

    total_tokens = 0 et reasoning_duration = 0

    → La requête est bloquée avant même d'atteindre le modèle.

    Statut du message = incomplete, accompagné d'un refus générique

    → Ce comportement est cohérent avec une interruption précoce déclenchée par un garde-fou.

    Comportement différent entre le « Model Playground » et l'« Agent Playground »

    → Les Agents Foundry appliquent des couches de sécurité supplémentaires (Prompt Shields, classification des entrées, politiques d'orchestration) qui ne sont pas mises en œuvre de la même manière dans le Model Playground.

    Par défaut, la configuration « Microsoft.Default » intègre un Prompt Shield pour les requêtes utilisateur, chargé de détecter les tentatives de jailbreak ou les attaques par injection de prompt avant l'étape d'inférence. Dans certains cas, ce mécanisme peut générer des faux positifs, notamment pour :

    Les prompts courts ou dépourvus de contexte (par ex. : « bonjour »)

    Les formulations ambiguës (par ex. : « calcul de contrainte »)

    Étapes suivantes recommandées

    Pour confirmer la cause du problème et y remédier :

    1. Basculez le mode des Prompt Shields de « Bloquer » vers « Annoter »

    Dans le portail Foundry :

    Agent → Garde-fous et contrôles → Prompt Shields

    Modifiez l'action du Prompt Shield utilisateur pour la définir sur « Annoter ».

    Cette manipulation aura pour effets de :

    Permettre à la requête d'atteindre le modèle.

    Faire apparaître les résultats du filtrage de prompt (« prompt_filter_results »), incluant des détails tels que le type d'attaque (« attack_subtype »).

    C'est le moyen le plus rapide de vérifier si les Prompt Shields sont bien à l'origine du problème.

    1. Examinez les « prompt_filter_results »

    Une fois le mode « Annoter » activé, consultez la trace d'exécution pour y rechercher les éléments suivants :

    attack_subtype (type d'attaque)

    Détails de la classification des risques

    Cela permettra de déterminer avec précision ce que le système signale comme problématique. 3. Créer un profil de garde-fou personnalisé

    Si un faux positif est confirmé :

    Clonez le profil Microsoft.Default.

    Assouplissez ou supprimez le contrôle de détection de « jailbreak » (contournement des instructions) au niveau de l'invite utilisateur.

    Assignez ce garde-fou personnalisé à votre agent.

    1. Réduire l'ambiguïté des invites (à des fins de test)

    L'enrichissement léger des invites peut aider à éviter les erreurs de classification heuristique :

    Au lieu de :

    « Je souhaite effectuer un calcul de contrainte. »

    Essayez :

    « Je souhaite effectuer un calcul de contrainte mécanique pour une poutre soumise à une charge. »

    1. Escalade (si nécessaire)

    Si le problème persiste ou si vous confirmez un faux positif :

    Communiquez l'ID de corrélation / l'ID de trace au support Microsoft.

    Soumettez, si vous le souhaitez, un rapport d'ajustement des filtres ou de faux positif.

    Compte tenu des éléments de reproduction que vous avez fournis :

    Blocage en phase de pré-inférence.

    Comportement déterministe.

    Disparité entre le Playground et l'agent.

    Ces éléments suggèrent fortement un faux positif lié aux « Prompt Shields » (boucliers d'invites) ou une régression au niveau du filtrage d'exécution de l'agent.

    Ce comportement est tout à fait cohérent avec un blocage en phase de pré-inférence par les Prompt Shields au sein d'Azure AI Foundry Agents, plutôt qu'avec un problème inhérent au modèle de base. L'ajustement du comportement des boucliers (passage en mode « Annotate » ou utilisation de garde-fous personnalisés) devrait vous permettre à la fois de confirmer le diagnostic et de débloquer le scénario.

    Si vous êtes en mesure de partager la charge utile (payload) prompt_filter_results issue d'une exécution bloquée, je serais ravi de vous aider à en approfondir l'analyse.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire

  2. frederic lamontagne 5 Points de réputation
    2026-04-14T11:54:40.1233333+00:00

    Bonjour,

    désolé pour la question en anglais, il y a eu une erreur. J'ai fait le requête sur le Q&A anglophone. Vous pouvez donc laisser tomber cette question.

    Merci!

    Frédéric

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire

Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur.