Hermes Agent: 委托

最后更新:2026-08-31

委托是 Hermes Agent 的管理能力——遇到复杂任务时,它可以创建子 Agent 分头干活,最后汇总结果,就像一个项目经理分配任务给团队成员。

💡 提示:委托机制是 Hermes 处理复杂任务的关键能力。主 Agent 分解任务、分配给子 Agent、监控进度、汇总结果,实现并行高效执行。

📋 前置知识:第7课 Skills 技能系统、第8课 工具与工具集

1. 你将学到

编号 内容
委托机制原理
子 Agent 创建与配置
任务分解与分配
并行执行与协调
结果汇总与质量检查

2. 故事

(1) 痛点:大任务串行执行太慢

Bob 让 Agent 分析一个大型项目,Agent 逐文件审查,20 个文件花了 30 分钟。Bob 想:能不能多个人同时审?

(2) 解法:委托子 Agent 并行处理

BASH
me: 审查整个项目的代码质量
Agent: 项目有20个文件,我将创建5个子Agent并行审查:
  🤖 Sub-Agent-1: src/api/ (4 files)
  🤖 Sub-Agent-2: src/models/ (5 files)
  🤖 Sub-Agent-3: src/utils/ (4 files)
  🤖 Sub-Agent-4: src/views/ (4 files)
  🤖 Sub-Agent-5: tests/ (3 files)
  
  [并行执行中...] 8分钟完成
  
  📊 汇总报告:
  - 安全问题: 3个
  - 性能问题: 5个
  - 类型问题: 7个
  - 建议: ...

3. 委托机制原理

(1) 主 Agent → 子 Agent 架构

100%
graph TB
    A[主 Agent] --> B[任务分解]
    B --> C1[子 Agent 1]
    B --> C2[子 Agent 2]
    B --> C3[子 Agent 3]
    
    C1 --> D[结果汇总]
    C2 --> D
    C3 --> D
    
    D --> E[质量检查]
    E --> F[最终输出]
    
    A -.->|监控| C1
    A -.->|监控| C2
    A -.->|监控| C3

(2) 委托类型

类型 说明 场景
并行委托 子 Agent 同时执行 多文件审查、多源搜索
串行委托 子 Agent 依次执行 有依赖关系的任务
条件委托 根据结果决定下一步 需要人工确认的步骤
递归委托 子 Agent 再创建子 Agent 超大规模任务

4. 子 Agent 创建与配置

(1) 自动创建

BASH
# 对话中触发委托
me: 分析这个仓库的所有 Python 文件的代码质量

Agent: 识别到 15 个 Python 文件,将创建 3 个子 Agent 并行分析:
  - 子 Agent "analyzer-1": 处理 5 个文件
  - 子 Agent "analyzer-2": 处理 5 个文件
  - 子 Agent "analyzer-3": 处理 5 个文件
  
  每个子 Agent 配置:
  - 模型: gpt-4o-mini(节省成本)
  - 工具: fs_read, code_python
  - 技能: python-quality-check

(2) 手动配置子 Agent

YAML
delegate:
  # 子 Agent 模板
  sub_agent_template:
    model: "gpt-4o-mini"        # 用小模型节省成本
    max_tokens: 2048
    timeout: 120
    
    # 可用工具
    tools:
      - fs_read
      - code_python
      - web_search
    
    # 可用技能
    skills:
      - code-review
      - test-runner
    
  # 委托策略
  strategy:
    max_sub_agents: 5            # 最多5个子Agent
    min_task_size: 1             # 每个子Agent至少1个任务
    cost_limit: 0.10             # 单次委托最大成本

5. 任务分解与分配

(1) 自动分解

BASH
me: 帮我调研 React 19、Vue 4 和 Svelte 5 的最新特性

Agent: [任务分解]
  总任务: 3个框架的调研
  分解策略: 按框架分配
  
  🤖 Sub-Agent-1: 调研 React 19
    → web_search("React 19 features")
    → web_scrape("react.dev/blog")
    
  🤖 Sub-Agent-2: 调研 Vue 4
    → web_search("Vue 4 features")
    → web_scrape("vuejs.org/blog")
    
  🤖 Sub-Agent-3: 调研 Svelte 5
    → web_search("Svelte 5 features")
    → web_scrape("svelte.dev/blog")
    
  [并行执行...]

(2) 自定义分解规则

