CCCMKホールディングス TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

Claude Opus 4.6とスキルを組み合わせて機械学習タスクを自動化する

こんにちは、テックラボの高橋です。

今回はClaude Opus 4.6と自作のスキル群を使って、機械学習モデルの軽量化タスクを自動化できるか試してみました。本記事では、スキルの設計思想から実際の実験結果までをまとめていきます。

背景

LLMによるコーディングが非常に盛り上がっていますが、機械学習タスクは依然として手作業が多い領域です。データ準備、環境構築、訓練、評価、最適化、レポート作成と、各フェーズで異なるツールや手順が必要になります。

ターミナルで実行できるコーディングエージェントであるGitHub Copilot CLIやClaude Codeのスキル機能を使えば、これらの手順を再利用可能な形でパッケージ化できます。

github.com

claude.com

スキルはCopilot CLIの場合は.github/skills/、Claude Codeの場合は.claude/skills/にSKILL.mdというファイル名で配置することで、/スキル名でcliから呼び出せる機能です。

SKILL.mdは例えば以下のような記法になります。

---
name: hoge-skill
description: このスキルは「hogehoge」とsubagentで出力します。

---
# 内容

標準出力にhogeと出力する。

今回はStyleTTS2という音声合成モデルの軽量化を題材に、機械学習開発フローの自動化を検証しました。

検証環境

  • OS: Ubuntu 22.04 (DevContainer)
  • Python: 3.11
  • PyTorch: 2.5.1
  • ONNX Runtime: 1.24.1
  • Whisper: モデル 20250625
  • サンドボックス: VSCode DevContainer

サンドボックス環境を用いることで、不要なファイルへのアクセスや通信を防ぎ、セキュリティリスクを限局させています。

スキルの設計

今回作成したスキル群は以下の通りです。

skills/
├── ml-dev/           # オーケストレーター(全体制御)
├── ml-prepare-data/  # データセット準備
├── ml-setup/         # 環境セットアップ
├── ml-train/         # モデル訓練
├── ml-eval/          # モデル評価
├── ml-optimize/      # ONNX 変換・量子化
├── ml-deploy/        # デプロイ準備
└── ml-report/        # 実験レポート生成

/ml-devはメタスキル…スキルを呼ぶスキルとして機能し、各フェーズを専用スキルに委譲します。

/ml-dev
 └→ Task1 プロジェクト状態確認
 └→ Task2 データ準備         ← /ml-prepare-data
 └→ Task3 環境セットアップ   ← /ml-setup
 └→ Task4 モデル訓練(任意)    ← /ml-train
 └→ Task5 モデル評価      ← /ml-eval
 └→ Task6 最適化(任意) ← /ml-optimize
 └→ Task7 デプロイ(任意) ← /ml-deploy
 └→ Task8 レポート ← /ml-report

スキル/ml-devの中では以下のように記述してみました。

# ML Development Skill

機械学習プロジェクトの開発フロー全体を体系的に実行するメタスキル。データ準備から訓練、評価、デプロイ、レポート作成までの全プロセスを専用スキルに委譲し、タスクリストで進捗管理します。

## 目的

1. **ML開発の標準化**: データ準備→訓練→評価→デプロイの一連のフローを体系化
2. **タスク管理**: 各フェーズをタスクとして追跡し、進捗を可視化
3. **モジュール性**: 各フェーズを専用スキルに委譲し、再利用性を向上
4. **再現性**: 全プロセスをドキュメント化し、再実行可能に

(中略)

### Phase 3: データ準備 (→ T2)

**委譲**: このフェーズは `/ml-prepare-data` スキルに委譲します。

(後略)

こうして、/ml-devスキル内で各処理がタスクリスト化され、順次スキルとして実行されることを期待します。

/ml-devから呼び出す各スキルは、一度Claude Opus 4.6に自動で作らせてから、タスクに合わせて微調整しています。

実験

今回は音声合成モデルのStyleTTS2を軽量化するこちらのリポジトリを再現できるか、Claude Opus 4.6に試してもらいます。

https://github.com/dangtr0408/StyleTTS2-lite

モデルの軽量化タスク、かつ既存のリポジトリの再現実験のため、 環境設定と再現テストまでできればOKとします。

…というような内容をissue化し、Claude Opus 4.6に渡します。

/planでplanモードに入ってから、 /ml-devスキルを使ってみます。

コーディングエージェントは途中で処理が停止することもよくあるのですが、 今回は最後まで詰まらずに、レポートの生成まで実行されました。

レポートを確認すると、以下のようにモデルサイズが削減できたことを報告していました。

# ONNX変換(/ml-optimizeが実行)
python scripts/export_onnx_lite.py

# FP16量子化
python scripts/quantize_onnx.py

| 形式 | サイズ | 削減率 |
|------|--------|--------|
| PyTorch | 343.3 MB | - |
| ONNX FP32 | 291.3 MB | 15.1% |
| ONNX FP16 | 146.5 MB | **57.3%** |

検証

上記のようにレポートが出力されても、ハルシネーションが心配です。 とりあえずモデルサイズを目視確認すると、実際にサイズが削減されているようでした。

音声合成も手動実行にて成功し、onnx化したモデルで無事wavの出力ができました。

どうやら今回は正常にモデルの軽量化ができたようです。

おわりに

今回はClaude Opus 4.6とMLスキル群を使ってStyleTTS2の軽量化実験を自動化してみました。

環境構築、ベンチマーク、モデル変換、レポート作成といった定型作業はスキルで再現可能な形にパッケージ化できました。

モデルの学習についてはこの実験とは別に取り組んでいますが、トレーニングを長時間行ったあとのコンテキストの消失により、タスクの完遂が難しいことがあるようです。 この点については今後も追っていきたいです。

参考