このシリーズでは、コンピュータサイエンスの基本概念を一つずつ取り上げて、それを家事に当ててみる。掃除、洗濯、炊事、買い物、そして「名もなき家事」。狙いは効率化だけではない。同じ概念が、快適さの話にもなり、分担の話にもなる。むしろ効率の話だけで終わらせないことが、このシリーズの方針だ。
進行は二人でやる。シマダは、AIの使われ方を観察している研究者だ。AIエージェントの振る舞いを毎日眺めていると、その挙動が人間の家事と気味が悪いほど似て見える瞬間がある。概念を持ち込んで説明し、説明したそばから自分で疑うのが癖だ。マキノトモエは49歳、ホテルの客室清掃を22年やってきた。一部屋を三十分で、ゆうべの形に戻す。数字と手順で話す人で、概念のほうが現場に合っていなければ、概念のほうを直す。
第1回のテーマはコンテキスト。AIの世界でいちばん最初に出てくる言葉を、台所と洗面所に持っていく。
シマダ まず、コンテキストという言葉から始めます。AIに何か頼むとき、AIが一度に「頭に載せておける」情報の量には上限があります。これをコンテキストウィンドウと呼びます。窓の大きさは決まっていて——これは容量の話です、視野の広さではなく、入る量の上限——そこに入れたものは、指示も、過去のやりとりも、参考資料も、ぜんぶ後続の振る舞いに影響する。余計なものを入れれば、その分だけ肝心なことの席が無くなる。
シマダ これを家事に翻訳すると、「いま頭に載っている、家のこと一式」になります。流しに洗い物が三つ。洗濯機があと十二分。冷蔵庫の牛乳が今朝で切れた。明日は燃えるゴミ。この四つが同時に頭の窓に居座っていて、料理をしながらでも、ふと割り込んでくる。これがあなたのコンテキストです。
マキノ 仕事だと逆ですね。私の仕事は、前の部屋のことを次の部屋に持ち込まない仕事です。一部屋やって、ドアを閉める。その瞬間に、いま終えた部屋のことは捨てます。
シマダ 捨てる、というのは。
マキノ たとえば枕。ダブルの部屋は枕が四つ、ツインは四つでも置き方が違う。前の部屋が窓向きにクッションを足してあったとか、そういうのを次の部屋に持っていったら、その部屋の正解とぶつかって、手が止まる。だから閉めた瞬間に、ぜんぶ忘れる。次の部屋は次の部屋の形に戻すだけです。
シマダ AIエージェントでいう、コンテキストのクリアです。一つのタスクが終わったら作業メモを破棄して、まっさらで次に入る。前の部屋の記憶を残すと、次の部屋の判断を汚す——いまの「ぶつかって手が止まる」が、まさにそれです。
マキノ 理想とかじゃないですよ。残してたら、三十分で終わらない。それだけです。
シマダ ここが今日の核心です。コンテキストの厄介なところは、切り替えにコストがかかることです。これをコンテキストスイッチと言います。料理の途中で洗濯物を畳みはじめると、鍋がいまどういう状態だったか——もう塩を入れたか、火は強かったか——という情報が、頭の窓から押し出される。畳み終わって台所に戻ったとき、まず「どこまでやったっけ」を思い出すところから始める。この思い出すコストが、切り替えのたびに毎回かかる。
シマダ だからシングルタスクが正しい、という話に普通はなります。ただ、私はこの結論を自分で疑っています。家事には「煮込みの40分」がある。鍋を火にかけて、あとは待つだけの40分。ここで何もしなかったら、純粋なシングルタスクは遊んでいる時間だらけになる。
マキノ 待ちは使いますよ、当然。浴室に洗剤を撒いて、五分置く。その五分でベッドメイクをします。撒いてすぐ擦っても落ちないので、置くしかない。だから浴室と寝室は同時に進む。
シマダ それで切り替えコストは払わないんですか。
マキノ 払いますけど、撒いた洗剤はこっちが見てなくても勝手に効いてる。鍋とは違います。火の前は離れられないけど、撒いた洗剤の前は離れていい。そこが分かれ目です。
シマダ ……いま、正確なことを言われました。それ、CSの言葉だとブロッキングとノンブロッキングです。
マキノ 知りません、その言葉は。
シマダ 自分が張りついていないと進まないのがブロッキング——火の前、揚げ物、子どもの仕上げ磨き。タイマーや機械に任せて離れていいのがノンブロッキング——洗濯機、煮込み、撒いた洗剤。問題は「シングルかマルチか」じゃなかった。「いまの作業はどっちか」だった。マキノさんは、部屋の中ではノンブロッキングの裏で別の手を動かし、部屋を越えてはコンテキストを持ち込まない。整理すると、そういう運用です。
マキノ 整理されると、なんか難しそうですね。撒いて、効くまで別のことやる。それだけですよ。
シマダ 頭の窓が有限なら、入りきらないものは外に出すしかない。AIの世界では、コンテキストに全部を詰めず、必要なときだけ取りに行く「外部メモリ」を持たせます。買い物リスト、ホワイトボード、冷蔵庫に貼ったメモ——あれは全部、頭の外に書き出したメモリです。
マキノ チェックリストは22年やっても使います。カートの上に挟んである。フェイスタオル四、バスタオル二、ハンドタオル一、バスマット一。歯ブラシ二、コーヒー二、緑茶二。全部頭に入ってますけど、それでも見る。
シマダ 覚えているのに、見るんですか。
マキノ 見るから、覚えてなくていい。覚えておこうとすると、そっちに気を取られて手が止まる。紙に任せておけば、頭は次の部屋の段取りに使える。チェックリストは、間違えないためじゃなくて、頭を空けるためです。
シマダ ……外部メモリの目的を、一言で言い直されました。容量の節約じゃなくて、頭を本来やるべきことに使うために外に出す。
シマダ もう一つ、圧縮という手もあります。「牛乳・卵・小麦粉・バター」と四つ覚える代わりに、「ホットケーキの材料」と一語で覚える。中身は展開すれば取り出せる。献立は、要するに買い物と手順の圧縮形式です。「今晩はカレー」と決めた瞬間、必要なものと段取りが一語に畳み込まれる。
マキノ 部屋のタイプもそうですね。「ツインの清掃」と言えば、さっきのタオルの枚数も、ベッドの位置も、一語で出てくる。一個ずつ思い出さない。
マキノ あと、よく使うものは手の届くところに置きます。補充用のタオルはカートの一番上、ゴム手袋は腰のポケット。取りに戻る手間がいちばん時間を食うので。
シマダ ……それは、次回の話です。よく使うものを手元に置く、それがなぜ速さを生むのか——キャッシュという別の概念になる。今日は溜めておきます。
シマダ 次は分担です。AIエージェントは、大きな仕事を一人で抱えず、一部を切り出して別のエージェント——サブエージェントと呼びます——に渡すことがあります。肝心なのは、タスクと一緒に、必要なコンテキストを渡すこと。これを外すと、だいたい失敗する。
シマダ 「ゴミ出しお願い」が家でうまくいかないのは、たいていこれです。タスクだけ渡して、コンテキストを渡していない。分別のルール、収集日、出す場所、そして「出したあとに新しい袋を掛けるまでが仕事」だという終了条件。これを渡さずに放ると、袋だけ出して空のゴミ箱が残る。
マキノ 新人に部屋を渡すときと同じです。「掃除しといて」だけだと、必ず抜ける。終わりの形を先に渡す。鏡に水滴を残さない、ベッドの下に前の客の靴下が落ちてないか、排水口の髪の毛。この三つを言わないと、本人は終わったつもりで、終わってない。
シマダ ただ、渡しすぎてもダメなんです。全部渡すと、受け取った側が読むだけで疲れる。窓が埋まる。かといって足りないと、いちいち聞き返してくる。必要な分だけ切り出して渡す——AIでも人間でも、ここの設計が分担の成否を決めます。
マキノ 全部言うと、聞いてないですしね。要るとこだけ言う。三つに絞るのは、そのためです。
シマダ 逆向きの使い方もあります。在宅で会議に出ているとき、宅配の受け取りという割り込みは、自分の窓を食う。インターホンが鳴るたびに会議のコンテキストが押し出される。これを家族という別エージェントに逃がせば、自分の窓は会議のために空けておける。これは効率というより、汚染を避ける話です。本業のコンテキストに、家事の割り込みを混ぜない。
マキノ 混ざると、両方雑になりますからね。
シマダ 一人の頭の話をしてきましたが、家事はたいてい複数人で回します。二人以上が同じ家を動かすとき、それぞれの頭は別々の窓です。中身は自動では共有されない。だから同期が要る。
シマダ 方法は二つ。一つは共有メモリ——ホワイトボードや共有アプリに書いておけば、相手も読める。もう一つは口頭の同期——「洗剤、最後の一個使ったよ」と声に出して、相手の窓にも書き込む。書かなければ、相手は知らないまま。知らないのは、サボりじゃない。書き込まれていないだけです。
マキノ 現場でも同じです。「3階の備品、私が補充した」って言わないと、もう一人がまた3階に上がる。一往復、無駄になる。言わないと、二度手間か、抜けるか、どっちかです。
シマダ ここで「名もなき家事」の正体が見えてきます。トイレットペーパーの芯を替える、麦茶を作り足す、玄関の靴を揃える。あれが揉めるのは、作業が小さいからじゃない。誰のコンテキストにも書き込まれていないタスクだからです。リストに無く、口に出されず、終了条件も決まっていない。だから、気づいた人が毎回ゼロから見つけて、ゼロから処理する。
マキノ 気づく人が、いつも同じ人なんですよ。麦茶のポットが半分以下だって、私はパッと見える。見えない人には、見えない。やること自体より、気づき続けることのほうが疲れる。
シマダ ……検知のコスト、ですね。
マキノ 言葉はそれでいいです。とにかく、見つける係が固定される。
シマダ 共有メモリに書き出して名前を付けた瞬間、それは「誰かが見つけるべきもの」から「リストにあるもの」になる。分担できるのは、まず名前が付いたものだけなんです。
シマダ 最後に、タイトルの話をさせてください。流しに溜まった洗い物——あれは、まだ処理していない仕事が目に見える形で積み上がったものです。厄介なのは、通りかかるたびに「あれをやらなきゃ」が頭の窓に割り込んでくること。皿を洗うコストとは別に、皿が見えているコストがある。
シマダ だから片づけというのは、汚れを落とす作業であると同時に、頭の窓を空ける作業でもある。流しを空にすると、その分だけ頭が軽くなる。片づけとは、記憶の解放である——と、ここまで言って、ちょっと言い過ぎた気もしています。
マキノ 言い過ぎだと思います。
シマダ ですよね。
マキノ 言いたいことは分かりますよ。見えてると、頭の隅でずっと気になる。それは本当です。でも、きれいに片づいた話にはなりません。私、一日中よその部屋のゆうべを消して、流しを空にして帰ってくるんです。プロですから、そこは三十分で終わる。
シマダ それで、ご自宅は。
マキノ うちの流しは、溜まってます。今朝も溜まってました。よそはまっさらにできるのに、自分の窓だけは、空かない。コンテキストは、よそじゃなくて、うちの流しに溜まるんですよ。
シマダ ……それは、概念のほうが負けますね。
マキノ 負けでいいです。溜まるものは溜まる。
第2回はキャッシュを取り上げる。今日マキノが一度こぼした「よく使うものを手の届くところに置く」——補充用のタオルはカートの一番上、ゴム手袋は腰のポケット。調味料の一軍を火元の脇に、玄関の鍵を定位置に。なぜそれが速さを生むのか、そしてなぜ「定位置」が崩れると一気に遅くなるのか。台所と玄関で考える。
#2 調味料の一軍はコンロの脇に——キャッシュ(近日公開)
「家事のコンピュータサイエンス」は、シマダ(AI使用法研究者)とマキノトモエ(ホテル客室清掃員22年)の対談シリーズです。コンピュータサイエンスの基本概念を一つずつ取り上げ、掃除・洗濯・炊事・買い物・名もなき家事に当ててみる。効率だけでなく、快適さ・分担・諦めも等価に扱います。生成エッセイの現在地に戻る。