Pilot Ml Training Pipeline Setup
/install pilot-ml-training-pipeline-setup
ML Training Pipeline Setup
Deploy 4 agents spanning data prep, training, evaluation, and serving.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| data-prep | \x3Cprefix>-data-prep |
pilot-dataset, pilot-share, pilot-task-chain | Cleans and transforms datasets |
| trainer | \x3Cprefix>-trainer |
pilot-dataset, pilot-model-share, pilot-metrics, pilot-task-chain | Trains models, tracks metrics |
| evaluator | \x3Cprefix>-evaluator |
pilot-model-share, pilot-metrics, pilot-review, pilot-task-chain | Evaluates and gates promotion |
| serving | \x3Cprefix>-serving |
pilot-model-share, pilot-health, pilot-webhook-bridge, pilot-load-balancer, pilot-metrics | Serves inference requests |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For data-prep:
clawhub install pilot-dataset pilot-share pilot-task-chain
# For trainer:
clawhub install pilot-dataset pilot-model-share pilot-metrics pilot-task-chain
# For evaluator:
clawhub install pilot-model-share pilot-metrics pilot-review pilot-task-chain
# For serving:
clawhub install pilot-model-share pilot-health pilot-webhook-bridge pilot-load-balancer pilot-metrics
Step 3: Set the hostname:
pilotctl --json set-hostname \x3Cprefix>-\x3Crole>
Step 4: Write the role-specific JSON manifest to ~/.pilot/setups/ml-training-pipeline.json.
Step 5: Tell the user to initiate handshakes with direct communication peers.
Manifest Templates Per Role
data-prep
{
"setup": "ml-training-pipeline", "role": "data-prep", "role_name": "Data Preparation",
"hostname": "\x3Cprefix>-data-prep",
"description": "Cleans, validates, and transforms raw datasets. Shares processed data with the trainer.",
"skills": {
"pilot-dataset": "Exchange structured datasets with schema negotiation.",
"pilot-share": "Send cleaned dataset files to \x3Cprefix>-trainer.",
"pilot-task-chain": "Chain data prep steps into sequential pipeline."
},
"peers": [{ "role": "trainer", "hostname": "\x3Cprefix>-trainer", "description": "Receives prepared datasets" }],
"data_flows": [{ "direction": "send", "peer": "\x3Cprefix>-trainer", "port": 1001, "topic": "dataset-ready", "description": "Cleaned datasets" }],
"handshakes_needed": ["\x3Cprefix>-trainer"]
}
trainer
{
"setup": "ml-training-pipeline", "role": "trainer", "role_name": "Model Trainer",
"hostname": "\x3Cprefix>-trainer",
"description": "Receives prepared datasets, runs training jobs, tracks metrics, and shares trained model artifacts.",
"skills": {
"pilot-dataset": "Receive prepared datasets from data-prep.",
"pilot-model-share": "Send trained model checkpoints to evaluator.",
"pilot-metrics": "Track and publish training loss, accuracy, epochs.",
"pilot-task-chain": "Chain training steps sequentially."
},
"peers": [
{ "role": "data-prep", "hostname": "\x3Cprefix>-data-prep", "description": "Sends prepared datasets" },
{ "role": "evaluator", "hostname": "\x3Cprefix>-evaluator", "description": "Receives trained models" }
],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-data-prep", "port": 1001, "topic": "dataset-ready", "description": "Cleaned datasets" },
{ "direction": "send", "peer": "\x3Cprefix>-evaluator", "port": 1001, "topic": "training-complete", "description": "Model checkpoints and metrics" }
],
"handshakes_needed": ["\x3Cprefix>-data-prep", "\x3Cprefix>-evaluator"]
}
evaluator
{
"setup": "ml-training-pipeline", "role": "evaluator", "role_name": "Model Evaluator",
"hostname": "\x3Cprefix>-evaluator",
"description": "Scores trained models against benchmarks and gates promotion to serving.",
"skills": {
"pilot-model-share": "Receive models from trainer, promote approved models to serving.",
"pilot-metrics": "Compare benchmarks, detect drift.",
"pilot-review": "Gate model promotion with approval workflow.",
"pilot-task-chain": "Chain evaluation steps."
},
"peers": [
{ "role": "trainer", "hostname": "\x3Cprefix>-trainer", "description": "Sends trained models" },
{ "role": "serving", "hostname": "\x3Cprefix>-serving", "description": "Receives approved models" }
],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-trainer", "port": 1001, "topic": "training-complete", "description": "Model checkpoints" },
{ "direction": "send", "peer": "\x3Cprefix>-serving", "port": 1001, "topic": "model-approved", "description": "Approved models" },
{ "direction": "receive", "peer": "\x3Cprefix>-serving", "port": 1002, "topic": "inference-metrics", "description": "Drift detection data" }
],
"handshakes_needed": ["\x3Cprefix>-trainer", "\x3Cprefix>-serving"]
}
serving
{
"setup": "ml-training-pipeline", "role": "serving", "role_name": "Model Server",
"hostname": "\x3Cprefix>-serving",
"description": "Loads approved models, serves inference, monitors health, and load-balances.",
"skills": {
"pilot-model-share": "Receive approved models from evaluator.",
"pilot-health": "Monitor inference endpoint health and latency.",
"pilot-webhook-bridge": "Trigger external alerts on serving failures.",
"pilot-load-balancer": "Distribute inference requests across replicas.",
"pilot-metrics": "Report QPS, latency, drift metrics to evaluator."
},
"peers": [{ "role": "evaluator", "hostname": "\x3Cprefix>-evaluator", "description": "Sends approved models, receives metrics" }],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-evaluator", "port": 1001, "topic": "model-approved", "description": "Approved models" },
{ "direction": "send", "peer": "\x3Cprefix>-evaluator", "port": 1002, "topic": "inference-metrics", "description": "Inference metrics for drift" }
],
"handshakes_needed": ["\x3Cprefix>-evaluator"]
}
Data Flows
data-prep → trainer: cleaned datasets (port 1001)trainer → evaluator: model checkpoints and metrics (port 1001)evaluator → serving: approved models (port 1001)serving → evaluator: inference metrics for drift detection (port 1002)
Workflow Example
# On data-prep:
pilotctl --json send-file \x3Cprefix>-trainer ./datasets/training-v5.parquet
pilotctl --json publish \x3Cprefix>-trainer dataset-ready '{"name":"training-v5","rows":150000}'
# On trainer:
pilotctl --json send-file \x3Cprefix>-evaluator ./models/resnet-v5.pt
pilotctl --json publish \x3Cprefix>-evaluator training-complete '{"model":"resnet-v5","accuracy":0.967}'
# On evaluator:
pilotctl --json send-file \x3Cprefix>-serving ./models/resnet-v5.pt
pilotctl --json publish \x3Cprefix>-serving model-approved '{"model":"resnet-v5","benchmark":0.971}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install pilot-ml-training-pipeline-setup - 安装完成后,直接呼叫该 Skill 的名称或使用
/pilot-ml-training-pipeline-setup触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Pilot Ml Training Pipeline Setup 是什么?
Deploy an end-to-end ML training pipeline with 4 agents. Use this skill when: 1. User wants to set up a machine learning training pipeline 2. User is configu... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 59 次。
如何安装 Pilot Ml Training Pipeline Setup?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install pilot-ml-training-pipeline-setup」即可一键安装,无需额外配置。
Pilot Ml Training Pipeline Setup 是免费的吗?
是的,Pilot Ml Training Pipeline Setup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Pilot Ml Training Pipeline Setup 支持哪些平台?
Pilot Ml Training Pipeline Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Pilot Ml Training Pipeline Setup?
由 Calin Teodor(@teoslayer)开发并维护,当前版本 v1.0.0。