見出し画像

Claude Codeのサブエージェントで動画自動編集ツールを構築|ハーネス設計を非コーディング領域に応用

2026年3月24日、Anthropicがエンジニアリングブログで公開した「Harness Design for Long-Running Application Development」。Planner / Generator / Evaluatorの3エージェント構成で、同じプロンプトでも$9のゴミが$200の完動品に変わるという衝撃のデータは、noteでも多くの解説記事が書かれました。

ただ、どの記事もAnthropic公式の例(レトロゲーム開発、DAWアプリ構築)をそのまま紹介しているものばかり。「じゃあ、コーディング以外のタスクにどう応用するの?」という問いに答えた記事は見つかりませんでした。

そこで今回、Keitoさんの動画で紹介されていた「Claude Code動画自動編集」を題材に、ハーネス設計を動画編集という非コーディング領域に持ち込んでみたのが本記事です。結果、74.7秒の素材動画が自動で60.3秒のショート動画(テロップ28件焼き込み・Bロール4枚・BGM付き)になりました。設計思想と実装、ハマりポイントまで全部書きます。

なぜ動画編集こそハーネス設計のテストベッドなのか

Anthropicのハーネス設計は一見コーディング専用に見えますが、実はその本質は「モデル単独ではできないこと」を構造で補う発想です。だとすれば、動画編集こそ理想的な応用領域なんです。

動画編集がハーネス設計と相性がいい3つの理由

1つ目は決定論的ツールとAI推論の混在です。FFmpegでの無音検出、Whisperでの文字起こし、Gemini Imagenでの画像生成——どれも独立したツールですが、「どこをカットすべきか」「テロップに何を載せるか」はAIの判断が必要。この構造、まさにClaude Codeで言う「コード生成とツール実行の連携」そのものです。

2つ目は主観的品質の評価が不可欠だという点。テロップの同期ずれ、ジェットカットの違和感、シーン繋ぎのアーティファクト——こういう品質は単体テストでは測れません。Anthropicが言う「GeneratorよりEvaluatorを独立させた方が品質が上がる」という発見が、動画領域でも効くはずです。

3つ目は長時間タスクであること。1本の動画編集は素材解析から最終レンダリングまで10〜30分かかります。単一エージェントに長時間任せると、コンテキスト肥大化で前半の判断が後半で崩れる——これもハーネスで解決できる問題です。

Planner / Generator / Evaluatorを動画編集にマッピングする

Anthropic公式のハーネス設計を、動画編集ワークフローに落とし込むとこうなります。

Planner: 「何をカットするか」だけを決める

`video-edit-planner`というサブエージェント(モデル: opus)を用意しました。このエージェントの責務は明確です。

  • FFmpegで無音区間を検出する(閾値: -30dB、0.3秒以上)

  • Whisper APIでミリ秒精度の文字起こしをする

  • 結果を統合して`edit_plan.json`を出力する

重要なのは、Plannerには「どう作るか」を書かせないこと。Anthropic公式も「Plannerに実装詳細まで書かせるとGeneratorの邪魔になる」と言っていますが、動画編集でも同じでした。Plannerは「58箇所・17.1秒の無音をカット」「フィラーワード12箇所を削除」といった計画だけ出し、実際のFFmpegコマンドは書きません。

Generator: 計画を忠実に実行する

`video-editor-generator`(モデル: sonnet)は、`edit_plan.json`を受け取って実際にレンダリングを行います。

  • FFmpegでジェットカット実行

  • テロップをASS/SRT形式で生成して焼き込み

  • Gemini Imagen 4でBロール画像を生成

  • audiostock音源を15%音量でループ混合

Generatorは計画に疑問を挟まず、淡々と実行する役割。ここに推論を入れすぎると、Plannerの意図から逸れていきます。

Evaluator: 7項目の品質チェックを独立して行う

`video-quality-evaluator`(モデル: sonnet)はGeneratorとは別コンテキストで起動し、完成動画を以下の7項目で検証します。

  1. テロップ同期ずれ(閾値: 0.2秒以内)

  2. ジェットカット品質(0.1秒超の無音残存はNG)

  3. 重複フレーズの残存チェック

  4. フィラーワードの残存チェック

  5. ブラックフレーム検出

  6. 音声レベルバランス(BGMと本編の比率)

  7. シーン繋ぎの音声アーティファクト

1つでもFAILがあればGeneratorに差し戻し、最大5回までループします。これがAnthropicの言う「独立Evaluatorの懐疑的チューニング」の動画版です。

補助: Whisper誤字修正を並列実行する

4つ目のエージェントとして`transcript-quality-checker`(モデル: haiku)を用意しました。PlannerがWhisperから受け取ったトランスクリプトのカタカナ誤認識(「Notion」が「のーしょん」になる等)を、Plannerと並列で修正します。

Anthropic公式は3エージェント構成ですが、動画編集では「高速で安価なタスク」は並列化した方が効率的でした。haikuで1秒以内に処理が終わるので、全体パイプラインを遅らせません。

実際に編集した結果:74.7秒の素材が60.3秒のショート動画に

題材は、Notion × Zapier連携の手順説明動画(FocuSeeで画面収録した74.7秒の素材)です。人間の編集者なら1時間はかかる作業を、Claude Codeに丸投げして何が起きたか。

Before / After の実測値

尺(長さ)
元動画:74.7秒
完成動画:60.3秒
変化:19パーセント短縮

ファイルサイズ
元動画:88.5MB
完成動画:16.1MB
変化:82パーセント軽量化

無音区間
元動画:58箇所 17.1秒
完成動画:0箇所
状態:完全除去

