はじめに
突然ですが皆さん、生きるのってめんどくさくないですか?
最近、転職に伴い実家を出て一人暮らしを始めました。
新生活ってやることが多いですね。
不慣れなもので 「これ、どうするんだっけ?」 が無限に発生してキツイです。
- この服、普通の洗剤で洗っていい?
- 月曜日って何ごみ?
- この謎のプラスチックは何ごみ?
- シャンプーそろそろ買うべき?
- 鍋を作りたいけど家に何がある?
一個一個は本当にどうでもいい話です。
でも人間は毎日こういう小さくてどうでもいい判断を大量に要求されます。
私はこれが嫌です。
できることなら、生活について考えたくない。
ディストピア系のSFでは「AIに生活を管理される社会」がだいたい悪いものとして描かれますが、私としてはそこ実装急いで~! という気持ちがあります。
早く給餌チューブに繋がれてAIが決めた仕事をやりたい!!
そこで今回は、手始めとしてChatGPTとGitHubを使って、自分の一人暮らしをAIに管理していただく仕組みを作ってみました。
名前はそのまま lifeAssistant。
特別なアプリを作ったわけではありません。
GPTでプロジェクトとGitHubリポジトリ作っただけです。
これを使ってやるのは写真を撮る。AIに話しかける。あとは生活情報をAI側で覚えておいてもらう。
だいたいそれだけです。
やりたいこと=私は生活のことを覚えたくない。めんどくさいから! ドンッ!!
最初に目標を決めました。
目指しているのは「丁寧な暮らし」ではありません。
むしろ逆です。
生活が破綻しない最低ラインを、できるだけ少ない手間と判断回数で維持する。
これを最優先にしています。
なので方針もかなり露骨です。
- 生活が破綻しない
- 安全
- 手間と判断回数が少ない
- 許容できる程度に清潔
- 掃除と補充が簡単
- 所有物が少ない
- 費用が妥当
「毎週日曜は水回りをピカピカにしましょう」みたいな提案は原則禁止です。
そんな指示をしたら怒ります。
そんなことが毎週できる人間なら、そもそもAIに生活を管理させようとしていません。
つまり、マジの最小限の労力で生きるのが目的。
ここはかなり大事にしています。
生活の「記憶」はGitHubに置いた
最初はChatGPTにそのまま覚えてもらえばいいかなと思ったんですが、生活情報って意外と多いです。
洗剤だけでもこうなります。
- 商品名
- 何に使えるか
- 何には使わない方がいいか
- いつ補充するか
それと服には洗濯表示があります。
家電には型番があります。
ごみには自治体ルールがあります。
さらに建物独自の搬出時間まであります。
これらを毎回会話の履歴から何となく拾わせるのは怖い。
そこで、private GitHubリポジトリを生活情報の正本にすることにしました。
構成はざっくりこんな感じです。
lifeAssistant/
├─ assistant/ AI自身の行動ルール
├─ profile/ 自分の生活方針・住居情報
├─ consumables/ 洗剤や日用品、食品の在庫
├─ possessions/ 衣類や生活用品
├─ appliances/ 洗濯機やIHなどの家電
├─ templates/ 洗濯・掃除・ごみ・補充などの手順
├─ local/ 自治体や建物固有のルール
└─ improvements/ 今後改善したいこと
中身はほぼMarkdownとYAMLです。
データベースも管理画面もありません。
うおw 人生がYAMLで表せてるやん…笑
AIには「このGitHubがお前の記憶だ」と教える
リポジトリを作っただけではAIは勝手に使ってくれないので、ChatGPTのプロジェクト側にも指示を入れています。
大まかにはこんなルールです。
暮らしについて質問されたら、記憶や一般論だけで答えず、必要なGitHubファイルを読むこと。
会話の中で今後も使う事実が確定したら、対応するファイルを更新すること。
ただし未確認のことを勝手に確定しないこと。
新しい会話では最初に、
- この人がどういう生活を目指しているか
- アシスタントはどう行動するか
という基本方針だけ読ませます。
その後、「この服どう洗う?」なら衣類と洗剤を確認して答える。
「今買う物ある?」なら消耗品在庫。
「明日のごみ何?」ならごみルールを見る。
という感じで、関係するファイルだけ追加で読みます。
要するに毎回すべてをプロンプトへ詰め込むのではなく、必要な生活情報を必要な時だけ検索する形です。
これによって私の質問はかなり雑でよくなりました。
「この洗剤何に使うんだっけ」
「これ一緒に洗っていい?」
「月曜のごみなんだっけ」
このくらいで通じます。
素晴らしい。
人間側の知性が順調に退化しています。
その内AIに〇ねって言われたら〇ぬでしょうね。
初期登録は、家の写真を撮りまくった
ただし問題があります。
生活管理を始めるには、最初に自分が何を持っているか登録しないといけません。
これを手作業でやるのは嫌です。
マジだるいんですこれ。
日用品を一個ずつ、「商品名……カテゴリー……在庫数……保管場所……」と入力していたら、その時点でこの仕組みは失敗です。
そこで、入居直後に棚や洗面所の写真を撮ってChatGPTへ投げました。
たとえば洗濯機の上の棚を撮る。
すると撮影した写真から以下のような感じでAIが勝手に読み取ります。
- アリエール
- アクロン
- オキシクリーン
- トイレットペーパー
もう本当(パシャリ ** 12)で終わりですわ。
キッチンを撮れば以下のような感じで登録完了できます。
- 食器用洗剤
- スポンジ
- ラップ
- ポリ袋
- 清掃用品
それをAI側で inventory.yaml に整理してもらいました。
実際の在庫には、単に商品名だけではなく、次のような情報を持たせています。
- name: 普段着用洗濯洗剤
product: アリエール液体洗剤
location: 洗濯機上の棚
stock: 十分
replenish_when: 本体残量が約2割、かつ詰め替え在庫なし
ここで重要なのが、個数を厳密に管理しないことです。
在庫管理なのに、数えない!?
在庫管理というと、「トイレットペーパー11ロール」「洗剤残量428ml」みたいな世界を想像します。
やりません。
絶対続かないので。
基本状態はこの程度です。
十分少ない切れた未確認
必要な物だけ個数も持ちます。
トイレットペーパーなら「残り3ロールになったら買う」。
洗剤なら「残り2割くらいで、詰め替えもなければ買う」。
食器用洗剤なら「ポンプで吸い上げにくくなったら買う」。
人間が普通に生活していて気づける状態を、そのまま補充トリガーにしています。
これなら毎日在庫アプリを開く必要がありません。
「歯磨き粉そろそろない」とChatGPTに言えば、それで終わりです。
AIが在庫を「少ない」に変えて、次回の買い物候補に入れてもらう。
買い物時に教えてもらう。
買ったら、「歯磨き粉買った」で戻す。
すごく楽です。
頭からっぽで夢詰め込めます。
レシートも写真でいいぜ!
さらに食品でも同じことをやっています。
スーパーで買い物した後、レシートを写真で渡しました。
すると、
- キャベツ1玉
- 玉ねぎ2個
- にんじん2本
- 豚こま2パック
- 豆腐2パック
みたいな購入内容を拾って、食品在庫に入れられます。
値段も分かるので、「この7食分の鍋、だいたいいくら?」 みたいな計算にもそのまま使えます。
最近は鍋用に買った野菜をまとめて切って冷凍する運用をしているので、「この食材は七食分の鍋用」という用途まで一緒に残しています。
すると後から、「鍋作りたい。何入れればいい?」「豚肉あと使える?」「次は鶏肉にした方が安い?」みたいな相談もしやすくなる。
家計簿ほど厳密ではないけど、料理の意思決定には十分な解像度です。
というか家計簿はいらない。
毎日ほぼ同じもの食べて生活すれば食費の計算は案外できる。
この「ちゃんと管理しない」のがポイントだと思っています。
服は洗濯表示を撮っておく
一人暮らし開始直後に意外と困ったのが洗濯でした。
普通の服ならともかく、「洗えるスーツ」「ノンアイロンシャツ」「なんかユニクロのジャケット」とかが出てきます。
人間は商品名を覚えていません。
当然私も覚えていません。
なのでこれも写真です。
服の全体写真と洗濯表示を送ると、細かいところを衣類データとして保存します。
【細かいところ】
- どの洗剤を使うか
- 洗濯機のどのコースか
- ネットに入れるか
- 乾燥機に入れていいか
- どう干すか
まだ洗濯表示を確認できていない服なら、AIは勝手に、「たぶんこれでいけます!」と元気よく破壊せず、未確認 のまま残すようにしています。
だから後日、「雑巾と普通の服と軍手、一緒に洗っていい?」みたいな質問をした時にも、家にある洗剤や衣類の前提込みで答えてもらえます。
この手の情報を毎回、「ちなみに家にある洗剤はアリエールとアクロンで……」から説明しなくていい。
地味ですが、これがかなり楽です。
まぁ現職が私服OKの職場なので普通の洗濯コースしか長いこと使ってませんが。
家電も型番を覚えてもらう
家電も同じです。
洗濯機やIHなどについて細かいことを覚えるのは大変です。
なのでこれくらいは保存してあります。
- 製品
- 型番
- 設置状況
- 分かっている操作
- 注意事項
家電って、問題が起きてから型番を探すのが面倒なんですよね。
なので最初に写真を撮って分かる範囲で登録しておけば、「うちの洗濯機でこれどう洗う?」「このIH動かないんだけど」みたいな相談の時に、前提情報を再収集しなくて済みます。
家の設備に関する問い合わせをするたびに現場調査から始めなくていいのは面倒くさくなくていいです。
ごみ捨てはかなりAI向きだった
この仕組みと特に相性がよかったのがごみです。
ごみって、毎週発生するくせにルールを覚える価値が低いという最悪のジャンルなんですよね。
しかも覚えることや調べることが複数あります。
なので地域情報と建物固有ルールをGitHubに保存しています。
さらに家のごみ箱構成自体もテンプレート化しました。
そして分からない物が出てきたら写真を撮って、「これ何ごみ?」 で終わりです。
やったね。
テンプレートには「理想の家事」ではなく「最低限」を書く
もう一つやっているのが、家事そのもののテンプレート化です。
たとえば、家事ってこういうのがありますよね。
- 洗濯
- 浴室
- 掃除
- ごみ出し
- 消耗品補充
- 朝の身支度
- 定期メンテナンス
- まとめ調理
多くてだるいです。
面倒くさすぎる……ふざけんな。
なので、ここでも発想は同じです。
理想的な家事手順を保存しない。
そんなものを保存すると、AIが毎週、「今日は窓のサッシを掃除しましょう」とか言い始めます。
嫌です。
なので、「これだけやれば、とりあえず生活は壊れない」を基準に作っています。
安全・カビ・害虫・排水詰まりみたいな、本当に放置すると面倒になるものは優先する。
それ以外は、多少汚れていても本人が困っていないならヨシ。
この思想を最初にAIへ教えておかないと、AIは善意で家事を増やしてきます。
AIは元気ですが、人間は元気ではありません。
ここを合わせる必要があります。
面白いのは「生活相談」がどんどん短くなること
使っていて一番変わったのは、すごい自動化ができたことではありません。
質問が短くなったことです。
最初は、「こういう洗濯機を使っていて、この洗剤があって、この服なんですが……」だったものが、「これ一緒に洗える?」になる。
「この地域に住んでいて、この建物ではこういうルールがあって……」が、「明日のごみ何?」になる。
料理も、「鍋の素を持っていて……」から始めなくていいんです。
AIが家に何があるかを読めるので、「ありもんで炊き込みご飯にしたい」くらいから会話を始められます。
これがかなり大きいです。
AI活用というと「何人月の開発業務を5分に!」みたいな話になりがちですが、生活では30秒のどうでもいい判断を1日10個消すが嬉しかったりします。
仕組みとして大事だったこと
実際にやってみて、いくつか重要だったポイントがあります。
① AIの記憶だけに依存しない
生活情報の正本はGitHub。
AIには毎回、必要な情報をそこから読んでもらいます。
これによって「前に言った気がする」が減ります。
② 未確認は未確認のまま保存する
写真で製品がよく見えない。
洗濯表示が撮れていない。
在庫数が分からない。
そういう時は無理に埋めません。
未確認 にします。
AIは空欄を見ると善意で埋めたがるので、ここは明示的に禁止しています。
③ 状態更新のための作業を作らない
専用アプリを開いて在庫を変更する、といった運用にはしません。
生活している途中の普通の会話から更新します。
管理のための管理を始めた瞬間に負けです。
④ 公式情報と自分の情報を分ける
特にごみ、行政、契約、製品仕様などは変わります。
なので、「自分のGitHubに書いてあるから正しい」とはしません。
自治体やメーカーの最新情報が必要なら確認し、その上で建物固有ルールと組み合わせる。
生活情報には意外と賞味期限があります。
そういうのは情報ソースをきちんと与えてあげましょう。
⑤ AIに理想の生活を押しつけさせない
これが個人的には一番大事です。
健康、安全、カビ、害虫みたいな重要な問題以外では、「もっとちゃんとしましょう」ではなく「もっと楽にできない?」 を基本姿勢にしています。
生活改善の末にタスクが20個増えたら、それは改善ではありません。
私は私の生活を息苦しくすることを絶対に許しません。
個人情報は何でもGitHubに入れない
当然ですが、このリポジトリはprivateです。
それでもなんらかの暗証番号みたいな情報は保存しないルールにしています。
万が一画像に写っていても、必要がなければ記録しません。
生活をAIに管理されたいとは言いましたが、人生をGitHubから流出させたいとは言っていません。
ディストピアにも程度があります。
実際やってみてどうだったか
かなり気に入っています。
特に良かったのはこのあたりです。
- 写真で初期登録できるので、生活用品台帳を手入力しなくていい
- レシートもそのまま使えるので食品や値段を再入力しなくていい
- 普段の会話が在庫更新になるので管理画面がいらない
- 過去に決めた家事方法を再利用できる
- 自分が持っている物を前提に提案してくれる
- 買う前に「なにが必要?」を確認できる
- 同じ説明を何度もしなくていい
逆に、IoTセンサーで洗剤残量を自動取得したり、冷蔵庫の中身をリアルタイム監視したりはしていません。
そこまでやるとシステムを維持するための生活になってしまいます。
今のところは、写真 + 会話 + テキストファイルくらいがちょうどいいです。
生活は別にリアルタイムシステムではないので、「歯磨き粉が昨日34%だったか今日31%なのか」なんてどうでもいい。
なくなる前に買えれば勝ちです。
要はこれどうするんだっけ?と考えたり調べたりするのが面倒なんです。
何も考えずに生きたいんです。
おわりに
今回やっていることを一言で言うと、一人暮らしの細かい判断を外部化しています。
家事を全部ロボットにやってもらえるわけではありません。
洗濯物は自分で洗濯機に入れないといけないし、ごみも自分で持っていかないといけない。
でも、「どう洗う?」「買うべき?」「これは何に使う?」という頭の中の細かい事務作業はかなりAIに渡せます。
これだけでも一人暮らしはだいぶ楽になります。
世間ではAIに仕事を奪われることが心配されていますが、私はまず、トイレットペーパーの在庫を気にする仕事を奪ってほしい。
曜日ごとのごみ区分を覚える仕事も奪ってほしい。
洗剤の使い分けを覚える仕事も奪ってほしい。
そういう細かな仕事を一個ずつAIへ渡していった先に、私の望む楽園があるのかもしれません。
少なくとも今のところ管理AIが暴走するような兆候はないですし、かなり快適ですよ。
それではまた。
もっとAIに支配してもらえるアイデアがあればコメントで教えてください。