連載「AIと、本を売ってみる」· 第8編/全9編
計測が動かない。原因は、外じゃなかった
外のせいにする前に、自分の手元を見る
配信の計測をAIに仕込ませたのに、数字がまるで届かない。回線か、設定かと外を疑っていったら、どれも問題なし。原因は外ではなく、自分たちの側の、ごく地味な書き間違いでした。
連載「AIと、本を売ってみる」· 第8編/全9編
外のせいにする前に、自分の手元を見る
配信の計測をAIに仕込ませたのに、数字がまるで届かない。回線か、設定かと外を疑っていったら、どれも問題なし。原因は外ではなく、自分たちの側の、ごく地味な書き間違いでした。
何かがうまく動かないとき、その原因を、まず自分の外に探してしまうこと、ありませんか。回線が悪いのか、相手のサービスの調子が悪いのか、何かにブロックされているのか。外のせいにできると、すこし安心します。自分の手元を疑うのは、最後の最後。でも、ふたを開けてみると、原因はいちばん近いところに転がっていた——そういうことが、けっこうあります。
今回のPinterestの実験でも、まさにそれが起きました。本の配信を始める前に、サイトの計測を整えていたときの話です。どのPinが、どれだけ見られて、どこへつながったのか。それを後から見られるように、AIに計測の仕組みを組ませました。これで準備は万全のはず——そう思っていました。ところが、いざ動かしてみると、数字がまるで届かない。自分のサイトを何度開いても、計測の画面は、しんと静まりかえったままだったのです。
今日は、その「動かない」とにらめっこしたときの、原因の探し方の話をします。結論を先に言えば、いちばん派手に見えて怪しかったところは、どれも原因ではありませんでした。
最初に疑ったのは、いちばん外側、通信のところでした。もしかすると、ブラウザの拡張機能か、回線のどこかが、計測のための通信をブロックしているのかもしれない。これは、よくある話です。
そこで、決めつけて設定をいじる前に、確かめてみました。計測に使う外部のファイルを、ブラウザで直接、開いてみたのです。すると、あっさり読み込めました。つまり、通信そのものは、ちゃんとつながっていたのです。回線も、拡張機能も、怪しく見えただけでした。
正直に言えば、このとき私のなかには、外が原因であってほしい気持ちが、どこかにありました。回線のせいなら、こちらが組ませた仕掛けは正しかったことになる。外のせいにできれば、こちらは悪くない。その「外であってほしい」という願いが、外の疑わしいところを、実際以上に怪しく見せていたのだと思います。でも、願いは、証拠ではありません。確かめてみれば、こうして、あっさり問題なしと分かってしまうのです。
次に疑ったのは、計測の設定のほうでした。最近は、利用者の同意がないと計測を止めるしくみが入っていることがあります。それで止まっているのかもしれない。あるいは、計測のタグそのものを、公開し忘れているのかもしれない。これも、ひとつずつ確かめました。設定の中身を読みにいくと、同意で止める仕掛けは入っていない。タグも、ちゃんと公開されていて、正しい番号で、全ページで動く設定になっている。どこにも、おかしなところはありませんでした。
ここまでで、外側の派手なところは、ほとんど問題ないと分かりました。回線も、設定も、タグも、どれも潔白。残ったのは、いちばん疑いたくなかったところ、こちらが組ませた仕掛けそのものだけでした。
最後に、ページそのものを、いちばん内側まで覗いてみました。すると、奇妙なことが分かりました。計測のコードは、たしかにページの中に、書かれてはいたのです。見た目には、ちゃんとそこにある。けれど、それは、プログラムとして動いてはいませんでした。
理由は、ほんとうに地味なものでした。コードの書き方を、ひとつだけ間違えていたのです。本来なら動くはずの命令が、そのせいで、ただの文字として画面に表示されるだけになっていた。たとえるなら、料理のレシピを、壁に貼っておいただけのようなものです。レシピはそこにある。でも、誰も作っていない。だから、いつまでたっても、料理は出てこない。計測のコードも、そこにあるのに、1度も実行されていなかった。だから、数字がひとつも届かなかったのです。
いちばんやっかいだったのは、見た目には、ちゃんとそこにあったことです。コードは書いてある。中身を確認しても、文字としては、確かに存在している。だから、まさかそれが「動いていない」とは、なかなか思えませんでした。あるのに、働いていない。この「あるのに、効いていない」という状態は、見落としのなかでも、いちばんたちが悪いものです。存在することと、機能していることは、別なのに、つい同じだと思ってしまう。そこに気づくまで、私はずっと、外ばかりを見ていました。
外の何かに邪魔されていたのではありません。回線でも、相手のサービスでも、特殊な設定でもなかった。原因は、AIに任せて組んだ計測の、その書き方ひとつの中にありました。いちばん疑いにくく、いちばん地味な、手元の、たった1つの書き間違い。派手なところばかりに目が行っているあいだ、本当の原因はずっと、いちばん近くに、静かにあったわけです。直し方そのものは、拍子抜けするほど簡単でした。間違った書き方を、正しく直す。たった一行です。それで、数字は、すぐに流れはじめました。
ふりかえると、このあいだ私がしていたのは、ひたすら確かめることでした。自分でコードに手を入れるのではなく、どこが問題なくて、どこが怪しいのかを、1つずつ測って切り分けていく。実装そのものはAIに任せていても、それが正しく働いているかを確かめる役は、こちらに残ります。任せることと、確かめることは、別なのです。むしろ、任せたぶんだけ、確かめは丁寧にやる。動かないとき、その確かめが、原因までの道しるべになります。
では、この回り道から、持ち帰れることを。
ひとつは、疑う順番を、自分で決めておくことです。外から内へでも、内から外へでも、かまいません。大事なのは、思いついたところに手を出して、あちこち行ったり来たりしないこと。決めた順で、ひとつずつ、確かめながら絞っていくことです。ただし、ひとつだけ気をつけたいことがあります。私たちは、つい外から疑いたがります。自分のせいだとは、思いたくないからです。でも、原因はたいてい、自分が直前にいじったところにあります。だから、自分の手元を、いちばん後回しにはしない。むしろ、さっき手を加えたところは、早めに1度、見ておく。今回も、もし先に自分のしたことを見ていれば、外を一周する回り道は、要らなかったのです。
これは、機械の話に限りません。たとえば、頼んだ荷物が、いつまでも届かないとき。まず運送会社を疑い、次に道路の混雑を疑い、と外ばかり見ていって、最後にやっと、自分が住所を1文字まちがえて伝えていた、と気づく。よくある話です。もし、いちばん先に、自分の書いた住所をひと目たしかめていたら、ずっと早く済んだはずです。自分の手ちがいは、いちばん近くにあるのに、いちばん見たくない。だから、つい後回しになってしまうのです。
もうひとつは、どの段階でも、決めつけずに、1度測ってから進むことです。今回も、回線を疑ったときは、設定を変える前に、ファイルが読めるかを実際に試しました。怪しいと思っても、すぐ手を入れない。本当にそこが原因かを、小さく1回、確かめてから動く。この一手間が、問題のないものをいじって傷を増やす事故を、防いでくれます。
そして、いちばん大事なことかもしれません。いちばん見落としやすいのは、たいてい自分の手元だ、と覚えておくことです。人は、外のせいにしたい生きものです。だから、派手な外のものに飛びつきやすく、自分の側の地味なところは、つい後回しにしてしまう。でも、原因がいちばん潜んでいるのも、その、いちばん近いところなのです。そこから目をそらさず、いやがらずに覗けるかどうか。原因にいちばん早くたどり着く人は、勘の鋭い人ではなく、自分の手元を、まっさきにちゃんと見られる人なのだと思います。
これは、AIに実装を任せているときほど、効いてきます。出てきたものが動かないと、つい道具や環境を疑いたくなる。けれど、たいていの原因は、その手前の、ごく単純な書き方や指示の中にあります。任せたものほど、手元を、自分の目で1度確かめる。それが、回り道をいちばん短くしてくれます。
もしあなたが、いま何かの「動かない」とにらめっこしているなら。直したい衝動を、ほんの少しこらえて、まず、直前に自分が手を加えたところを、ひと目たしかめてみてください。そこが問題なければ、外へと、ひとつずつ疑いを広げていく。順番は、どちらからでもかまいません。ただ、自分の手元から、目だけはそらさないでください。そこに、いちばん地味な顔をした本当の原因が、静かに待っているかもしれません。
次の編は、いよいよ最後です。ここまでの実験を通して、AIに任せながらも手放さなかったものは何だったのか。人の手に、最後まで残る仕事について、一緒に考えてみましょう。