YAML
delegate:
  decomposition:
    # 按文件类型分解
    - trigger: "审查项目"
      strategy: "by_file_type"
      group_by: "extension"
      
    # 按目录分解
    - trigger: "分析仓库"
      strategy: "by_directory"
      max_per_group: 10
      
    # 按任务类型分解
    - trigger: "调研"
      strategy: "by_topic"
      identify_entities: true

6. 并行执行与协调

(1) 执行监控

BASH
# 查看委托执行状态
/delegate status

# 输出示例:
# ┌─────────────┬──────────┬─────────┬──────────┐
# │ Sub-Agent   │ Status   │ Progress│ Cost     │
# ├─────────────┼──────────┼─────────┼──────────┤
# │ analyzer-1  │ ✅ Done  │ 5/5     │ $0.03    │
# │ analyzer-2  │ 🔄 Run   │ 3/5     │ $0.02    │
# │ analyzer-3  │ ⏳ Wait  │ 0/5     │ $0.00    │
# └─────────────┴──────────┴─────────┴──────────┘

(2) 错误处理

YAML
delegate:
  error_handling:
    on_sub_agent_fail: "retry"     # retry / skip / abort
    max_retries: 2
    retry_delay: 5
    
    on_timeout: "partial_result"   # partial_result / abort
    timeout_per_task: 120
    
    on_cost_exceed: "warn"         # warn / pause / abort

(3) 结果汇总

BASH
Agent: [汇总子 Agent 结果]
  
  📊 综合分析报告
  
  来源: 3个子Agent, 共分析15个文件
  
  问题统计:
  ├── 🔴 严重: 2个
  │   ├── api/auth.py: SQL注入风险
  │   └── utils/crypto.py: 硬编码密钥
  ├── 🟡 警告: 5个
  └── 🔵 建议: 8个
  
  优先修复: 先修2个严重问题
  预计修复时间: 30分钟

7. 高级委托场景

(1) 递归委托

BASH
me: 分析整个 monorepo 的代码质量

Agent: Monorepo 有 5 个 package,创建 5 个子 Agent:
  每个子 Agent 内部再按目录分解...
  
  🤖 Sub-Agent-frontend → 创建3个孙Agent
  🤖 Sub-Agent-backend → 创建4个孙Agent
  🤖 Sub-Agent-shared → 直接处理
  🤖 Sub-Agent-infrastructure → 直接处理
  🤖 Sub-Agent-tests → 创建2个孙Agent

(2) 人机协作委托

BASH
me: 帮我完成发布流程

Agent: 发布流程需要人工确认,我将分步执行:
  
  Step 1: [自动] 代码审查 → ✅ 通过
  Step 2: [自动] 跑测试 → ✅ 通过
  Step 3: [等待确认] 部署到staging?
  me: 确认
  Step 4: [自动] 部署staging → ✅ 完成
  Step 5: [等待确认] 部署到production?
  me: 确认
  Step 6: [自动] 部署production → ✅ 完成
  Step 7: [自动] 通知团队 → ✅ 完成

❓ 常见问题

Q 子 Agent 和主 Agent 共享记忆吗?
A 共享长期记忆和用户模型,但工作记忆独立。子 Agent 知道用户偏好,但不干扰主对话上下文。
Q 最多能创建多少子 Agent?
A 默认最多 5 个,可通过 delegate.strategy.max_sub_agents 调整。过多会增加成本和协调开销。
Q 子 Agent 用什么模型?
A 默认用 gpt-4o-mini 节省成本。可以配置为与主 Agent 相同模型。
Q 并行执行会冲突吗?
A 文件写入操作会自动加锁,避免并发冲突。只读操作无限制。
Q 委托的成本怎么算?
A 子 Agent 的 Token 消耗独立计算,但合并到主账户。/delegate status 实时显示各子 Agent 成本。
Q 子 Agent 失败会影响整体吗?
A 取决于配置。默认跳过失败任务,汇总已完成的。可配置为全部中止。

📖 小节


📝 作业

  1. 基础题(难度⭐):让 Agent 用委托机制并行搜索 3 个不同话题,观察子 Agent 创建和结果汇总。
  2. 进阶题(难度⭐⭐):配置子 Agent 使用不同模型(gpt-4o-mini),验证成本节省效果,对比串行执行的耗时。
  3. 挑战题(难度⭐⭐⭐):设计一个递归委托方案,处理 monorepo 的全项目代码审查,包含错误处理和成本控制策略。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