こんにちは、栗林健太郎です。
このポッドキャスト、情報科学のまわり道では、
情報科学の博士号を持つソフトウェアエンジニアの栗林健太郎が、
好奇心の赴くままにまわり道をした中で見えてきた風景や考えについて語っていきます。
今日のテーマは、自分のための道具を自分で作るということです。
ポッドキャストの収録環境をもうちょっとちゃんとしたいなと思って、
さっきまで、MIDIコントローラを使ってOBSを操作できる配信支援アプリを作っていました。
その話は後で詳しくするんですけど、
この自分で使うための道具を自分で作るということには、
これまでの情報技術に関するある種の思想的な流れというのが関係してくるなと思ったりしているので、
ちょっとそういう話もしてみようかなと思っています。
まず何を作ったかというと、
このポッドキャストって最初に音が流れてきて、
それがちょっと小さくなってくると話し始めるみたいなことをしますよね。
それで最後にはちょっと音の大きさを戻してからフェードアウトするみたいなことをしてるんですけど、
それをMIDIコントローラーでできると楽だなと思って、そういうアプリを書いたんでした。
このポッドキャストはOBSというツールを使って収録してるんですけど、
それにアライブスタジオっていう、僕が弾いているチームで作っているソフトというかサービスを使ってBGMを流したりとか、そんなことをしてるんですね。
MIDIコントローラーで、キーボードでもパッドでもいいんですけど、
それを押したらノート、音ですよね、ドレミみたいな音、その番号を送って、
その送られた番号に対応した操作をOBSに対して、あるいはアライブスタジオに対してするっていう、そういうアプリを作ったわけです。
なんで作ったかっていうと、その前はOBSのスクリプトを使ってショートカットキーでですね、
しゃべる前に音量を下げたりとか、そういうことをやってたんですけど、
ショートカットキーだと他の操作と混じったりして、結構操作ミスが多かったりしたんで、
それよりはMIDIキーボードみたいな別のデバイスとしてあるような、かつボタンポチっと押したら動くみたいな、
そういうものでやった方が間違いがないなと思って、それでこういうことをやってみたわけです。
作ったって言っても、最近は自分が作るものもそうだし、世の中的にもそういうことが多くなってきていると思うんですが、
いわゆるバイブコーディングって呼ばれるような、いろいろ定義あるかもしれないですけど、
要するにコードそのものを自分で書くっていうよりは、AIにどんどん指示をして、
それでどんどんコードが出来上がってみたいな、そういう形のコーディングをして作ってみました。
なので、あんまり自分で考えてっていうよりは、コード書くのはAIがやってくれたっていう感じですね。
自分でやったのは、こういうものが欲しいよとか、あるいはいろいろ細かい調整とかユーザビリティとか、
いろいろあるんで、そういうところをこういうふうにして、こういう画面にしてとか、こういう使い勝手にしてほしいとか、
あるいは今回、Macだと一番画面の上にあるトレーメニューみたいな、
そういうところに出てくるアプリとして作りたかったんで、そういうものにしてほしいとか、
そういうことをあれこれお願いして作ってもらっていたわけです。
そういうアプリって、もちろん自分で作ろうと思えば、自分で書いて作ることもできないわけではないんですけど、
やっぱり使ったことない技術だと、調べてあれこれやるのも大変だし、
もちろん単純にコードを書く時間はだいぶ短くなるんで、
自分でやってたら何日かかかってただろうなっていうのが、この何時間かで出来上がったということで、
非常に楽になってきたわけです。
そうすると、アイデアとしてこういうのがあったらいいよなと思ってても、
以前だったら時間もないしなということで、作ることもあんまりなかったようなものも、
数時間あれば割と作れちゃうんで、
結構そういう自分のための道具っていうのを、自分で作っちゃえっていうことが簡単にできるようになってきて、
いらなかったら捨てちゃえばいいしとか、
あるいはまた新しい要件が出てきたらどんどん付け足していけばいいしみたいな感じで、
そうやってプログラム自体をニッチな用途のものでもどんどん作れるという環境になってきたわけです。
お仕事のコードを書くみたいな場面だと、なかなかそういうわけにもいかないんですけど、
個人で使う分にはあんまりいろいろ考える必要もないですし、
自分が良ければいいなっていうところもあるんで、
そうやってどんどん自分のための道具っていうのを自分で作っていけるようになってきたという意味では、
とってもいいことなんじゃないかなというふうに思っています。
それをもうちょっと敷衍して考えると、
アラン・Kという人がいますが、
その人が昔Dynabookっていう構想を話していて、
それはコンピューターっていうのを個人が自分の考えを拡張したり表現したりするための媒体として構想したものなんですけれども、
今でいうiPadみたいな、ああいう感じの道具をですね、
もう本当にパソコンという言葉自体がまだない頃に提唱をしていて、
それは必要に応じて自分の道具を設計したり作り変えたりとか、
あるいはコンピューターっていうのを想像とか学習とか、
そういうことを個人がやっていけるような、そういうものとして構想をしたというものだったわけです。
さらに考えを広げていくと、
イヴァン・イリーチっていう学者さんがいて、
この人はコンビビアリティのための道具っていう本を書いてるんですけど、
その中ではどういうことを言ってたかというと、
道具っていうのはいろいろありますけど、
日常的に手で使う道具もそうだし、
今のパソコンとか、あるいは自動車とか、
そういうのも道具といえば道具なんですけど、
何か大きなシステムっていうものを中身も分からずに、
ただそれに従って使うだけみたいなことよりは、
ユーザーっていうのがその道具をちゃんと理解して、
必要に応じて調整したりとか、作り直したりとか、
そんなことができるような道具がいいんだっていうようなことを言っていてですね、
そういう道具っていうのが人間の主体性を支える、
むしろそのために道具っていうのがあるべきなんじゃないのと、
道具っていうのが人間の能力を奪うんではなくて、
拡張し、共同性を育てるみたいな、
そういうことのために道具ってあるべきなんじゃないの、
みたいな話をしていたわけです。
そんなわけで、アラン系とかイバン・イリーチっていうのは、
まとめると個人の創造性みたいなのを拡張して、
人間がより主体的にクリエイティブに生きていけるために、
道具っていうのがあるべきだよねっていう話をしていたんだと思います。
Viveコーディングっていうのは、
機械どころによるとは思うんですけど、
少なくとも個人が自分のための道具を作る、
プログラムによって道具を作るという意味では、
僕は一応プロとしてはやってるんで、
自分で作れるものはいろいろありますけど、
それでもやっぱりすごく楽になって、
いろんなツールを作ったりしてるんですけど、
そういう仕事としてやってたわけではない人でも、
結構今いろんなものをくれたりしますよね。
そのことについて、いろいろ意見はあると思うんですが、
少なくとも自分のための道具を作るという文脈で言うと、
アラン・Kとかイバン・イリーチが言ってたような、
単にコソコンとかプログラミングとか、
あるいは人が作ったシステムに使われるって言うとあれですけど、
それを中身がわからないし、
いじることが実際問題はできないものとして、
ただただユーザーとして使うだけっていうよりは、
自分がそれをカスタマイズしたりとか、
自分で作ったりとか、
そういった形で力を行使できる、
そういうものとしてワイブコーディングっていうのがあるんであれば、
それはとっても素敵なことだなというふうに思うわけです。