-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
en use subagent
SubAgent Orchestration is an advanced agent organization method provided by AstrBot. It allows you to decompose complex tasks into multiple specialized SubAgents, reducing the Main Agent's prompt length and improving task execution success rates.
v4.14.0 introduced this feature, which is currently an experimental feature and not yet stable.
In traditional architectures, all tools are directly mounted on the Main Agent. When there are many tools, several issues arise:
- Prompt Bloat: The Main Agent must include descriptions for all tools in its System Prompt, consuming excessive context.
- Execution Errors: With a large number of tools, the LLM may confuse tool purposes or generate incorrect parameters.
- Complexity: The Main Agent is overburdened with both conversation and the organization/invocation of numerous tools.
With SubAgent Orchestration, the Main Agent is only responsible for user interaction and task delegation. Actual tool execution is handled by specialized SubAgents.
-
Main Agent Delegation: When SubAgent mode is enabled, the Main Agent only sees a series of delegation tools named
transfer_to_<subagent_name>. - Task Handoff: When the Main Agent determines a task needs execution, it calls the corresponding delegation tool, passing the task description to the SubAgent.
- SubAgent Execution: The SubAgent receives the task, performs operations using its assigned tools, and returns the organized results to the Main Agent.
- Feedback: The Main Agent receives the results and continues the conversation with the user.
In the AstrBot WebUI, click SubAgents in the left navigation bar.
Toggle "Enable SubAgent Orchestration" at the top of the page.
Click the "Add SubAgent" button:
-
Agent Name: Used to generate the delegation tool name (e.g.,
transfer_to_weather). Use lowercase and underscores. - Select Persona: Choose a preset Persona, which defines the SubAgent's basic character, behavioral guidance, and the Tools collection it can use. You can create and manage Personas on the "Persona Settings" page.
- Description for Main LLM: This description tells the Main Agent what this SubAgent is good at, ensuring accurate delegation.
- Assign Tools: Select the tools this SubAgent can invoke.
- Provider Override (Optional): You can specify different model providers for specific SubAgents. For example, the Main Agent could use GPT-4o, while a simple query SubAgent uses GPT-4o-mini to save costs.
- Single Responsibility: Each SubAgent should handle one category of related tasks (e.g., search, file processing, smart home control).
- Clear Descriptions: Descriptions for the Main Agent should be concise and highlight the SubAgent's core capabilities.
- Layered Management: For extremely complex tasks, consider multi-level delegation if necessary.
SubAgent orchestration is currently an experimental feature and not yet stable.
- Skills of personas cannot be isolated at this time.
- SubAgent conversation histories are not currently saved.
- 首页
- 文档入口
- Top Level
- community events
- deploy
- dev
- others
- platform
- 接入 OneBot v11 协议实现
- 接入钉钉 DingTalk
- 接入 Discord
- 接入 Kook
- 接入飞书
- 接入 LINE
- 接入 Matrix
- 接入 Mattermost
- 接入 Misskey 平台
- 接入 QQ 官方机器人平台
- 通过 QQ官方机器人 接入 QQ (Webhook)
- 通过 QQ官方机器人 接入 QQ (Websockets)
- 接入 Satori 协议
- 接入 server-satori (基于 Koishi)
- 接入 Slack
- 接入消息平台
- 接入 Telegram
- 接入 VoceChat
- AstrBot 接入企业微信
- 接入企业微信智能机器人平台
- AstrBot 接入微信公众平台
- 接入个人微信
- providers
- use
- Home
- Docs Entry
- Top Level
- config
- deploy
- Deploy AstrBot on 1Panel
- Deploy AstrBot on BT Panel
- Deploy AstrBot on CasaOS
- Deploy AstrBot from Source Code
- Community-Provided Deployment Methods
- Deploy via Compshare
- Deploy AstrBot with Docker
- Deploy AstrBot with Kubernetes
- Deploy AstrBot with AstrBot Launcher
- Other Deployments
- Package Manager Deployment (uv)
- Installation via System Package Manager
- Preface
- dev
- AstrBot Configuration File
- AstrBot HTTP API
- Developing a Platform Adapter
- plugin
- AI
- 开发环境准备
- Text to Image
- Handling Message Events
- Plugin Configuration
- Plugin Internationalization
- Plugin Pages
- Sending Messages
- Session Control
- Minimal Example
- Plugin Storage
- AstrBot Plugin Development Guide 🌠
- Publishing Plugins to the Plugin Marketplace
- ospp
- others
- platform
- Connect OneBot v11 Protocol Implementations
- Connect to DingTalk
- Connecting to Discord
- Connect to KOOK
- Connecting to Lark
- Connecting to LINE
- Connecting to Matrix
- Connecting to Mattermost
- Connecting to Misskey Platform
- Connect QQ Official Bot
- Connect QQ via QQ Official Bot (Webhook)
- Connect QQ via QQ Official Bot (Websockets)
- Connect to Satori Protocol
- Connect server-satori (Koishi)
- Connecting to Slack
- Messaging Platforms
- Connecting to Telegram
- Connect to VoceChat
- Connect AstrBot to WeCom
- Connect to WeCom AI Bot Platform
- Connect AstrBot to WeChat Official Account Platform
- Connect Personal WeChat
- providers
- Connect 302.AI
- Agent Runners
- Built-in Agent Runner
- Connect to Coze
- Connect to Alibaba Cloud Bailian Application
- Connect to DeerFlow
- Connect to Dify
- Connect AIHubMix
- coze
- dashscope
- dify
- 大语言模型提供商
- NewAPI
- Connect PPIO Cloud
- Connect LM Studio to Use DeepSeek-R1 and Other Models
- Integrating Ollama
- Connecting to SiliconFlow
- Connecting Model Services
- Connecting to TokenPony
- use
- Agent Runner
- Agent Sandbox Environment ⛵️
- astrbot sandbox
- Docker-based Code Interpreter
- Built-in Commands
- Computer Use
- Context Compression
- Custom Rules
- Function Calling
- AstrBot Knowledge Base
- MCP
- AstrBot Star
- Proactive Capabilities
- Anthropic Skills
- Agent Handoff and SubAgent
- Unified Webhook Mode
- Web Search
- WebUI

