Toutes les pages
Sur cette page

ask_user

Quand un agent a besoin d’une décision de votre part, il la demande avec une carte de question : la question, un bouton par choix, et de la place pour une réponse en texte libre. Vous répondez d’un seul appui, depuis n’importe quel appareil, et l’agent continue avec votre réponse.

Derrière la carte se trouve un outil que l’agent appelle. Lequel dépend du fournisseur : certains apportent leur propre outil de question, dont OAR fait une carte ; pour les autres, OAR en fournit un appelé ask_user. C’est le seul outil d’agent pour lequel les fournisseurs diffèrent par plus que le nom.

Ce que vous voyez #

  • Une carte dans la conversation avec la question et ses choix. Un choix répond d’un seul clic.
  • Une question qui accepte plusieurs réponses affiche des cases à cocher et un seul bouton Reply with selection (Répondre avec la sélection). La réponse liste chaque choix coché, plus tout ce que vous avez tapé.
  • Une demande de plusieurs valeurs à la fois s’affiche sous forme de formulaire, avec un champ par valeur.
  • Une notification push, si vous les avez activées pour les questions.
  • Le turn attend tant que la carte est ouverte. Un turn qui attend sur une carte n’est jamais considéré comme bloqué.

Par fournisseur #

Fournisseur L’outil derrière la carte Plusieurs réponses Plusieurs questions en un appel
Claude, Claude Cloud le propre AskUserQuestion de Claude oui oui, une carte après l’autre
DeepSeek Ajouté en 0.9.17 le AskUserQuestion de Claude Code, comme sur Claude oui oui, une carte après l’autre
GitHub Copilot et OpenAI, moteur SDK le ask_user d’OAR, à la place de l’outil intégré oui, avec multi_select Ajouté en 0.9.3, ou quand la question dit « select all that apply » non
GitHub Copilot et OpenAI, moteur d’extension le propre ask_user de Copilot non ; seulement un champ de formulaire qui accepte une liste des formulaires à plusieurs champs
Cursor le ask_user d’OAR oui, avec multiSelect oui, de 1 à 4, une carte après l’autre
Grok aucun

Grok n’a pas de cartes de question. Son protocole d’agent n’a aucun moyen d’interroger l’utilisateur : un agent Grok ne peut donc poser sa question que dans le texte de sa réponse, puis attendre votre message suivant.

Sur le moteur SDK de Copilot, chaque carte qui a deux choix ou plus a aussi un interrupteur Select several (Sélectionner plusieurs) : vous pouvez ainsi donner plus d’une réponse même quand l’agent ne l’a pas demandé.

Combien de temps une carte attend #

Une carte attend une réponse pendant 8 heures ; sur le moteur d’extension de Copilot, 2 heures. Ensuite, l’agent est informé que personne n’a répondu et continue selon le mode du relais de la conversation.

Ce qu’on dit aux agents #

  • De poser la question via l’outil de question, jamais en texte brut dans une réponse. Une question en texte brut n’affiche aucun bouton et termine le turn.
  • De donner une courte liste de choix, et de ne s’en passer que lorsque la réponse doit être en texte libre.
  • De demander même en autopilot (mode du relais) quand votre avis est vraiment nécessaire.

Paramètres #

Le ask_user d’OAR sur le moteur SDK de Copilot #

Paramètre Type
question texte, obligatoire la question
choices liste de textes un bouton par choix ; le relais garde les 8 premiers et abandonne le reste
multi_select true | false vous pouvez en choisir plusieurs ; la réponse liste chaque choix, séparés par ,
{
  "question": "Which database should the new service use?",
  "choices": ["PostgreSQL", "SQLite", "Keep the current one"]
}

L’agent reçoit en retour User selected: PostgreSQL, ou User responded: … pour une réponse en texte libre.

Le ask_user d’OAR sur Cursor #

Paramètre Type
questions liste de 1 à 4 questions, obligatoire
questions[].question texte, obligatoire la question
questions[].header texte un court libellé au-dessus de la question
questions[].options liste de 2 à 6, obligatoire chacune avec un label (obligatoire) et une description
questions[].multiSelect true | false, false par défaut vous pouvez en choisir plusieurs
{
  "questions": [
    {
      "header": "Database",
      "question": "Which database should the new service use?",
      "options": [
        { "label": "PostgreSQL", "description": "What the other services use" },
        { "label": "SQLite", "description": "No server to run" }
      ]
    }
  ]
}

Vous pouvez toujours répondre en texte libre au lieu de choisir une option. L’agent reçoit chaque question avec sa réponse.

Les propres outils des fournisseurs #

Le AskUserQuestion de Claude (également utilisé par les chats DeepSeek, qui font tourner Claude Code) et le ask_user intégré de Copilot appartiennent à ces fournisseurs ; c’est à eux d’en définir les paramètres, qui peuvent changer avec une mise à jour du fournisseur. OAR prend la question telle que le fournisseur la transmet, affiche la carte et renvoie votre réponse sous la forme qu’attend le fournisseur.

Questions venant d’autres sessions #

Une carte de question peut aussi recevoir la réponse d’un autre agent, quand vous laissez des agents travailler avec d’autres sessions : l’action answer_question de relay_tool. Les agents ont pour consigne de vous demander d’abord, sauf si vous leur avez dit de décider. Les propres cartes d’approbation d’un relais (pour démarrer des sessions, pour les surveiller, et les approbations ask et plan) ne peuvent recevoir de réponse que de vous.