本文へスキップ
AZASLAB
← Journal
6 min read AI協働開発マーケティング

連載「温故知新マーケティング実験室」· 第7編/全13編

夜中にこけても、勝手に立て直す

無人運用の堅牢設計(連載 7)

自動化したのに、夜中にこけて朝には全部止まっている。ありませんか。無人運用のコツは「失敗しない」ことより「失敗しても安全な側に転ぶ」こと。再試行・安全停止・観測の3つを一緒に。

安宅春樹 (Ataka Haruki)

— AZASLAB代表 ・ AIエージェント開発ディレクター

— Shimizu Fumio Architects Co., Ltd. 取締役

自動化したのに、朝には全部こけているとき

何かを自動で動かす仕組みを組んだものの、夜中にどこかでこけて、朝に見たら処理が全部止まっていた。そんな経験、ありませんか。せっかく自動化したのに、結局これでは毎朝こわごわ様子を見にいくことになります。自動化の意味が、半分しかありません。

前回までお話ししてきた温故知新マーケティング実験室は、人が介入しないのが前提です。つまり、夜中にこけても、誰も助けに来ません。だからこそ、勝手に立て直す仕組みが要りました。今日は、人が見ていなくても倒れたままにならない、無人運用の組み立て方を、あなたの自動化にも応用できる形で一緒に見ていきましょう。

「失敗しない」ではなく「失敗しても安全に転ぶ」

まず、いちばん大事な発想の転換から。無人で動かす仕組みを、1度も失敗しないように作ろうとすると、たいてい行き詰まります。通信は時々切れるし、相手のサービスは時々遅れる。失敗をゼロにするのは、現実には難しいからです。

だから、ねらいを変えます。失敗しないことではなく、失敗しても安全な側に転ぶこと。これが無人運用の芯になる考え方です。つまずいたときに、被害の小さいほうへ自動で倒れる。そう設計しておけば、多少こけても、致命傷にはなりません。実験室の堅牢さも、この一点に集約されています。具体的には、3つの仕組みでできています。順に見ていきましょう。

取りこぼしは、力を抜いて拾い直す

1つめは、再試行です。とはいえ、ただ闇雲にやり直すのではありません。ここに、ちょっとした工夫があります。

実験室で処理がこける一番の原因は、いっぺんに多くの処理を走らせすぎて、通信が詰まることでした。混みすぎて、いくつかが時間切れになる。だとすると、失敗した分をすぐ全力でやり直すのは逆効果です。混んでいるところに、さらに重ねて押し込むことになるからです。

そこで実験室では、取りこぼした分だけを集めて、今度は同時に走らせる数をぐっと絞って、静かにもう1度やり直します。1度に1つずつに近い形で、落ち着いてやり直す。すると、混雑が原因だった失敗の多くが、同じ作業時間のうちに拾い直せるのです。力を入れてやり直すのではなく、力を抜いてやり直す。再試行のコツは、頑張ることより、混雑を減らすことにありました。これは、失敗したらとにかく即リトライ、という素朴なやり方とは、ちょうど逆の発想です。

この仕組みは、作ったあとに、わざと壊して確かめました。混雑をわざと起こして、いくつかの処理を時間切れでこけさせる。そのうえで、絞った再試行が、こけた分をきちんと拾い直せるかを見たのです。実際に2件が時間切れになり、静かなやり直しで、その2件とも回収できました。無人運用の仕組みは、うまく動くはずだと信じるのではなく、こうして1度こかしてみて、ちゃんと立ち直るところまで見届けておくと、安心して任せられます。

直らないものは、安全な側で止める

2つめは、それでも直らなかったときの備えです。何度やり直してもうまくいかない処理は、どうしても残ります。問題は、そういう「ずっと失敗し続けるもの」をどう扱うか、です。

ここで実験室は、はっきり安全側に倒します。同じ処理が規定の回数(いまは3回)失敗したら、それ以上の再試行はやめて、その案を「公開不可」で確定させます。判断がつかないものを、念のため通してしまうのではなく、念のため止めておく。鍵を開けっぱなしにするのではなく、迷ったら閉める、という設計です。

これは地味ですが、人が見ていない運用では決定的に大事です。もし「判断できないものはとりあえず公開」と作っていたら、夜中の不調がそのまま誤った公開につながります。「判断できないものは止める」にしておけば、最悪でも、止まるだけ。出てはいけないものが世に出る事故は、起きません。安全な側がどちらかを最初に決めて、迷ったらそちらへ倒す。これが無人運用の背骨です。

しかも、止めたものは、ただ捨てるのではなく「気にかけるべきもの」という印をつけて残します。あとで人が様子を見にいけるように、です。自動で止めることと、止めた事実を見えるようにしておくこと。この2つが組み合わさって初めて、安全に止まる、が成立します。

人が見ていないからこそ、記録に残す

3つめは、観測です。勝手に立て直し、危ないものは勝手に止める。それはいいのですが、何が起きたか分からないままだと、人は安心して任せられません。

だから実験室では、その日のうちに何があったかを、毎日のレポートに書き出します。再試行で拾い直したもの。何度やってもダメで、止めたまま確定させたもの。そういう出来事を、後から人が読める形で残しておく。人は記事には手を出しませんが、この記録だけは観察します。立て直しも安全停止も、黙って行われるのではなく、ちゃんと足跡が残る。だから、任せきりにしても不安になりません。

自動で立て直す仕組みと、それを後から見える化する仕組みは、セットです。立て直すだけだと、いつの間にか何かを握りつぶしているかもしれない。記録があって初めて、その自動化を信頼できるようになります。

つまみは、外に出しておく

もう1つ、細かいけれど効く工夫を添えておきます。同時に走らせる数、何回まで再試行するか、何回失敗したら止めるか。こうした「さじ加減」の数値は、コードの奥に埋め込まず、外から変えられる場所に出してあります。

なぜかというと、最適なさじ加減は、回線の状態や混み具合で変わるからです。埋め込んでしまうと、調整のたびに中身を書き換えることになる。外に出しておけば、様子を見ながらつまみを回すだけで済みます。そしてこれは、いずれ仕組みが自分で自分のさじ加減を調整する——次々回にお話しする自己改善の、下ごしらえにもなっています。

あなたの自動化に、3つの安全装置を

今日は、人が見ていなくても倒れたままにならない、無人運用の組み立てを見てきました。最後に、あなたの自動化にもそのまま付けられる形で、3つにまとめます。

1つ、取りこぼしは、混雑を減らして静かにやり直す。即・全力リトライではなく、力を抜いた再試行を。2つ、何度やってもダメなものは、安全な側に倒して止める。迷ったら通すのではなく、迷ったら止める。3つ、立て直しも停止も、忘れず記録に残して、後から人が読めるようにする。この3つがそろうと、無人の仕組みは、こけても朝には立ち直っているか、危ないものを安全に止めた状態で待っているか、そのどちらかに収まります。どちらに転んでも、致命傷にはならない。

もしあなたが、何かを無人で動かそうとしているなら——まず「いちばん起きてほしくないこと」を1つ書き出してみてください。そして、つまずいたときにそこへ向かわないよう、安全な側に倒れる作りにしておく。失敗をゼロにしようと気負うより、ずっと現実的で、ずっと眠れる夜が増えます。完璧な仕組みより、安全にこける仕組みのほうが、無人運用では頼りになります。

次回は、その立て直しの過程で学んだ、もっと根の深い教訓——不具合の原因を、直す前にどう疑うかを、一緒に見ていきます。


この実験のプロジェクト概要は 温故知新マーケティング実験室 に。AIエージェント群の構成や設計思想を、もう少し詳しくまとめています。