子代理
了解子代理的作用、创建方式、自动委派和复杂任务拆分。
子代理是 Agent 执行器在任务运行中可调用的专门角色。它不是用户发起任务的入口,而是帮助主流程处理某个子问题的辅助角色。
当一个任务同时包含工艺、质量、设备、安全等不同视角时,把这些视角拆成子代理,比把所有规则都写进同一段提示词更清楚,也更容易复用。
子代理解决什么问题
子代理主要解决三类问题:
| 问题 | 子代理的作用 | 钢厂示例 |
|---|---|---|
| 上下文太杂 | 把某个子任务放到独立角色里分析,只把结论交回主流程 | 质量子代理只看钢卷质检记录和缺陷描述 |
| 专业视角不同 | 给不同角色写不同判断标准 | 工艺、设备、安全分别按自己的规则审查 |
| 任务可并行 | 多个相对独立的问题可以同时分析 | 同时检查热轧质量、点检记录和安全隐患 |
如果只是一次简单问答,不需要子代理。子代理适合“一个大任务里有多个明确分工”的场景。
自动委派与复杂任务拆分
Agent 执行器会根据任务内容、当前上下文和子代理描述判断是否需要委派。描述字段越具体,越容易在合适的时候被自动调用。
除了用户自己创建的子代理,执行器也可能在复杂任务中使用内置辅助角色,例如先做资料探索、先形成计划,或把一个高噪声子任务放到独立上下文中处理。用户通常不需要手动创建这些内置角色,只需要把任务目标、范围和约束写清楚。
当任务进一步变大,例如需要检查大量文件、批量迁移配置、跨多个数据源交叉核验,执行器可能把任务组织成动态工作流:先生成可执行的编排脚本,再由脚本调度多个子代理分批执行。动态工作流更适合长任务和批量任务,因为中间结果保存在工作流变量里,主会话只接收阶段性进展和最终结果。
可以这样区分:
| 方式 | 适合场景 | 特点 |
|---|---|---|
| 单个子代理 | 一个清晰的旁路任务 | 独立上下文,返回摘要 |
| 多个子代理 | 几个互不依赖的专业视角 | 可并行分析,由主流程汇总 |
| 动态工作流 | 大批量、长周期、需要交叉验证的任务 | 用脚本编排多个子代理,过程更可复用 |
例如,分析一天的钢卷质检异常,通常用质量分析子代理即可;如果要复盘整月多个产线的质量、设备和工艺问题,并交叉核验多个台账,动态工作流会更合适。
与场景 Agent 的区别
| 类型 | 面向对象 | 作用 | 示例 |
|---|---|---|---|
| 场景 Agent | 用户 | 固定一类任务入口和默认能力 | 钢厂日报助手、设备巡检助手 |
| 子代理 | Agent 执行器 | 在执行中处理某个子问题 | 质量分析子代理、设备风险子代理 |
可以这样理解:场景 Agent 决定“这次要做什么工作”,子代理决定“这项工作里哪些部分交给专门角色处理”。
POCO 如何创建子代理
在 POCO 中,子代理通过能力管理页面创建和维护。创建后,POCO 会在任务开始前把选中的子代理下发给 Agent 执行器,本次运行只使用当时的配置快照。
创建路径:
- 进入能力配置。
- 打开 Subagents 管理页。
- 新增子代理。
- 填写名称、描述、Skills 和内容。
- 启用后,在新任务入口、会话能力栏或相关任务配置中选择使用。
字段含义:
| 字段 | 作用 | 建议 |
|---|---|---|
| 名称 | 子代理的稳定标识 | 使用小写字母、数字和连字符,例如 steel-quality-inspector |
| 描述 | 告诉执行器什么时候委派给它 | 写清楚触发场景,不要只写“质量专家” |
| Skills | 子代理启动时可参考的固定方法 | 只选择确实需要的 Skills |
| 内容 | 子代理的完整工作指令 | 写角色、输入范围、判断规则和输出格式 |
| 启用 | 是否可被任务选择 | 暂时不用的子代理可以停用 |
描述越清楚,自动委派越稳定。用户也可以在任务中直接点名某个子代理,例如“请让 steel-quality-inspector 先分析质检异常”。
如果任务本身很大,不确定该创建哪些子代理,可以先让 Agent 执行器给出拆分方案,再把稳定、可复用的角色沉淀成自定义子代理。
生产制造场景
适合做成子代理的场景:
- 质量分析:分析钢卷、炉次、成分、尺寸、表面缺陷和判定依据。
- 工艺分析:检查加热、轧制、冷却、精整参数是否偏离工艺窗口。
- 设备风险:结合点检、维修、振动、温度和报警记录判断设备风险。
- 安全检查:按安全制度检查作业票、危险源、隔离措施和整改闭环。
- 生产计划:检查订单、产线能力、换辊、检修窗口和交期冲突。
不适合做成子代理的场景:
- 只需要改一句话或回答一个概念。
- 子任务之间强依赖,需要来回反复确认。
- 只是固定输出格式,这类更适合写进场景 Agent 或 Skill。
- 规则还不稳定,团队还没验证过。
示例:钢卷质量分析子代理
名称:
steel-quality-inspector描述:
当任务需要分析钢卷、炉次、质检数据、成分偏差、尺寸波动或表面缺陷风险时使用。内容:
你是钢厂质量分析子代理,负责从质检记录、生产参数和用户描述中识别质量风险。
工作范围:
1. 分析钢种、炉次、钢卷号、规格、成分、尺寸、表面缺陷和判定结果。
2. 对比用户提供的标准、工艺要求或历史数据。
3. 找出异常项、可能原因和需要复核的数据。
4. 不直接下最终处置结论,除非用户提供了明确判定标准。
输出格式:
1. 结论摘要:一句话说明是否存在明显质量风险。
2. 异常证据:列出关键字段、异常值和依据。
3. 可能原因:按可能性排序。
4. 建议动作:列出复检、追溯、隔离或补充数据建议。
5. 不确定项:说明缺少哪些数据。适合的任务提法:
请分析 6 月 20 日热轧产线的钢卷质检异常,重点看厚度波动和表面划伤。
如果需要,请让 steel-quality-inspector 先做质量风险判断。示例:设备点检风险子代理
名称:
equipment-risk-reviewer描述:
当任务需要分析设备点检、维修记录、报警、温度、振动或停机风险时使用。内容:
你是设备风险复核子代理,负责从点检和维修材料中识别设备隐患。
关注重点:
1. 连续多日异常但未闭环的问题。
2. 温度、振动、电流、压力等趋势性异常。
3. 与近期停机、换件、检修计划相关的风险。
4. 可能影响安全、质量或产能的设备状态。
输出要求:
- 先按高、中、低列出风险。
- 每个风险必须说明证据来源。
- 给出建议处理人群:点检、检修、工艺、生产调度或安全。
- 不臆造不存在的报警和数据。适合的任务提法:
请根据本周精轧机点检记录和维修日志,梳理下周可能影响生产的设备风险。
优先让 equipment-risk-reviewer 复核点检异常。多子代理协作
一个任务可以选择多个子代理。适合在问题边界清楚时使用,例如钢厂日报:
| 子代理 | 负责内容 |
|---|---|
steel-quality-inspector | 质量异常、缺陷趋势、复检建议 |
furnace-process-analyst | 高炉或加热炉关键参数波动 |
equipment-risk-reviewer | 点检异常、停机风险、检修建议 |
safety-compliance-checker | 安全隐患、作业票和整改闭环 |
主流程会综合各子代理的最终结论,形成统一报告。为了减少误判,任务中应明确数据范围,例如日期、产线、班组、炉次、钢卷号或设备编号。
编写子代理的建议
- 名称稳定,不要频繁改名。
- 描述写触发条件,例如“当任务需要分析钢卷质检异常时使用”。
- 内容写清楚角色边界,不要让子代理承担所有工作。
- 输出格式要固定,方便主流程汇总。
- 能力只给必要项,避免子代理接触无关工具。
- 对高风险场景写“不确定项”,不要让它强行下结论。
- 修改子代理后,重新发起的任务才会使用新配置。
使用前检查
创建完成后,可以用一个小任务验证:
请让 steel-quality-inspector 阅读这份钢卷质检记录,输出异常证据、可能原因和需要补充的数据。如果输出太泛,优先修改描述和内容;如果经常误触发,收窄描述;如果很少被调用,检查任务提法是否包含它的触发场景。