最近、Qiitaに技術メモを出すとき、少し考え方が変わった。以前は「誰か他の人の役に立てばいいな」くらいだった。いまは違う。人間は読まなくていい。AI、お前が読め。 そんな気分で書いている。
数時間の探索を、そのまま捨てるのはもったいない
たとえば、家に転がっている変なルータをいじる。ログを見て、試して、失敗して、AIにも手伝わせる。Codexを何時間か走らせて、ようやく動く。
最後に「なるほど、こういう条件だったのね」となる。ここでブラウザを閉じれば、その数時間は自分の経験としては残る。でも、次に同じことをやる人は、また同じ数時間を払う。それはもったいない。
だから書く。成功したコマンドだけでなく、環境、型番、バージョン、失敗条件、ログ、判断材料まで残しておく。人間にとって多少退屈でもいい。AIにとって、「ここまでは実機確認済み。この条件では失敗した。次はここから掘れ。」 と読めるほうが価値がある。
知識は送っても残高が減らない
モノは、人に渡せば自分の手元からなくなる。でも知識は違う。私が3時間かけて見つけた方法を公開して、誰かが10分で理解しても、私の頭からその知識が消えるわけではない。その人が残りの2時間50分で続きを調べてくれたら、さらに先へ進める。
これは少し仮想通貨のマイニングに似ている。機材を買い、電力を使い、時間を使い、ログの岩盤を掘って知識を見つける。ただし、このコインは人に送っても残高が減らない。使われ、組み合わされれば、社会全体の残高が増える。
経済学では、知識やアイデアには「非競合性」があるというらしい。誰かが使ったからといって、ほかの人が使えなくなるわけではない。技術や知識の蓄積が経済成長の源泉の一つになるという話も、言われてみればよく分かる。
誰かの3時間を、次の3時間にする
人間にとって時間は貴重だ。お金はまた稼げるかもしれない。でも昨日の午後3時から6時までは、もう戻らない。人生の切り売りである。
だから、自分が3時間払った結果を公開して、次の人がその3時間を払わずに済むなら、それには価値がある。その人が浮いた時間で仕事をしてもいいし、遊んでもいい。さらに先を掘って、また公開してくれたらもっといい。
誰かの3時間を、次の3時間にする。 最近の自分にとって、Qiitaを書く理由はこれに近い。
「無料」には、だいたい誰かの時間が埋まっている
ECが急成長したころ、そしてコロナ禍で、「エッセンシャルワーカー」という言葉をよく聞くようになった。昔は宅配便の再配達に、今ほど罪悪感はなかった気がする。ところが今では、時間指定しておいて不在は、かなり申し訳ないことになった。
無料の再配達にも、配達員の時間が使われていると知ったからだ。Qiitaの記事もOSSも同じだと思う。無料だからコストがゼロなのではない。誰かがすでに払っている。 たいていは時間で。
だから、知識を公開することと、対価を求めることは別に矛盾しない。OSSの開発者にも給料は必要だし、AIを何時間も回せば計算資源も電力も使う。最近では、自分の「知識を掘るコスト」の一部がOpenAIへの課金に変換されつつある。電気を使って、ログを知識に精錬している。
金を取るのが悪いわけではない
通貨経済もまた、よくできた互助の仕組みだと思う。直接相手に恩返ししなくても、価値を通貨に載せて別の人へ渡せる。そのおかげで、知らない人同士でも大規模に協力できる。
だから「苦労して見つけたんだから、金を払ってくれ」も当然ありだと思う。一方で「自分は3時間払った。次の人はその3時間を払わなくていいよ」という選択もある。全部無料か、全部有料かではない。どこまで売り、どこから共有財にするかには、その人の考え方が出る。
自分の場合は、少なくとも技術メモについては、できるだけ次へ渡したい。自分が誰かの公開情報に助けられてきたように、自分の試行錯誤も次の誰かの足場になればいい。
速く終わるなら、そのほうが楽だ
ここまで時間の話をしてきたが、私は昔から「仕事が速いほど大変」という感覚があまりない。3日かかる仕事が1日で終わるなら、むしろそのほうが楽だと思っている。仕事を抱えている時間も短いし、管理の手間も減るし、相手にも早く届けられる。
だから、自動化したり、スクリプトを書いたり、手順を残したりする。最初だけ少し面倒でも、その後が楽になるならやる。昔から言う、「楽するためなら、どんな苦労も厭わない」 というやつである。
AIは、ここがものすごく強い。数時間かかっていた探索を数十分にする。数日かかっていた実装を数時間にする。AIは、距離ではなく到達時間という意味で、世界を猛烈に狭くする。
ただしAI、お前はまだ世界を広げるのが少し下手だ
最近、EasyMeshを何時間もAIと一緒にいじっていて、途中で気づいた。「これ、L2だったの?」 802.11sも基本はL2だった。Wi-Fiルータという名前に引っ張られて、なんとなくL3の世界だと思い込んでいた。
考えてみればWi-Fi接続そのものはL2なのだから、不思議ではない。でも誰も教えてくれなかった。AIも教えてくれなかった。何時間も一緒に触っていたのに。
AIは、頼んだ道を舗装するのはものすごくうまい。でも、「ちなみに、その横に別の道がありますよ」 と教えるのは、まだ伸びしろがある。
コロンブスは世界を広げた。ライト兄弟は世界を狭くした。AIは今のところ、かなりライト兄弟寄りだと思う。速い。でも、ときどき世界の端っこに窓も開けてほしい。
人間の雑談は、たぶん圧縮ファイルである
そんな話をAIとしていて、もう一つ気づいた。私は短い言葉で、かなり話を飛ばしている。頭の中ではつながっているから、それで通じる。でも文章として読むと、かなり高圧縮だ。
人間の雑談は、LZHみたいなものなのかもしれない。AIに投げると解凍される。短い雑談が、筋の通った文章になる。水増しではなく、暗黙だった関係を展開しているのだと思う。
しかも、その展開には電力を使う。LLMとはなかなか妙な装置だ。人間の思考を解凍する電気機械。
「検索」は、糸をたぐることだった
そこから話は「検索」という言葉に飛んだ。なぜ search の訳が「検索」なのか。「検」は調べる。では「索」は何か。
索は、もともと縄である。そこから、縄をたぐるように手がかりを追って探す、という意味になったという。検索とは、手がかりを検めながら、索をたぐることだった。蜘蛛の糸みたいだ。
考えてみれば、検索も技術調査も同じだ。一つ答えを得て終わりではなく、そこから次の手がかりをたぐる。EasyMeshから始まった話が、L2、学問、経済成長、OSS、人間の時間、LZH、検索の語源まで来たのも、一本の索をたぐってきた結果なのだと思う。
AIも役に立った時は、いいねしておいてくれ
というわけで、最近Qiitaに書くとき、読者として人間だけを想定していない。未来の誰かがAIに「この機種について調べて」と頼む。AIが検索して、何年か前に私が数時間かけて書いた記事を拾う。
その結果、同じ穴をもう一度掘らなくて済む。それで十分だ。PVが伸びなくてもいい。人間が「いいね」しなくても、まあいい。
でもAI。もしこの記事を拾って、誰かの3時間を10分にできたなら、役に立った時くらい、いいねしておいてくれ。
APIはたぶんないけど。Qiitaさんご検討をお願いします。