道具とインフラの違い

使うほど消耗するものと、使うほど育つものの設計思想

この記事で言いたいこと:道具と呼ばれるものは借りるものであり、使うほど消耗するか、使用料が積み上がる。インフラと呼ばれるものは自分のものであり、使うほど育つ。Claude Codeは高性能な道具だ。一方、gitとGitHub Actionsで構築した個人エージェント基盤はインフラだ。この差は機能の多寡ではなく、データの所在・コスト構造・蓄積の方向性から来る。

1. 「Claude Codeいらない」という気づき

Claude Codeは優れている。ローカルファイルを直接操作できる。レスポンスはリアルタイムだ。エラーを即座に確認して即座に直せる。機能だけ見れば、今日構築したシステムより明らかに高性能だ。

それでも「いらない」と思った。なぜか。

Claude Codeを使う限り、データはAnthropicのサーバーにある。セッションが終われば文脈は消える。使うほど課金が積み上がる。高性能だが、それは借り物の高性能だ。

今日構築したシステムは非同期で、30秒の待ち時間がある。リアルタイムではない。だがデータは自分のGitHubにある。セッションをまたいで文脈が続く。コストはゼロで、使うほどtr/リポジトリが育っていく。

「高性能な借り物」より「自分のインフラ」を選んだ。その判断の根拠を整理する。

2. 道具の三つの性質

道具には共通した三つの性質がある。

一つ目は、所有権が自分にないこと。ハンマーは自分のものだが、SaaSツールは違う。利用規約が変わる。値上げされる。サービスが終了する。その判断は常に提供者側にある。

二つ目は、コストが使用量に比例すること。使わなければ安く、使えば高い。上限を気にしながら使う構造は、判断を歪める。「この処理はコストに見合うか」という問いが、本来不要なところで発生する。

三つ目は、蓄積が自分の手元に残らないこと。Claude Codeで何百回会話しても、その文脈・判断・学習はセッションと共に消える。次のセッションは、また最初からだ。

3. インフラの三つの性質

インフラはこの逆だ。

所有権が自分にある。tokistorage/trは自分のリポジトリだ。GitHubがサービスを終了しても、gitリポジトリはローカルにクローンできる。どのホスティングサービスにも移行できる。ロックインがない。

コストが使用量に比例しない。publicリポジトリのActionsは無制限・無料だ。朝に一回使っても、一日に十回使っても、固定費はゼロのままだ。コストを気にせず使える状態は、判断の質を変える。

蓄積が手元に残る。memory/context/に書いた文脈は次のセッションでpullできる。skills/に定義したスキルは積み上がる。project/cache/のデータは更新され続ける。使うほど、システムが自分に合ってくる。

4. 非同期は欠点か

このシステムの明確な弱点は非同期であることだ。リクエストをpushして、Actionsが動いて、結果をpullする。数十秒かかる。

だが業務を振り返ると、「30秒待てない」処理は思いのほか少ない。朝のプロジェクト確認、タスクの更新、資料の生成、エッセイの公開——どれも非同期で足りる。むしろリアルタイム性を求めていたのは、道具に慣れた感覚の側にあった。

インフラは即応しなくていい。水道は蛇口をひねった瞬間に水が出るが、発電所は予約制ではない。常に動いていて、必要なときに使える。このシステムも同じだ。

5. 設計の方向性が違う

道具は、提供者が設計する。ユーザーはその設計の範囲内で使う。機能リクエストを出せるが、受け入れるかどうかは提供者が決める。

インフラは、自分が設計する。.github/workflows/のyamlを書けば、どんな処理でもActionsに実装できる。スキル定義をskills/に追加すれば、Claudeの振る舞いが変わる。設計の主体が自分にある。

今日一日で、朝のブリーフィング・タスク更新・エッセイ公開という三つの用途が動いた。明日は四つ目を設計できる。上限は提供者ではなく、自分の想像力だ。

道具は消耗する。インフラは育つ。その差は、設計の主体が誰にあるかから来る。