---
read_when:
    - आप चाहते हैं कि कोई एजेंट उपयोगकर्ता से एक संरचित प्रश्न पूछे
    - आप किसी ask_user प्रॉम्प्ट का उत्तर दे रहे हैं या उसे डीबग कर रहे हैं
    - आपको ask_user स्कीमा, टाइमआउट या चैनल व्यवहार की आवश्यकता है
summary: संरचित मानवीय निर्णय के लिए ask_user एजेंट के टर्न को कैसे रोकता है
title: उपयोगकर्ता से पूछें
x-i18n:
    generated_at: "2026-07-27T20:05:14Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 32556314a34c26054c3aabfdd8ecc474cf85196e5cc71adb833face596edbd24
    source_path: tools/ask-user.md
    workflow: 16
---

`ask_user` एजेंट को मानव से एक से तीन संरचित प्रश्न पूछने और
उत्तरों की प्रतीक्षा करने देता है। यह उन निर्णयों के लिए है जो वास्तव में उपयोगकर्ता के हैं,
न कि नियमित पुष्टि या ऐसी जानकारी के लिए जिसे एजेंट अनुरोध,
कोड या किसी विवेकपूर्ण डिफ़ॉल्ट से प्राप्त कर सकता है।

यह टूल केवल मुख्य सत्र में उपलब्ध है। उप-एजेंट और अन्य गैर-प्राथमिक
रन को यह उपलब्ध नहीं होता।

## किसी प्रश्न का उत्तर दें

आप किसी भी समर्थित वार्तालाप माध्यम से उत्तर दे सकते हैं:

- वेब Control UI, कंपोज़र के ठीक ऊपर एक प्रश्न पैनल डॉक करता है। एकाधिक
  प्रश्नों वाले प्रॉम्प्ट के लिए, पैनल एक बार में एक प्रश्न दिखाता है और एक छोटे
  स्टेपर के माध्यम से आगे बढ़ता है। समाधान के बाद, पैनल बंद हो जाता है और चैट में
  केवल उत्तरों का संक्षिप्त सारांश रहता है।
- Telegram, Discord और Slack एकल-विकल्प वाले,
  एकल-प्रश्न प्रॉम्प्ट के लिए नेटिव बटन रेंडर करते हैं।
- सादा-पाठ उत्तर किसी भी चैनल पर काम करता है। किसी संख्या, विकल्प लेबल
  या अपने उत्तर के साथ जवाब दें।

OpenClaw हमेशा मुक्त-पाठ वाला **अन्य** उत्तर सक्षम करता है। एजेंट को लिखित विकल्प सूची में
`Other` विकल्प नहीं जोड़ना चाहिए।

## प्लेटफ़ॉर्म व्यवहार

उत्तर प्रत्येक समर्थित वार्तालाप माध्यम पर काम करते हैं। वेब Control UI एक
डॉक किया हुआ स्टेपर उपयोग करता है, जो विस्तृत होने पर कंपोज़र को प्रतिस्थापित करता है; इसे संक्षिप्त करने पर
एक पतली प्रश्न पट्टी के नीचे पूरा कंपोज़र पुनर्स्थापित हो जाता है। iOS, macOS और Android
इनलाइन कार्ड दिखाते हैं; एकाधिक प्रश्न जानबूझकर स्पर्श-अनुकूल
शैली के रूप में एक के ऊपर एक बने रहते हैं। प्रत्येक प्लेटफ़ॉर्म सक्रिय चैट
टाइमलाइन में प्रश्न-से-उत्तर सारांश को समयबद्ध निष्कासन के बिना बनाए रखता है और **छोड़ें** हर जगह उपलब्ध है।

जो प्रॉम्प्ट नेटिव बटन का उपयोग नहीं कर सकते, जिनमें एकाधिक-प्रश्न और
बहु-चयन प्रॉम्प्ट शामिल हैं, वे चैनलों पर पठनीय पाठ में सरल हो जाते हैं। Control UI
पूरा संरचित स्टेपर बनाए रखता है।

## समय-सीमा और कोई उत्तर नहीं

डिफ़ॉल्ट समय-सीमा 900 सेकंड है। `timeoutSeconds` को
30 से 3600 सेकंड की सीमा में रखा जाता है।

यदि उत्तर आने से पहले प्रश्न की समय-सीमा समाप्त हो जाती है या उसे रद्द कर दिया जाता है, तो टूल
`status: "no_answer"` लौटाता है। इसके बाद एजेंट अपने सर्वोत्तम विवेक से आगे बढ़ता है।
निरस्त किया गया एजेंट रन अपने लंबित Gateway प्रश्न को रद्द कर देता है।

## टूल स्कीमा

```ts
{
  questions: Array<{
    id: string; // अद्वितीय snake_case उत्तर कुंजी
    header: string; // छोटा लेबल; 12 वर्णों तक छोटा किया जाता है
    question: string; // एक वाक्य
    options: Array<{
      label: string;
      description?: string;
    }>; // 2-4 विकल्प
    multiSelect?: boolean;
  }>; // 1-3 प्रश्न
  timeoutSeconds?: number; // पूर्णांक; डिफ़ॉल्ट 900, 30-3600 तक सीमित
}
```

`multiSelect: true` के साथ, उपयोगकर्ता एक से अधिक विकल्प चुन सकता है। प्रत्येक प्रश्न के
उत्तर मान एक ऐरे के रूप में लौटाए जाते हैं।

उत्तर दिए गए परिणाम का उदाहरण:

```json
{
  "status": "answered",
  "answers": {
    "answers": {
      "deploy_target": ["Staging (Recommended)"]
    }
  }
}
```

## मॉडल मार्गदर्शन

मॉडल-सामना अनुबंध एजेंट को निर्देश देता है कि वह:

- केवल तभी पूछे जब वह वास्तव में उपयोगकर्ता के स्वामित्व वाले निर्णय पर अवरुद्ध हो;
- एक प्रश्न को प्राथमिकता दे और तीन से अधिक का उपयोग न करे;
- अनुशंसित विकल्प को पहले रखे और उसके लेबल के अंत में `(Recommended)` जोड़े;
- लिखित `Other` विकल्प को छोड़ दे क्योंकि मुक्त पाठ स्वतः जोड़ा जाता है;
- `no_answer` के बाद सर्वोत्तम विवेक से आगे बढ़े।

एजेंट को `ask_user` का उपयोग यह पूछने के लिए नहीं करना चाहिए कि क्या वह आगे बढ़ सकता है या अपनी
योजना की पुष्टि करने के लिए नहीं करना चाहिए।
