今日は土曜日で、買い出しに行って昼ごはんを作り、夕方はお風呂と夜ごはん、といういつもの週末でした。その合間に、自分が動かしている自動化の仕組みを片っ端から数え直していました。

きっかけは、他社の「自社を実験台にして全部公開する」というやり方を眺めていて、自分にはそれを1ページにまとめたものが無いと気づいたことです。実物は何年もかけて動かしてきたのに、公開されている1枚が欠けている。それだけの話でした。

で、書こうとして手が止まりました。数字が分からないのです。定期実行のジョブはいくつあるのか。そのうち実際に動いているのは何本なのか。記憶では言えるけれど、実測では言えない。

なので、書く前に実物を数えました。結果は177定義のうち140が稼働、37は意図的に無効。この「意図的に無効」の37本が曲者で、放っておくと「止まっているジョブ」に見えます。でも中身を見ると、有効に戻すと事故になるもの、無効であること自体が方針であるもの、再開の判断を自分に残しているもの、と理由がちゃんとありました。理由のないものだけを44本、定義ごと消しました。消す前に、移管先が本当に動いていることをプロセスとして確認する手順も足しました。

ついでに決めたのは、数字を書くときは必ず実測日を併記するというルールです。「140本稼働」は今日の事実であって、来月の事実ではありません。日付が無い数字は、いずれ静かに嘘になります。これを公開ページにも内部の資料にも同じように適用しました。

もう一つ、今日いちばん実務的だった学びは、資料作りの方です。生成AIに図を描かせるとき、矢印やラベルの入った図そのものを描かせてはいけない、と改めて。日本語はもちろん英語でも必ず崩れます。AIには文字なしのイメージ(登場人物、箱、雰囲気)だけを描かせて、番号もラベルも要点も、あとからスライド側のテキストで載せる。こうすると「生成画像を使った見栄えのする資料」を保ったまま、書いてある内容の正確さは自分で保証できます。

同じ流れで踏んだ地雷が、行数の見積もり。游ゴシックは自然な行の高さが1文字分より3割ほど高くて、その係数を掛け忘れると文字が必ず枠から溢れます。行間の設定値は「1文字分の何倍か」ではなく「自然な行高の何倍か」なんですね。結局、実際のフォントをプログラムから測って、全ページを自動で収まるようにしました。感覚で詰めるより速かったです。

夜はYouTubeまわり。動画から文字起こしを取る経路が丸ごと使えなくなっていたのを、公式APIの自動生成字幕を使う形に切り替えました。長いこと「非公開の動画では字幕APIは使えない」と思い込んでいたのですが、実際に叩いてみたら普通に取れました。使えなかったのは別の経路の方だったという、よくある勘違いです。

今日は全体的に、新しく何かを作るより、すでに持っているものを正確に数えて、間違って書いてあったところを直す日でした。地味なのですが、こういう日の後は判断が軽くなります。数えていないものは、増やすことも減らすこともできませんからね。