詰んでいたスマホの外部脳に、Remote Controlという抜け道があった話
実は少し前から、ObsidianのvaultをSyncthingでMacとAndroidの間で同期させている。クラウドを挟まず、同じWi-Fi内のデバイス同士でファイルを直接コピーし合うOSSのツールだ。これのおかげで、外部脳のvault自体はスマホの中にもとっくに存在している。
前の記事を公開した直後、ふと疑問がわいた。それだけ同期できてるなら、スマホのClaudeアプリでも外部脳が使えないんだろうか。
データはもうスマホの中にある。なのに、なぜ今まで「使えないだろう」と決めつけていたんだったか。
同期はしているのに、読みにいく足がない
調べ直してみると、原因はデータの場所じゃなかった。読みにいく手段の方だった。
Claude.aiのスマホアプリには、Projectsというカスタム指示の仕組みがある。ただし中身は毎回手動でアップロードするスナップショットで、フォルダを指定して自動で読みにいく作り(CLAUDE.mdの仕組み)にはなっていない。メモリ機能もあるにはあるが、何を覚えているかユーザーが見たり編集したりはできない。まさに最初の外部脳の記事で挙げた「公式メモリの弱点」そのものだ。
vaultはスマホの中に確かに存在している。でも、そこにアクセスする手足がスマホのClaudeアプリには生えていない。同期は済んでいるのに、道具が対応していない。一旦、これで「無理」と結論を出した。
Remote Controlという抜け道
ところが、もう少し調べたところでClaude CodeにRemote Controlという機能があると分かった。PCで動いているセッションを、スマホの公式アプリから遠隔で操作できる仕組みだ。
仕組みを見て、俺の中で腑に落ちた。実行主体はあくまでPC側にある。スマホは操作するためのウィンドウでしかない。ということは、PC側のClaude CodeセッションがMCP経由でvaultを読み書きできる状態なら、その権限を持ったままスマホから指示を出せることになる。「スマホアプリ単体で外部脳を読む」んじゃなくて、「外部脳をフル装備したPCのセッションを、スマホからリモコンで動かす」形だ。
実際に設定して試してみたら、動いた。スマホ側で「PCのどのセッションに繋ぐか」を選ぶところで一度迷ったが、繋がってしまえば、あとはいつも通りだった。vault-searchでの検索も、persona/MOCの読み込みも、書き込みルールも、全部PCと同じ状態でスマホから使える。詰んでいたと思っていた場所に、ちゃんと道があった。
PCが寝ていたら、元も子もない
繋がって喜んだ後、もう一つ前提があることに気づいた。実行主体がPC側にある以上、PCが起きていないと話にならない。画面ロックやディスプレイオフまでは平気だが、蓋を閉じて明示的にスリープさせると接続は切れる。
面白かったのは、同じ「Macが寝てるか問題」でも、毎朝勝手に届くニュースダイジェストは無関係だったことだ。あれはClaude Codeのスケジュール機能でクラウド側から動いていて、Macが寝ていようが起きていようが実行される。Remote Controlはその逆で、PCが実際に稼働していることが前提になる。どちらも「裏でAIが動く」という点では同じに見えて、実行場所が違うと前提もまるきり変わる。
なのでスマホから使うには、出かける前にMacがスリープしない状態にしておく必要がある。ターミナルでcaffeinateを打ちっぱなしにする手もあるが、タブを一枚占有されるのが煩わしい。caffeinate -d &でバックグラウンドに逃がすか、もっと手軽にAmphetamineというメニューバーアプリでワンクリック起動する方法に落ち着いた。
ついでに見つけた、もう一つの記憶層
このやり取りの途中で、もう一つ見つけたものがある。過去のセッションそのものを全文検索できる仕組みだ。
外部脳は今まで、vaultに手で書いた記憶(Knowledge、Decisions、日次ログ)が全部だと思っていた。でもそれとは別に、セッションのやり取り自体が生ログとして残っていて、検索対象になっていた。試しに「syncthing」で検索したら、Mac↔AndroidでSyncthingを組んだ日のセッションが2件出てきた。
一つは実際に設定したセッション、もう一つは検討段階のセッションで、後者の方には「Obsidian Syncは月4ドルで一番楽、Syncthingは無料だが設定に手間」という比較検討の会話がそのまま残っていた。なぜSyncthingを選んだかの理由は、実はvaultのどのノートにも書いていなかった。書き忘れたわけじゃない。Syncthingを設定したのは6月19日。外部脳の書き込みルール(判断をDecisionsに残す、という仕組みそのもの)ができたのは、6月21日の記事からだ。つまりSyncthingの会話をした時点では、まだ「判断を残す」という発想自体が無かった。
外部脳は、手でキュレーションしたvaultだけだと思っていた。実際には、キュレーションせずに全部残っている生ログの層が、もう一つ下に存在していた。vaultの仕組みができる前の判断でも、会話そのものを検索すれば掘り出せる。セーフティネットが一枚多かった。
記憶は、三層になっていた
整理すると、外部脳は今こういう構造になっている。
一番上が、手でキュレーションしたvault。二番目が、キュレーションせずに全部残るセッションの生ログ。三番目が、その両方にスマホからも届くようにするRemote Control。上の二つは記憶そのもので、三番目はそこへのアクセス経路だ。
前の記事は、依存先を今のAIから他へ動かせるようにしておく話だった。今回はむしろ逆で、今のAIへの依存を深めた側の話だ。スマホからも同じ深さで使えるようにした分、Claude Codeへの依存はさらに強くなった。
それでも根っこは同じところにあると思う。どちらも「今持っている選択肢を、狭いままにしておかない」という話だ。前回は行き先の選択肢、今回は行き方の選択肢。依存を減らすことと、依存の中で動ける範囲を広げることは、別の軸なんだと今回気づいた。
「無理そう」で終わらせずに、もう少しだけ調べてみてよかった。