運用ルールに「クラウド向き」と書いた作業を、AIに「テスト実行」と一言頼んだら、ツール3本が落ち、直しても件数が1つ違いました

日々の作業をAIと分担していて、その運用ルールをファイルに書いています。
AIとの作業の場(セッション)には、手元のMacで動かすものとクラウドで動かすものがあり、できることが違います。
そこで「クラウド向きの作業」という節を作ってありました。

挙げてあったのは、発信ネタの棚卸し・記事の執筆・ドキュメント整理・リサーチです。
週次のふりかえりも、同じ「ファイルの読み書きで完結する仕事」なので、当然回せると思っていました。

クラウド側のセッションを動かした日に、「テスト実行」とだけ頼みました。
それで、週次のふりかえりが呼ぶツールが1本目で落ちたと報告が来ました。

目次

「向いている」と判定したのは、作業の性質だけだった

この節を作ったのは、「できないこと」を整理した流れでした。
できないと書いたのは、外部サービスの更新と、手元にしか無いファイルの参照。
外部依存があるものです。

残りは動く、という前提で「向いている」に振り分けていました。

AIがクラウドで全ツールを1回ずつ叩いた結果、3本がMac専用の書き方で壊れていました。

ツール 症状
滞留チェック 起動直後に停止
セッション一覧 表を整える命令が無く、崩れる
スクリーンショット ファイルサイズが常に0になり、40秒空回り

3本とも原因は同じで、MacとLinuxでコマンドのオプションの意味が違いました。

ローカルでしか動かしたことがないので、気づく機会がそもそもありませんでした。
ルールを書いた時点で確かめていたのは、「向いている」ことだけでした。

このリポジトリにテストは1本もありません。
代わりに既存のツールを全部1回叩いてもらっただけで、3件出ました。
「テスト実行」の一言で足りました。

直したあとに、もう一段あった

AIが修正して、Linuxで通り、Macでも通りました。
報告を読んで、自分もそこで終わったつもりでいました。

ところが、AIが両方の結果を並べたら件数が違っていました。
Macで38件、Linuxで39件。

原因は、直した行のすぐ隣に残っていた既存のバグでした。
Macの日付コマンドは、時分秒を省略すると「実行時点の現在時刻」を埋めます。
基準の時刻はスクリプトの冒頭で取っているので、差が常にわずかに足りません。
切り捨てで、1日少なく出ます。

つまり、Mac側の日数は、直す前からずっと1日少なく出ていました。

1本ずつ動かしていたら、たぶん一生気づきませんでした。
落ちないし、それらしい数字が出ます。
気づけたのは、同じコマンドを2つの環境で叩いて、数字を並べたからでした。

「向いている」と「動く」と「同じ答えを出す」

「向いている」は作業の性質の話で、「動く」は環境の話です。
前者をいくら確かめても後者は分かりません。
それなのに、ルールを書いた時点で検証済みのつもりになっていました。

外部サービスに繋がらないことは、最初から意識していました。
見落としたのは、外部に繋がらないローカル完結のツールほど「動いて当たり前」に見えることです。
実際にはそこに、OSの差分が丸ごと残っていました。

そして「両方で動く」と「両方で同じ答えを出す」も、また別でした。
エラーが出なくなると検証を止めたくなります。
自分も報告を読んで止めかけました。
止めた先に、静かに間違った数字が残っていました。

運用ルールに「向いている」と書くときは、その環境で1回叩いた事実を添える。
それを自分のルールにしました。

目次