ذیلی ایجنٹس¶
Sub-agents let you run background tasks without blocking the main conversation. When you spawn a sub-agent, it runs in its own isolated session, does its work, and announces the result back to the chat when finished.
Use cases:
- Research a topic while the main agent continues answering questions
- Run multiple long tasks in parallel (web scraping, code analysis, file processing)
- Delegate tasks to specialized agents in a multi-agent setup
فوری آغاز¶
The simplest way to use sub-agents is to ask your agent naturally:
"Spawn a sub-agent to research the latest Node.js release notes"
The agent will call the sessions_spawn tool behind the scenes. When the sub-agent finishes, it announces its findings back into your chat.
You can also be explicit about options:
"Spawn a sub-agent to analyze the server logs from today. Use gpt-5.2 and set a 5-minute timeout."
یہ کیسے کام کرتا ہے¶
sessions_spawn with a task description. The call is non-blocking — the main agent gets back { status: "accepted", runId, childSessionKey } immediately.
agent:<agentId>:subagent:<uuid>) on the dedicated subagent queue lane.
Configuration¶
Sub-agents work out of the box with no configuration. بطورِ طے شدہ:
- Model: target agent’s normal model selection (unless
subagents.modelis set) - Thinking: no sub-agent override (unless
subagents.thinkingis set) - Max concurrent: 8
- Auto-archive: after 60 minutes
Setting a Default Model¶
Use a cheaper model for sub-agents to save on token costs:
{
agents: {
defaults: {
subagents: {
model: "minimax/MiniMax-M2.1",
},
},
},
}
Setting a Default Thinking Level¶
{
agents: {
defaults: {
subagents: {
thinking: "low",
},
},
},
}
فی-ایجنٹ اوور رائیڈز¶
ملٹی-ایجنٹ سیٹ اپ میں، آپ ہر ایجنٹ کے لیے سب-ایجنٹ ڈیفالٹس سیٹ کر سکتے ہیں:
{
agents: {
list: [
{
id: "researcher",
subagents: {
model: "anthropic/claude-sonnet-4",
},
},
{
id: "assistant",
subagents: {
model: "minimax/MiniMax-M2.1",
},
},
],
},
}
ہم وقتیّت¶
یہ کنٹرول کریں کہ ایک ہی وقت میں کتنے سب-ایجنٹس چل سکتے ہیں:
{
agents: {
defaults: {
subagents: {
maxConcurrent: 4, // default: 8
},
},
},
}
سب-ایجنٹس ایک مخصوص کیو لین (subagent) استعمال کرتے ہیں جو مین ایجنٹ کیو سے الگ ہوتی ہے، اس لیے سب-ایجنٹ رنز آنے والے جوابات کو بلاک نہیں کرتے۔
خودکار آرکائیو¶
سب-ایجنٹ سیشنز ایک قابلِ ترتیب مدت کے بعد خودکار طور پر آرکائیو ہو جاتے ہیں:
{
agents: {
defaults: {
subagents: {
archiveAfterMinutes: 120, // default: 60
},
},
},
}
*.deleted. میں تبدیل کر دیتا ہے
sessions_spawn ٹول¶
یہ وہ ٹول ہے جسے ایجنٹ سب-ایجنٹس بنانے کے لیے کال کرتا ہے۔
Parameters¶
| پیرامیٹر | قسم | ڈیفالٹ | Description |
|---|---|---|---|
task |
string | (درکار) | سب-ایجنٹ کو کیا کرنا چاہیے |
label |
string | — | شناخت کے لیے مختصر لیبل |
agentId |
string | (کالر کا ایجنٹ) | کسی مختلف ایجنٹ آئی ڈی کے تحت اسپان کریں (اجازت ہونی چاہیے) |
model |
string | (اختیاری) | اس سب-ایجنٹ کے لیے ماڈل اوور رائیڈ کریں |
thinking |
string | (اختیاری) | سوچ کی سطح اوور رائیڈ کریں (off, low, medium, high وغیرہ) |
runTimeoutSeconds |
عدد | 0 (کوئی حد نہیں) |
N سیکنڈ کے بعد سب-ایجنٹ کو منسوخ کریں |
صفائی |
"delete" \ | "keep" | "keep" |
ماڈل ریزولوشن آرڈر¶
سب-ایجنٹ ماڈل اس ترتیب میں حل ہوتا ہے (پہلا میچ جیتتا ہے):
sessions_spawnکال میں واضحmodelپیرامیٹر- فی-ایجنٹ کنفیگریشن:
agents.list[].subagents.model - عالمی ڈیفالٹ:
agents.defaults.subagents.model - اس نئے سیشن کے لیے ہدف ایجنٹ کی معمول کی ماڈل ریزولوشن
سوچ کی سطح اس ترتیب میں حل ہوتی ہے:
sessions_spawnکال میں واضحthinkingپیرامیٹر- فی-ایجنٹ کنفیگریشن:
agents.list[].subagents.thinking - عالمی ڈیفالٹ:
agents.defaults.subagents.thinking - ورنہ سب-ایجنٹ کے لیے مخصوص سوچ کی کوئی اوور رائیڈ لاگو نہیں ہوتی
کراس-ایجنٹ اسپاننگ¶
ڈیفالٹ طور پر، سب-ایجنٹس صرف اپنی ہی ایجنٹ آئی ڈی کے تحت اسپان ہو سکتے ہیں۔ 1. کسی ایجنٹ کو دوسرے ایجنٹ آئی ڈیز کے تحت ذیلی ایجنٹس بنانے کی اجازت دینے کے لیے:
2. {
agents: {
list: [
{
id: "orchestrator",
subagents: {
allowAgents: ["researcher", "coder"], // یا کسی بھی کی اجازت دینے کے لیے ["*"]
},
},
],
},
}
sessions_spawn کے لیے فی الحال کن ایجنٹ آئی ڈیز کی اجازت ہے یہ جاننے کے لیے agents_list ٹول استعمال کریں۔
4. ذیلی ایجنٹس کا انتظام (/subagents)¶
- موجودہ سیشن کے لیے ذیلی ایجنٹ رنز کا معائنہ اور کنٹرول کرنے کے لیے
/subagentsسلیش کمانڈ استعمال کریں:
| کمانڈ | Description |
|---|---|
/subagents list |
6. تمام ذیلی ایجنٹ رنز کی فہرست بنائیں (فعال اور مکمل شدہ) |
/subagents stop <id\\|#\\|all> |
7. چلتے ہوئے ذیلی ایجنٹ کو روکیں |
/subagents log <id\\|#> [limit] [tools] |
8. ذیلی ایجنٹ کی ٹرانسکرپٹ دیکھیں |
/subagents info <id\\|#> |
9. رن کی تفصیلی میٹاڈیٹا دکھائیں |
/subagents send <id\\|#> <message> |
10. چلتے ہوئے ذیلی ایجنٹ کو پیغام بھیجیں |
- آپ ذیلی ایجنٹس کو فہرست کے انڈیکس (
1,2)، رن آئی ڈی کے ابتدائی حصے، مکمل سیشن کی، یاlastکے ذریعے حوالہ دے سکتے ہیں۔
/subagents list
````
13. ```
🧭 Subagents (current session)
Active: 1 · Done: 2
1) ✅ · research logs · 2m31s · run a1b2c3d4 · agent:main:subagent:...
2) ✅ · check deps · 45s · run e5f6g7h8 · agent:main:subagent:...
3) 🔄 · deploy staging · 1m12s · run i9j0k1l2 · agent:main:subagent:...
```
```
/subagents stop 3
```
```
⚙️ Stop requested for deploy staging.
```
````
/subagents info 1
````
15. ```
ℹ️ Subagent info
Status: ✅
Label: research logs
Task: Research the latest server error logs and summarize findings
Run: a1b2c3d4-...
Session: agent:main:subagent:...
Runtime: 2m31s
Cleanup: keep
Outcome: ok
```
````
/subagents log 1 10
````
17. ذیلی ایجنٹ کی ٹرانسکرپٹ سے آخری 10 پیغامات دکھاتا ہے۔ ٹول کال پیغامات شامل کرنے کے لیے `tools` شامل کریں:
```
/subagents log 1 10 tools
```
````
/subagents send 3 "Also check the staging environment"
```
19. چلتے ہوئے ذیلی ایجنٹ کے سیشن میں ایک پیغام بھیجتا ہے اور جواب کے لیے 30 سیکنڈ تک انتظار کرتا ہے۔
```
20. اعلان (نتائج کیسے واپس آتے ہیں)¶
-
جب کوئی ذیلی ایجنٹ مکمل ہو جاتا ہے، تو وہ announce مرحلے سے گزرتا ہے:
-
- ذیلی ایجنٹ کا آخری جواب محفوظ کر لیا جاتا ہے
-
- نتیجہ، اسٹیٹس اور اعداد و شمار کے ساتھ ایک خلاصہ پیغام مرکزی ایجنٹ کے سیشن کو بھیجا جاتا ہے
-
- مرکزی ایجنٹ آپ کی چیٹ میں قدرتی زبان میں خلاصہ پوسٹ کرتا ہے
اعلان کے جوابات دستیاب ہونے پر تھریڈ/موضوع کی روٹنگ برقرار رکھتے ہیں (Slack تھریڈز، Telegram ٹاپکس، Matrix تھریڈز)۔
25. اعلان کے اعداد و شمار¶
- ہر اعلان میں ایک اسٹیٹس لائن شامل ہوتی ہے جس میں:
-
- رن ٹائم کی مدت
- ٹوکن استعمال (ان پٹ/آؤٹ پٹ/کل)
-
- تخمینی لاگت (جب ماڈل کی قیمتیں
models.providers.*.models[].costکے ذریعے ترتیب دی گئی ہوں)
- تخمینی لاگت (جب ماڈل کی قیمتیں
-
- سیشن کی، سیشن آئی ڈی، اور ٹرانسکرپٹ کا راستہ
30. اعلان کی حیثیت¶
- اعلان کے پیغام میں رن ٹائم کے نتیجے سے اخذ کردہ حیثیت شامل ہوتی ہے (ماڈل آؤٹ پٹ سے نہیں):
-
- successful completion (
ok) — کام معمول کے مطابق مکمل ہوا
- successful completion (
-
- error — کام ناکام ہو گیا (غلطی کی تفصیلات نوٹس میں)
-
- timeout — کام نے
runTimeoutSecondsسے تجاوز کیا
- timeout — کام نے
-
- unknown — حیثیت کا تعین نہیں ہو سکا
NO_REPLY واپس کر سکتا ہے اور کچھ بھی پوسٹ نہیں کیا جاتا۔
37. یہ ANNOUNCE_SKIP سے مختلف ہے، جو ایجنٹ سے ایجنٹ اعلان کے فلو (sessions_send) میں استعمال ہوتا ہے۔
38. ٹول پالیسی¶
- بطور ڈیفالٹ، ذیلی ایجنٹس کو تمام ٹولز ملتے ہیں سوائے ان ٹولز کے جنہیں غیر محفوظ یا پس منظر کے کاموں کے لیے غیر ضروری ہونے کی وجہ سے منع کیا گیا ہو:
sessions_list | سیشن مینجمنٹ — مرکزی ایجنٹ نظم و نسق کرتا ہے |
| sessions_history | سیشن مینجمنٹ — مرکزی ایجنٹ نظم و نسق کرتا ہے |
| sessions_send | سیشن مینجمنٹ — مرکزی ایجنٹ نظم و نسق کرتا ہے |
| sessions_spawn | نیسٹڈ فین آؤٹ نہیں (ذیلی ایجنٹس مزید ذیلی ایجنٹس نہیں بنا سکتے) |
| gateway | سسٹم ایڈمن — ذیلی ایجنٹ سے خطرناک |
| agents_list | سسٹم ایڈمن |
| whatsapp_login | انٹرایکٹو سیٹ اپ — کوئی ٹاسک نہیں |
| session_status | حیثیت/شیڈولنگ — مرکزی ایجنٹ ہم آہنگی کرتا ہے |
| cron | حیثیت/شیڈولنگ — مرکزی ایجنٹ ہم آہنگی کرتا ہے |
| memory_search | اس کے بجائے متعلقہ معلومات spawn پرامپٹ میں دیں |
| memory_get | اس کے بجائے متعلقہ معلومات spawn پرامپٹ میں دیں |
41. ذیلی ایجنٹ ٹولز کو حسبِ ضرورت بنانا¶
- آپ ذیلی ایجنٹ کے ٹولز کو مزید محدود کر سکتے ہیں:
43. {
tools: {
subagents: {
tools: {
// deny ہمیشہ allow پر غالب رہتا ہے
deny: ["browser", "firecrawl"],
},
},
},
}
- ذیلی ایجنٹس کو صرف مخصوص ٹولز تک محدود کرنے کے لیے:
45. {
tools: {
subagents: {
tools: {
allow: ["read", "exec", "process", "write", "edit", "apply_patch"],
// اگر set ہو تو deny پھر بھی غالب رہے گا
},
},
},
}
allow سیٹ ہو، تو صرف وہی ٹولز دستیاب ہوں گے (ڈیفالٹ deny فہرست اس کے اوپر لاگو رہے گی)۔
تصدیق¶
ذیلی ایجنٹ کی تصدیق ایجنٹ آئی ڈی کی بنیاد پر حل ہوتی ہے، نہ کہ سیشن کی قسم پر:
-
- auth اسٹور ہدف ایجنٹ کے
agentDirسے لوڈ کیا جاتا ہے
- auth اسٹور ہدف ایجنٹ کے
-
- مرکزی ایجنٹ کے auth پروفائلز کو fallback کے طور پر ضم کیا جاتا ہے (تنازع کی صورت میں ایجنٹ کے پروفائلز غالب رہتے ہیں)
-
- یہ ضم کرنا additive ہے — مرکزی پروفائلز ہمیشہ fallback کے طور پر دستیاب رہتے ہیں
2. سیاق و سباق اور سسٹم پرامپٹ¶
- ذیلی ایجنٹس کو مرکزی ایجنٹ کے مقابلے میں کم شدہ سسٹم پرامپٹ موصول ہوتا ہے:
-
- شامل: Tooling، Workspace، Runtime حصے، نیز
AGENTS.mdاورTOOLS.md
- شامل: Tooling، Workspace، Runtime حصے، نیز
-
- شامل نہیں:
SOUL.md،IDENTITY.md،USER.md،HEARTBEAT.md،BOOTSTRAP.md
- شامل نہیں:
- ذیلی ایجنٹ کو ایک کام پر مرکوز سسٹم پرامپٹ بھی ملتا ہے جو اسے تفویض کردہ کام پر توجہ مرکوز رکھنے، اسے مکمل کرنے، اور مرکزی ایجنٹ کے طور پر عمل نہ کرنے کی ہدایت دیتا ہے۔
7. ذیلی ایجنٹس کو روکنا¶
| 8. طریقہ | 9. اثر |
|---|---|
چیٹ میں /stop |
11. مرکزی سیشن اور اس سے شروع ہونے والی تمام فعال ذیلی ایجنٹ رنز کو منسوخ کر دیتا ہے |
12. /subagents stop <id> |
مرکزی سیشن کو متاثر کیے بغیر ایک مخصوص ذیلی ایجنٹ کو روکتا ہے |
14. runTimeoutSeconds |
15. مقررہ وقت کے بعد ذیلی ایجنٹ رن کو خودکار طور پر منسوخ کر دیتا ہے |
runTimeoutSeconds سیشن کو خودکار طور پر آرکائیو نہیں کرتا۔ 17. سیشن اس وقت تک برقرار رہتا ہے جب تک معمول کا آرکائیو ٹائمر فعال نہ ہو جائے۔
18. مکمل کنفیگریشن کی مثال¶
json5
{
agents: {
defaults: {
model: { primary: "anthropic/claude-sonnet-4" },
subagents: {
model: "minimax/MiniMax-M2.1",
thinking: "low",
maxConcurrent: 4,
archiveAfterMinutes: 30,
},
},
list: [
{
id: "main",
default: true,
name: "Personal Assistant",
},
{
id: "ops",
name: "Ops Agent",
subagents: {
model: "anthropic/claude-sonnet-4",
allowAgents: ["main"], // ops can spawn sub-agents under "main"
},
},
],
},
tools: {
subagents: {
tools: {
deny: ["browser"], // sub-agents can't use the browser
},
},
},
}
حدود¶
maxConcurrent کو حفاظتی حد کے طور پر استعمال کریں۔
23. - خودکار آرکائیو بہترین کوشش پر مبنی ہے: گیٹ وے کے دوبارہ شروع ہونے پر زیرِ التواء آرکائیو ٹائمرز ضائع ہو جاتے ہیں۔
یہ بھی دیکھیں¶
- سیشن ٹولز —
sessions_spawnاور دیگر سیشن ٹولز کی تفصیلات - ملٹی ایجنٹ سینڈ باکس اور ٹولز — فی ایجنٹ ٹول پابندیاں اور سینڈ باکسنگ
-
- Configuration —
agents.defaults.subagentsحوالہ
- Configuration —
-
- Queue —
subagentلین کس طرح کام کرتی ہے
- Queue —