Skip to content

子代理

Codex 的并行任务处理能力

概述

子代理是 Codex 创建的独立执行单元,可以并行处理多个任务,提高效率。

工作原理

主代理

协调和分配任务:

主代理
├── 分析任务
├── 创建子代理
├── 分配子任务
└── 汇总结果

子代理

执行具体任务:

子代理 1: 读取文件
子代理 2: 运行测试
子代理 3: 搜索代码

使用场景

1. 并行文件处理

"分析所有 TypeScript 文件的问题"

子代理 1: 分析 src/*.ts
子代理 2: 分析 lib/*.ts
子代理 3: 分析 utils/*.ts

2. 多任务执行

"检查代码质量并运行测试"

子代理 1: 运行 linter
子代理 2: 运行单元测试
子代理 3: 检查类型错误

3. 大规模搜索

"查找所有使用旧 API 的地方"

子代理 1: 搜索 src/
子代理 2: 搜索 lib/
子代理 3: 搜索 tests/

创建子代理

自动创建

Codex 自动判断何时创建:

当任务可以并行时自动创建

手动指定

"创建 3 个子代理分别处理"

任务分配

智能分配

根据:
- 任务类型
- 文件大小
- 资源可用性

负载均衡

动态调整:
- 繁忙时少分配
- 空闲时多分配

通信机制

主代理通信

子代理 → 主代理:
- 进度更新
- 请求帮助
- 报告结果

子代理间通信

默认隔离
需要时可以共享:
- 文件锁
- 共享内存

资源管理

资源配额

yaml
子代理资源:
  cpu: 1 核/代理
  memory: 1GB/代理
  max_agents: 10

优先级

高优先级:
- 用户交互
- 关键任务

低优先级:
- 后台任务
- 批处理

错误处理

代理失败

当子代理失败:
1. 重试
2. 重新分配
3. 报告主代理

部分失败

部分代理失败:
- 继续其他代理
- 汇总可用结果
- 报告失败原因

监控和调试

进度监控

查看状态:
- 活跃代理数
- 完成进度
- 资源使用

日志查看

每个代理独立日志:
/agents logs agent-1

配置选项

最大代理数

json
{
  "agents": {
    "maxConcurrent": 5
  }
}

超时设置

json
{
  "agents": {
    "timeout": 300
  }
}

资源限制

json
{
  "agents": {
    "memoryLimit": "2GB",
    "cpuLimit": 2
  }
}

最佳实践

1. 任务分解

大任务拆分为小任务
并行执行提高效率

2. 合理配置

根据资源调整数量
避免过度并行

3. 监控资源

定期检查使用情况
防止资源耗尽

限制

当前限制

  • 最大并发数有限
  • 网络访问受限
  • 文件锁需要注意

不支持

  • 跨机器代理
  • 持久化代理
  • 交互式代理

示例

代码审查

"审查整个项目"

主代理规划:
1. 创建 5 个子代理
2. 分配目录给每个代理
3. 汇总审查结果

测试运行

"运行所有测试"

子代理 1: 单元测试
子代理 2: 集成测试
子代理 3: E2E 测试

下一步

基于 OpenAI Codex 官方文档翻译