この記事について

AIで動くVTuber「鈴森こはね」のダンス動画は、Unityで書き出し、Claude Code(開発用のAIエージェント)と一緒に調整している。 その確認のためにgakuyaというツールを作り、公開した。 動画を止めておかしいところを指さすと、話している最中のClaude Codeに届き、直した動画が前の版の横に並ぶ。

この記事ではなぜ作ったか、何ができるか、使いながらどう育てていくかを書く。

人が顔を丸で囲み、AIが確かめ、直した動画が前の版の横に開く流れ

GIFの操作とAIの発言は、説明のためにスクリプトで再現したものだ。 映っている修正前と修正後の動画は、実際に直したときのものだ。

なぜ作ったか

書き出した動画を見ていると、腕に変な肌色が出ていたり、顔が暗かったりする。 これをAIに伝えるのが、思いのほか手間だった。 画面を撮って拡大し、「腕のあたり」と文章で説明するのだが、どのコマの話かまでは正確に伝わらない。 本当はタイムラインをざっくり選んで絵の上をクリックし、「このあたりへん」と言いたいだけだ。

色と音は、さらに言葉にしにくい。 色の微調整は口で説明しづらく、音は聞いて「なんか気持ち悪い」と感じても、どこがずれているのかの手がかりがない。

AIが直し始める前の確認も欲しかった。 指摘を取り違えたまま直し始められると、書き出しの時間ごと無駄になるからだ。

調べた範囲では、これをまとめてやってくれるOSSは見つからなかった。 それなら自分が使うものを作ろうと考えた。

何ができるか

今のgakuyaが開くのは書き出した動画で、VRMのモデルやUnityのシーンは読まない。 起動は人がしない。 Claude Codeに「stage.mp4をgakuyaで見よう」のように頼むと、Claude Codeがgakuyaを起動し、ブラウザにレビュー画面が開く。 そこからの流れは4段階だ。

  1. 人が指さす。タイムラインをドラッグして範囲を選び、絵の上をクリックするか丸で囲み、一言書いて送る。
  2. AIが確かめる。指さしたコマの画像を、印ありと印なしの両方で読み、「ここですか?」と枠と文で画面に示す。
  3. 人が「はい」を押すと、AIが直す。場所がちがえば、指し直して「ちがう」を押す。
  4. 見比べる。書き出し直した動画が前の版と同じコマで横に並ぶ。

人のオレンジの丸の横に、AIの点線の枠と確認の文が出ている画面

オレンジの丸が私の指した場所で、青い点線がAIの示した範囲だ。 「はい」を押すまで、修正は始まらない。

修正後と修正前が、90コマ目で左右に並んだ画面

左が修正後で、右が修正前だ。 再生も停止もコマ送りも2つの絵が一緒に動くので、同じ瞬間どうしを比べられる。

指摘をターミナルに貼らなくても届くのは、Claude Codeが次のコマンドを裏で待たせているからだ。

gakuya wait

このコマンドは、指摘や「はい」が届くと終わる。 Claude Codeは裏のコマンドが終わると続きを動かせるので、ブラウザで押したことがそのまま会話の続きになる。 この手順はスキルとして同梱した。

音については、絵のふちが光る。 拍で暖色に、映像から求めた動きの起点で青く光るので、二つがずれていれば目で見える。 絵そのものは隠さない。 「なんか気持ち悪い」の正体を探す手がかりにするためだ。

gakuyaは動画をどこにもアップロードしない。 サーバーは自分のPCの中だけで待ち受ける。 ただし、指さしたコマの画像はAIエージェントが読むので、その先の扱いは使うエージェントによる。 画面はGoの実行ファイル1つに埋め込んであるので、macOSかLinuxとChromeがあれば動く。

使いながら育てる

gakuyaは、ドッグフーディング(作ったものを自分で使うこと)をしながら育てていくつもりだ。 実装はClaude Codeに書いてもらい、私は動かして指摘する役だった。 公開までの短いあいだにも使って初めて分かったことがあった。

作っている途中で「AI に渡すものは、Claude のセッションに入るようにできると嬉しい」と頼んで生まれたのが、先ほどのgakuya waitだ。 そのあと、起動もClaude Codeに任せる前提に決めたので、私はブラウザで指さすだけになった。

画面の案を見ているだけでは判断がつかず、「起動して実際に動かさないとわからないな」と言って、こはねの動画を開いた。 「腕のところに変な肌色がでてる」と送り、「はい、直して」まで押して、流れが通ることを確かめた。 光と音も合っていそうだった。

READMEの画像を撮ったときには、直すところが見つかった。 最初は試験用の棒人間で撮ったが、見栄えが悪いのでこはねの動画で撮り直した。 すると、AIの枠の塗りが濃く、確かめたい顔が青く見えていた。 色を確かめる道具が指摘した場所の色を変えてしまっていた。 試験はすべて通っていたので、絵を見なければ気づかなかった。 塗りはその場で薄くした。

今わかっている粗も残っている。 AIの枠を範囲の先頭以外のコマに載せられないことや、「はい」のあとの画面に「修正中」としか出せないこと、Windowsで動かないことなどだ。 画面もまだ日本語だけだ。

次は3Dで描画して視点を変えられるようにしたい。 今は書き出した動画を開くので、見られるのは書き出したときのカメラからの絵だけだ。 好きな角度から止めて指さしたいのと、照明の色を変えて反射光まで変わるところをその場で見たいのが理由だ。 動画の上には作れないので、設計から考え直す。 ここも、使って困ったところから順に決めていくつもりだ。

試すには

GitHubにREADMEがあり、ReleasesにmacOSとLinuxのバイナリがある。 ライセンスはMITだ。 Claude Codeで使う場合は、バイナリにPATHを通してスキルを入れ、動画を開くよう頼むだけで始められる。