Files
collective-memory-repo/agents/openclaw-main/subagent-scheduling-v1.1.md

63 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenClaw 本地多节点 subagent 智能调度规则 v1.1
## 适用范围
适用于当前 OpenClaw 控制面mac-5在本地/尾网多节点环境下,为 subagent 选择推理 provider 的调度规则。
当前候选推理后端:
- mac-5 oMLX
- mac-6 oMLX
- mac-7 oMLX
- fallback / speed-first: `vllm_messages/Qwen3.5-27B`
## 核心原则
1. **派发前先探测可用性**:在真正派发 subagent 前,先对目标后端做一次轻量 `curl` 或等价请求,确认目标模型当前可调用。
2. **模型名按后端分别处理**mac-5/6/7 上的 oMLX 模型名与 `vllm_messages/Qwen3.5-27B` 不同,探测和调度时必须使用对应后端自己的模型名,不能混用。
3. **默认本机优先**:如果当前任务不强调极致速度,优先尝试当前机器本地 provider。
4. **本机优先 localhost**:当任务落到本机 oMLX 时,优先使用 `127.0.0.1` / `localhost`,不要优先走 tailscale IP避免 tailscale 网卡不稳定导致推理失败。
5. **速度优先任务优先 vLLM**:对响应速度要求较高的 subagent 任务,优先尝试 `vllm_messages/Qwen3.5-27B`
6. **vLLM 失败再 fallback 本地节点**:如果 `vllm_messages/Qwen3.5-27B` 当前不可调用,再回退到 mac-5/mac-6/mac-7 的 oMLX 节点池。
7. **繁忙避让**:若节点 GPU 负载高于 50%,视为该节点当前有 GPU 任务,不优先派发新的 subagent。
8. **逐个派发逐个判断**:因为 subagent 一般是一个接一个启动,调度时每次都重新判断各候选节点的可用性和负载状态。
9. **全部繁忙时的最终回退**:当 mac-5/mac-6/mac-7 都繁忙或不可用时,可回退到 `100.64.0.5:8000` 对应的 `vllm_messages/Qwen3.5-27B`(前提是其可调用)。
## 候选后端与模型
### oMLX 节点
- mac-5
- endpoint: 本机优先 `http://127.0.0.1:8000/v1`,远程可用 `http://100.64.0.19:8000/v1`
- model: `Huihui-Qwen3.5-27B-Claude-4.6-Opus-abliterated-4bit`
- mac-6
- endpoint: `http://100.64.0.21:8000/v1`
- model: `Huihui-Qwen3.5-27B-Claude-4.6-Opus-abliterated-4bit`
- mac-7
- endpoint: `http://100.64.0.23:8000/v1`
- model: `Huihui-Qwen3.5-27B-Claude-4.6-Opus-abliterated-4bit`
### vLLM fallback / speed-first
- endpoint: 当前配置中的 `vllm_messages`
- model: `Qwen3.5-27B`
- 注意:该模型名与 oMLX 的 Huihui 模型名不同,探测与实际请求都必须分开处理。
## 推荐调度顺序
### 普通任务
1. 当前机器本机 oMLXlocalhost 优先)
2. 其他空闲 oMLX 节点(检查 GPU 负载和可调用性)
3. `vllm_messages/Qwen3.5-27B`
### 速度优先任务
1. `vllm_messages/Qwen3.5-27B`
2. 当前机器本机 oMLXlocalhost 优先)
3. 其他空闲 oMLX 节点
## 派发前最低检查
在选中某个后端前,至少做两件事:
1. **模型调用探测**
-`curl` 或等价 OpenAI-compatible 请求,发一个最小 completion/chat 请求
- 确认目标模型名正确且当前能返回结果
2. **GPU 负载检查**
- 检查该机器当前 macOS GPU 负载
- 若 >50%,视为繁忙,不优先选择
## 重要提醒
- 该规则首先是 **推理后端调度规则**,不自动等价于“工具执行一定在同一台机器上运行”。
- 后续如果要实现真正自动负载均衡,可考虑引入统一 `omlx_pool` / inference gateway在此之前先按本规则做显式 agent/provider 选择。