テロップ
元動画:なし
完成動画:28件
備考:自動生成 焼き込み

Bロール
元動画:なし
完成動画:4枚
備考:Imagen 4生成画像を挿入

BGM
元動画:なし
完成動画:あり
備考:音量15パーセント ループ混合

Bロール画像は、Gemini 2.0 Flashが映像内容から自動プランニングしました。11.5秒目にログイン画面UIイラスト、23.0秒目にAPI設定ページ、34.5秒目にワークフロー自動化ノード図、46.0秒目にタスクリスト管理UI——と、動画の流れに沿って適切な画像を選択してきたのは想像以上でした。

品質検証ループは3回回って通過。2回目のEvaluatorが「34.5秒地点のテロップに0.3秒の同期ずれあり」と指摘して、Generatorがタイムスタンプを再計算してリトライ、という流れが発生しました。独立Evaluatorの価値を実感した瞬間です。

実装でハマった3つのポイント

再現する人が同じ地雷を踏まないよう、現場の生々しい落とし穴を共有します。

Whisperの日本語トークン分割問題

Whisper APIの単語レベル出力は、日英混在テキストを文字単位で分割してくることがあります。「Notion」が「N」と「otion」の2トークンに割れていて、テロップが意味不明になりました。

対策は、`preprocess_words()`で連続する断片トークン(ゼロ時間トークンや英小文字始まりのトークン)を前のトークンにマージする処理を入れること。これでテロップの文字化けは解消しました。

Gemini Imagenモデルの404エラー

当初使っていた`imagen-3.0-generate-002`が突然404 NOT_FOUNDを返し始めました。`client.models.list()`で利用可能モデルを確認したら、`imagen-4.0-fast-generate-001`に移行していました。

APIモデル名はサイレント廃止されることがあるので、本番パイプラインでは起動時に`models.list()`でバリデーションする処理を入れておくのが無難です。

Python 3.9でのUnion型ヒント非対応

`float | None`の新しいUnion型記法はPython 3.10以降の機能。macOS標準のPython 3.9.6で動かすと`TypeError`でこけます。`from typing import Optional`して`Optional[float]`に書き換えて解決。

ハーネス設計は「コーディングのため」だけじゃない

今回の実験で確信したのは、Planner / Generator / Evaluatorの構造は汎用的な長時間タスク設計パターンだということです。

動画編集がうまく行ったということは、同じ構造で以下のタスクも設計できるはずです。

  • 文書作成: 構成プランナー → ライター → 校閲者(ファクトチェック・文体統一)

  • 画像バッチ処理: メタデータ解析 → 編集実行 → 品質検証(明度・構図・著作権)

  • データパイプライン: スキーマ推論 → ETL実行 → バリデーション(欠損値・外れ値)

  • 営業メール生成: ターゲット分析 → ドラフト作成 → トーン&コンプライアンス検証

Anthropic自身も「Opus 4.6になってEvaluatorの投資対効果は下がった」と言っていますが、それはモデル能力の範囲内のタスクの話。動画編集のように複数ツールと主観的品質判断が絡むタスクは、しばらくはフルハーネスの価値が残ります。

大事なのは「何のためにハーネスを組むか」を言語化すること。今回で言えば「テロップの同期ずれ0.2秒以内」「ジェットカットの残存無音0.1秒以下」といった測れる基準をEvaluatorに持たせたことが、3回で収束した理由です。曖昧な「いい感じに編集して」のままGeneratorに丸投げしていたら、今でもループが回り続けていたでしょう。

まとめ

Anthropicのハーネス設計(Planner / Generator / Evaluator)を動画編集という非コーディング領域に応用した結果、74.7秒の素材が自動で60.3秒のショート動画になりました。ポイントをまとめます。

  • ハーネス設計はコーディング専用ではない。主観的品質と決定論的ツールが混在する長時間タスクならどこでも効く

  • Plannerは「何をやるか」だけを決め、「どうやるか」には踏み込まない——これを守るとGeneratorの自由度が確保される

  • Evaluatorは測定可能な基準を持たせる。動画編集なら「同期ずれ0.2秒以内」のような閾値が必須

  • 並列実行できるタスクはhaikuに投げる。全体パイプラインの速度が別次元になる

次のステップとして、Remotionでの字幕アニメーション強化、縦型ショート動画(1080×1920)対応、FaceID登録でBロール人物固定——あたりに取り組む予定です。ハーネス設計は「一度作って終わり」ではなく、モデル能力の進化に合わせて継続的にチューニングするもの。Opus 4.7が出たら、7項目のEvaluatorのうち何項目が不要になるか、検証するのが楽しみです。


📚 さらに深く学びたい方へ

本記事で触れたClaude Codeのサブエージェント機構、Slash commands、Skills、Hooksといったコア機能を体系的に学びたい方には、こちらの書籍がおすすめです。

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

6章〜8章でコーディングエージェントの動作原理とサブエージェント設計が深く解説されており、本記事のような応用を考える土台になります。ツールが変わっても通用する「普遍的な思考」が身につく一冊です。


🎯 AI JONBIN Guildのご案内

AI活用をもっと深く学びたい方へ。限定コミュニティで一緒にスキルアップしませんか?

  • 定期的なAI勉強会・セミナー

  • n8nサーバーへのアクセス

  • AI専門家による限定セミナー

  • メンバー同士の情報交換

▶️ AI JONBIN Guildの詳細はこちら


X: @sumo_wonderful
YouTube: AI大学~ヨッピーch~
note: note.com/samurai_worker

#ClaudeCode #ハーネス設計 #AIエージェント #動画自動編集 #サブエージェント #AIジョンビン #Anthropic

いいなと思ったら応援しよう!