日々の作業を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回叩いた事実を添える。
それを自分のルールにしました。
