最近、AIに手伝ってもらいながら、動画や音声の文字起こし素材をまとめて処理する仕組みを作りました。
これまでは、素材を一つずつ確認し、処理を始め、終わったら次へ進める必要がありました。
それをバックグラウンドで動かせるようにしたことで、収集作業そのものはかなり楽になりました。
PCの前で待ち続けなくてもいい。 別の作業をしている間にも処理が進む。 一度に扱える量も増える。
ここまでは、素直に便利です。
ただ、まとまった量を長時間動かしてみると、別の問題が出てきました。
処理自体は動いている。 でも、今どこまで終わっているのかが分からない。
順調に進んでいるのか。 同じ素材を何度もやり直しているのか。 何かのエラーで止まりかけているのか。
画面を見ても、すぐには判断できませんでした。
大量処理では、何件扱えるかより、人間が途中の現在地を確認できることの方が大事なのかもしれません。
大量に処理できること自体は、かなり助かった
今回の自動化で、一番分かりやすく変わったのは、素材ごとの手作業が減ったことです。
対象を決める。 処理を始める。 結果を保存する。 次の対象へ移る。
こうした定型的な部分を自動で進められると、人間はずっと処理画面を見ていなくて済みます。
AIへ毎回同じ説明をする必要も減りました。
自分としても、丸投げそのものをやめたいわけではありません。
一件ずつAIと対話しながら確認すれば、確かに状況は分かりやすくなります。
ただ、それでは手作業を減らすために仕組みを作った意味が薄くなります。
大量処理の利点は残したい。
そのうえで、必要な時だけ人間が現在地を確認できる形にしたいと思いました。
「動いている」と「進んでいる」は同じではなかった
長時間処理が続いていると、つい「まだ頑張っている」と考えたくなります。
実際には、時間がかかる理由はいくつもあります。
正常に処理している。 失敗した対象を再試行している。 取得できない素材の前で止まっている。 保存や変換に時間がかかっている。
今回の記録だけでは、処理時間が長すぎたのか、作業内容を考えれば妥当だったのかまでは判断できませんでした。
だから問題は、遅かったことではありません。
遅いのか、止まっているのか、普通に進んでいるのかを自分で見分けられなかったことです。
動作中という表示だけでは、この違いは分かりません。
仕様を説明してもらっても、現在地までは分からなかった
途中で不安になると、AIに「今の仕組みはどう動いているのか」と聞くことがあります。
すると、処理の流れやファイル構成、使っている機能は説明してくれます。
それで理解できる部分もあります。
ただ、仕組みの仕様が分かることと、現在の処理状況が分かることは別でした。
どの段階まで終わったのか。 最後に成功したのはいつか。 失敗した対象はあるのか。 中断した場合、どこから再開するのか。
自分が本当に知りたかったのは、内部設計の詳しい説明より、こちらでした。
専門知識が十分でない人ほど、設計書を読んで全体を判断するのは難しいと思います。
だからこそ、人間が見るための短い進捗表示を、仕組み側に用意する必要がありそうです。
今ほしいのは、七つの確認項目だった
今回の経験から、少なくとも次の項目は途中で確認できるようにしたいと思っています。
| 確認したい項目 | 分かること |
|---|---|
| 対象の総数 | 全体の大きさ |
| 完了した数 | どこまで進んだか |
| 現在処理している対象 | 今どこにいるか |
| 最後に成功した時刻 | 処理が動き続けているか |
| 失敗数と主な理由 | 何に詰まっているか |
| 再試行中か、人間確認待ちか | AIやツールが次に何をしようとしているか |
| 中断後の再開位置 | 止めても最初からやり直さずに済むか |
細かいログを全部読みたいわけではありません。
この七つが短く見えれば、順調に進んでいるのか、一度止めて確認した方がいいのかを判断しやすくなります。
特に大事なのは、最後に成功した時刻と再開位置です。
完了数が増えていなくても、重い処理を続けているだけかもしれません。
逆に、長時間成果物が増えていなければ、どこかで止まっている可能性があります。
止める時間や再試行回数を一律に決める前に、まず何が起きているかを見えるようにする方が先だと思いました。
ずっと監視したいわけではない
途中経過が気になると言っても、人間がずっと画面へ張り付くのでは、自動化の意味がありません。
理想は、普段は裏で動いてもらい、区切りのいい時だけ短い報告を見る形です。
たとえば、一定数の処理が終わった時。 失敗が続いた時。 人間の判断が必要になった時。 処理が完了した時。
こうした節目だけ分かれば、普段は任せたままにできます。
丸投げと逐一確認の二択ではなく、任せたままでも現在地だけは見える状態を作りたい。
今の自分には、このくらいの距離感が合っていそうです。
前に考えた「待機」とは、少し違う話だった
以前、AIエージェントへ長時間作業を任せた時に、外部情報を待っている間に別の作業を増やしてしまったことがありました。
その時に考えたのは、待機中にしてよいことと、してはいけないことを分ける話です。
今回は、処理が止まっているとは限りません。
動いてはいるけれど、順調なのか停滞しているのかを人間が見分けられない。
つまり、今回は止め方より、止めるべきか判断するための観測点の話です。
自動化が大きくなるほど、完了後の成果物だけでなく、実行中の状態も受け取れるようにした方が安心だと感じました。
まだ完成した運用ではない
今回挙げた確認項目は、すべて実装して運用が安定した結果ではありません。
大量処理を実際に動かしてみて、次に足りないと気づいた部分です。
次は、まず少ない件数で動きを確認し、途中経過の保存と再開位置が正しく残るかを試したいと思っています。
そこで問題がなければ、少しずつ対象を増やす。
最初から大量処理を完成形として回すより、小さい試験で観測点を確認してから広げた方が、後から状況が分からなくなる不安は減らせそうです。
まとめ
AIに手伝ってもらいながら文字起こし素材の大量処理を自動化すると、収集作業そのものはかなり楽になりました。
一方で、長時間動かした時に、今どこまで進んでいるのか、何に詰まっているのかが見えにくくなりました。
大量処理で必要だったのは、詳しい内部設計の説明より、
- 対象数
- 完了数
- 現在の処理対象
- 最終成功時刻
- 失敗理由
- 現在の状態
- 再開位置
を短く確認できることでした。
丸投げをやめるのではなく、任せたままでも現在地だけは分かるようにする。
自動化で扱える量が増えた後は、次に「途中をどう見るか」を考える必要があるのだと思います。
コメント