用途
Agent Delegate 用于将复杂任务拆分为多个专业阶段,通过生成子智能体(delegate)来处理每个阶段。每个子智能体接收父会话的精选上下文,并返回结构化结果,最终合并回主对话。
主要能力
- 专业委派:为不同子任务指定不同的系统提示词(如安全工程师、性能优化专家)。
- 上下文交接:子智能体接收任务提示、系统提示、相关文件、父级分析结果和深度元数据。
- 并行执行:通过
--parallel标志同时生成多个子智能体(最多5个),并可选执行合成步骤合并结果。 - 结构化输出:子智能体返回 JSON 格式结果,包含发现、摘要、分析文件数、后续步骤等字段。
- 深度限制:通过
DELEGATE_DEPTH环境变量跟踪深度,最大深度为3,防止无限递归。 - 结果合并:提供
merge.js脚本合并多个委派结果。
使用方式
通过命令行调用 delegate.js 脚本,主要选项包括:
--task:委派任务提示(必需)--system:自定义系统提示--model:使用的 LLM 模型(默认claude-sonnet-4-5-20250929)--files:包含的文件路径(空格分隔)--context:父级分析/上下文文件--parallel:启用并行委派模式--task-N:并行模式下的任务(1-5)--depth:当前委派深度(内部使用)--max-depth:最大递归深度(默认3)--output:结果输出文件(默认 stdout)--verbose:详细日志
示例:
# 默认设置委派子任务
node /job/.pi/skills/agent-delegate/delegate.js \
--task "Review for security vulnerabilities"
# 自定义系统提示和模型
node /job/.pi/skills/agent-delegate/delegate.js \
--task "Analyze performance bottlenecks" \
--system "You are a performance optimization expert" \
--model "claude-sonnet-4-5-20250929"
# 并行委派
node /job/.pi/skills/agent-delegate/delegate.js \
--parallel \
--task-1 "Check for security issues" \
--task-2 "Check for performance issues" \
--task-3 "Check for code style"
适用场景
- 需要多种专业领域的任务(如安全审查 + 性能 + 风格)
- 将复杂问题分解为专业阶段
- 不同部分需要不同系统提示/角色
- 独立子任务的并行执行
- 构建递归问题解决工作流
- 多阶段问题解决(分析 → 设计 → 实现)
限制
- 不适用于简单单一任务(委派增加开销)
- 不适用于需要持续人工交互的任务
- 不适用于已有足够专业能力的场景
- 深度递归受限(最大深度3)
- 需要
ANTHROPIC_API_KEY环境变量 - 并行委派最多5个
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
DELEGATE_DEPTH |
当前委派深度 | 0 |
DELEGATE_MAX_DEPTH |
最大递归深度 | 3 |
DELEGATE_PARALLEL_LIMIT |
最大并行委派数 | 5 |
ANTHROPIC_API_KEY |
Claude API 密钥 | 必需 |
文件结构
| 文件 | 用途 |
|---|---|
delegate.js |
主委派执行器 |
merge.js |
合并多个委派结果 |
parallel.js |
并行委派协调器 |
context.js |
上下文打包工具 |
tests/ |
单元和集成测试 |
SKILL.md |
文档 |
错误处理
- 深度超限:返回
MAX_DEPTH_EXCEEDED错误,建议直接完成子任务。 - 任务失败:返回
DELEGATE_FAILED错误,包含原因和是否可重试。
最佳实践
- 在专业边界清晰、子任务独立、需要不同角色、复杂多阶段工作时使用委派。
- 避免在简单任务、紧密耦合工作、已有专业能力或时间紧迫时使用委派。
- 避免委派过于相似或重复的任务。