私たちは、仕組みを知っている最後の世代
(unix.foo)- 1990年代のコンピューターゲームは、
autoexec.bat、ブートディスク、サウンドカードの割り込みといったマシン側の条件を、ユーザー自身が学ばなければ実行できなかった - モデムのネゴシエーション音、ドライブのジャンパ設定、誤った割り込み設定のように、コンピューターはユーザーを寄せ付けず、その抵抗を経験する過程が仕組みを知るための通路だった
- AI assistantは、設定ファイルや条件を要求するよりも、ユーザーの文に合わせて自らを再配置する従順なツールに近い
- 核心的な喪失は技術的能力よりも親しさの喪失にある。機械と格闘し、失敗し、その後でもう一度試すことで生まれる関係が失われつつある
- これから私たちは、かつてないほど機械に依存しながら、同時にその機械を以前より知らなくなる状態に置かれるかもしれない
困難そのものが知識だったコンピューター体験
- 1990年代にコンピューターゲームをするには、まずコンピューターがどう動くのかを多少は知っている必要があった
autoexec.batのようなファイルを開いて読んでいた- 特定のゲームを1本動かすためだけに専用のブートディスクを作ることもあった
- マシンが許可しなければゲームはできず、ユーザーはマシンの条件を学ばなければならなかった
- 当時のコンピューターと周辺機器には、ユーザーが自分で立ち向かわなければならない摩擦があった
- モデムは接続ネゴシエーションを音で聞かせ、何度も聞いていれば通話が切れそうな兆候まで察知できた
- ドライブでは爪先で小さなジャンパを設定していた
- サウンドカードがどの割り込みに応答するのかを知る必要があり、間違えれば何も動かなかった
- 「困難こそが知識」という感覚が、当時のコンピューター体験を貫いていた
- ユーザーは、自分を拒む対象を通して機械を知るようになった
- 「負けうる相手だけが知りうる」という一文が、この体験を要約している
従順なAIと失われていく親しさ
- 今日のAI assistantは、究極の利便性のように見え、ユーザーが望むことを言えば結果が現れるという形で動作する
- 設定ファイルを読ませない
- 条件を突きつけない
- ユーザーの文に合わせて自らを変え、ユーザーが不満を示せば謝ってからもう一度試みる
- 挑んでこない機械は理解しにくく、主として利用の対象になる
- 能力が失われるという話が核心なのではない
- AIモデルは、人が読まないマニュアルまで読み、機械がどう動くのかを語ることができる
- 計算能力や技術知識だけを見れば、知識はむしろ以前より安全になったとも言える
- 失われつつあるのは、特定の機械とぶつかることで生まれる親しさである
- ある機械と格闘し、失敗し、再挑戦して、ついに動かすという経験が減っている
- 人々は以前より機械に依存するようになる一方で、同時にその機械を以前より知らなくなる
- 次の世代は、これを喪失として感じないかもしれない
- 一度も結んだことのない関係を懐かしむことはできない
- 彼らは、すべてをしてくれて何も要求しない道具を、照明のスイッチのように自然に使えるだろう
- モデム接続音の録音を現代のコンピューターが即座に完璧に再生する場面は、この対比を示している
- 過去のモデム音は心の中に残っている
- その音を再生した現代の機械は、同じやり方では知ることができない
- 現代の機械は、ユーザーがそのように知る必要がないように作られており、それこそが私たちの望んでいた結果だった
1件のコメント
Hacker Newsの意見
Pangramがこの記事をAI生成と表示しているのは残念
https://www.pangram.com/history/c0a9cde2-7a5c-4588-83a3-0269...
純粋なAI文章が増えているのは確かだが、こういう形でコンテンツを「分析」するサービスは、益より害のほうが大きいと思う
https://geniusaidetector.com/
問題は、これがどう動いているのか分からないことにある
たいてい私たちは、生まれた時から触れてきた抽象化レイヤは理解していて、その一段か二段下くらいまではある程度分かるが、それより下に行くほど理解が薄れていく
年を重ねる中でこの過程を実際に見てきたし、かつては希少な知識として大きな需要があったが、今では若い人たちが持つ希少知識の大半は私があまり気にしていないものであり、私には、すでに大半が抽象化によって消えた問題を解くための精巧な技術だけが残っている
これは意味のある違いだ
ここにいる人の多くは、砂をシリコンに変える工程や、リソグラフィ用の高級レンズを手作業で研磨する専門性を知らないだろうが、そうしたものが必要だということや、おおまかな哲学的な概念は理解している
危険なのは、低レベルのインフラ作業をあまりにも完全に自動化してしまい、将来世代が自分たちの使う技術がどう作られているのかについて、概念的な枠組みすら持てなくなる時だ
AIが生成したシステムでは、この利点が失われてしまう。よほど慎重でない限り、新しいコードベースには一貫性がなく、LLMとプロンプトを書く人の目には「動いたから」という理由で新しいパラダイムがあちこちに導入される
同じパターンが37回、少しずつ違う形で繰り返されていても構わないことになり、その結果、知識の移植性が下がる
以前ならコードを見て「なぜ?」と聞けば、たいていは過去の経験や実験を通じて「x、y、zを試したがうまくいかなかった」といった答えがあった。だがLLMは、要求されたことを実現するという理由だけで複雑なものを入れ込む
有効なソースから文字列をバイト単位で読み、
\0に出会うまで進むやり方は動作するだろうが、APIドキュメントがXだと言っているなら、なぜそれが正しいのかを改めて検証しているのか、一歩引いて考えるべきだ私もそこまで年寄りではないが、C++から始めて、手動メモリ管理やプログラミング言語設計を学び、当時ですらかなり難解だったアセンブリの授業も受けた
アセンブリに熟達しているわけでも、そうなるつもりもないが、高水準コードが低水準のアセンブリや機械語命令にどうコンパイルされるかを理解することは、性能をいじる感覚を得るうえで非常に価値がある。ループ展開のような「ばかげて見える」ことが、命令数を減らすうえでどれほど大きな影響を持つかも分かる
ニュートン/シャルトルのベルナールが言ったように、私たちは巨人の肩の上に立ってより遠くを見られる一方で、足元の地面の細部は失う。現代人は、トランジスタからコンピュータを自作することで得られる幅広い専門性をもはや持ちにくいが、学問的に学んで、なお重要な知識の断片を得るべきだ
こうした高度に特化した分野の専門家が、相手を細部で圧倒することなく関連内容を共有できるコミュニケーション能力を備えていれば、非常に有用だ
ただ私はこれを技術的負債を背負って生まれることだと考えていて、前の世代が何を作ったのか、そして自分がどの方向から取り組むべきかを理解することは、エンジニアとしての義務だと思う
得る速さとほとんど同じ速さで、何かを失っているという点を言語化したのは小さくない
文章のノスタルジックな雰囲気の下には、コントロールの喪失と日に日に大きくなる不安が横たわっている
とても若い人たちが、タッチインターフェースとアプリだけを学んで、狭い意味でのコンピュータ利用ができない様子を見ると、すでにかなり衝撃的だ。キュレーションされたコンテンツとインターフェース、市場の最大公約数に合わせるために何千回もの反復で難しさがならされた環境である
それでも、今日もっとも多くのものを作り、良いもの、動くもの、保守可能なものを作っている人たちは、道具を手に入れつつ、私たちが使う媒体に関する知識を失わなかった人たちだと思う
コンピュータやインターネットの領域には、いろいろ触って、PCを自作して、マルウェアのせいでCドライブをフォーマットして、フォーラムやMyspaceページを飾るために「スニペット」を探していた、あたたかなノスタルジーがある
だが結局は、金銭的インセンティブが支配するようになる。楽しみや知識のためのいじり回しは収益性がなく、金と資本に最適化した人たちが金と資本をすべて飲み込むと、各人の金と資本に対する態度はますます重要でなくなる
今起きていることの中で最も懸念すべきなのは富の格差であり、それと密接に結びついた「ポスト真実」もそれに続く。人々は商業的あるいはイデオロギー的な目的に向けて、信じたいものを喜んで信じ、自分の人生がうまくいかない時には隣人を憎み、責めやすくなる
プログラミング言語、UNIX、デバッガは消えない。コンピューティングには、上司が求めるものや技術フォーラムで流行っているもの以上のものがはるかにある
むしろインディー/ハンドメイドのシーンは、趣味のレベルであっても大きく成長するか、ブームになる気がする。機械にやらせれば済んだはずのことを、血と汗を流して自分の手で作ったという事実は、より大きな称賛と喜びを引き出しうる
数十年にわたり、コンピュータ技術には、趣味人が大きな費用負担なく実験し、初期コンピューティング分野の限界を押し広げられるスイートスポットがあった。
遺伝的放散のように多くのニッチが生まれては素早く埋まり、いまやコンピューティング生態系は、かつて唯一の相互作用手段だった低水準抽象化ではなく、私たちにとって可能な最高水準の抽象化、いわゆる「自然言語」で動く段階にまで進化した。
「難しさは知識だった。抵抗を知るように機械を知った。抵抗そのものが媒体だった。失うことのできるものだけが分かる。」
あの時代を通ってきた私たちは、手を動かすエンジニアの知識を形づくり、抽象化階層が最前線で発展していく過程を経験と実践から学んだ。いまは簡単な答えがあふれる世界に入ってきた人が多いが、その答えが正しいかどうかは別問題であり、正確性をどれほど重視するかは自分で見極めなければならない。
子どもたちにPythonを教えるために「The Farmer Was Replaced」というゲームを出発点にしているが、考えれば考えるほど、昔のApple //eのように自分で十分に失敗できるハードウェアパッケージが必要だと思う。
当時はそうしたシステム上でアセンブラまでかなり学びやすかったし、時計をその地点まで巻き戻して経験を分岐させ、新しい世代の子どもたちが何を作り出すのかを見る価値はあると思う。
2400ボーのモデム交渉音の並びがニューロンに刻み込まれている年寄りの部類だ。
しばらく自分のシステム同士にWireGuard接続を設定しようとしていたが、仕事と家族で忙しく、いまはTailscaleに任せている。
ネットワーク経路、ファイアウォール規則、鍵ペア、systemdユニットなどを含め、複数ホストで自力設定することもできただろうが、「安くて簡単な」代替手段がそこにあって実際に動いた。再認証を強制してくる時を除けば。
LLMエージェントで既存ネットワークを手軽に分析し、自分のやりたい作業向けのスクリプトを作ることもできた。自分がやるべきなのはセキュリティ面などを確認することくらいで、自分のネットワークトポロジーのせいで必要になるルーティング規則の具体的な修正も3〜4個見えていた。
自分でマニュアルをいくつか読んで1〜2時間いじりながらスクリプトを反復修正してもたどり着けただろうが、エージェントの可用性と効果はあまりに魅力的だ。
これが自分の技術力にとって何を意味するのか、そしてそれがもう重要なのかどうかも、よく分からない。それでも頭がちゃんと回る限り、マニュアルを読んでこういうことを自分で解明できるだろうという確信はかなりある。このペースだと、自分の子どもたちも同じ能力を身につけるのかは疑わしいし、それがどれほど重要かも分からない。
ともあれ、子どもたちがLLMに過度に依存せず、「昔ながらのやり方」で問題を解くよう手助けしている。AIがどれほど有能になろうと、問題解決能力を育てられなければ人生で不利になるだけだというのは、かなり確かなことだ。
ただ、大半のデフォルト経路が「おいポンコツ、これやって」なのであって、「やあポンコツ、それがどう動くのか教えて」が主流ではないだけだ。
後者のやり方も少し試してみたが、特に独学する人にとっては教育ツールとして驚くほど過小評価されている。
autoexec.batを編集したり起動用フロッピーを挿せたりした1990年代のコンピュータ利用者が、意味のある水準で「コンピュータがどう動くかを知っていた」と見なせるのかは確信が持てない。いまは抽象化スタックがより深くなっており、これからも深くなり続けそうだが、1990年代にもすでに抽象化はかなり深かった。
ここでよくある誤りは母集団の取り違えだと思う。コンピュータオタクは面白さから抽象化を突き抜けて潜っていくし、それはWebブラウザがカーネル作者を消し去れなかったのと同じように止まらないだろう。
むしろ低水準コードは以前より多く書かれている。必要な知識へのアクセスが、以前よりも参入障壁で閉ざされていないからだ。
いまHNでいちばん声の大きい集団はオタクではなく、足場を探している起業家や詐欺師に近い。
彼らは「AI」の影響力をひたすら誇張し、今度はフォロワーに自分たちが最も郷愁を覚える瞬間を思い出させたうえで、その時代には誰もが自分たちのように手探りで混乱していたのだと思い込ませ、残りの歴史を無視している。
「知識は危険ではない。むしろかつてないほど安全だ。AIモデルは人間が読まないあらゆるマニュアルを読んだ」という言い方には同意しない。
モデルにマニュアルを求めたとき、学習データ中のマニュアルをそのまま吐き出すなら、それは過学習だ。実際のマニュアルらしく見える何か、あるいはマニュアルに関する問い合わせに合っていそうな何かを吐き出すはずだ。
誤りを見つけたら、ときには反論しなければならないが、何を探すべきか、何を期待すべきかをすでに知っていなければ、その誤りに気づくことすらできない。あるいは出力は無視してリンクだけを取るしかないが、そのリンクも古かったりでっち上げだったりするかもしれない。検証するまでは分からない。
そしてこれは圧縮と時間の経過によって劣化する。
近道はない。自分でやってみて、挫折して、理解しようともがく過程が途方もない報酬をもたらすという点には同意する。「すべてを速く、今すぐに」という時代でも、その過程はなお価値があり、ひどく過小評価されている。
「子どもの頃は親のコンピュータを直し、大人になってからは子どものコンピュータを直している。コンピュータがどう動くかを知っている最後の世代は私たちなのか?」
https://x.com/ryancbriggs/status/1847391612428517844
https://xcancel.com/ryancbriggs/status/1847391612428517844
もっと上の世代にももっと下の世代にもコンピュータに詳しい人は大勢いて、ただ彼の親や子どもたちではないというだけ。今どき最も印象的なアセンブリを書く人たちの中には20歳未満もいる。大丈夫だろう
私はコンピュータサイエンスを専攻し、学部の授業も教えていたが、もう10年ほど前から、ブート可能な Linux USB を渡されてもシステム設定ができないコンピュータサイエンスの学生たちを見てきた
単なる知識不足ではなく、2分で解決しないと「うまくいきませんでしたが、何をすればいいですか?」というメールを送ってくる完全な無力感が問題だった。ChatGPT のようなものに依存する最大の問題もそこだ
若い世代はさらに厳しい位置にいるように思える。コンピュータがどう動くかを知らないだけでなく、私たちの親世代が持っていた基本的な DIY の問題解決姿勢すらない場合がある
ジャンパを手で合わせ、サウンドカードの割り込みを扱い、
autoexec.batをいじっていたという例はどれもよくわかる同時に LLM やエージェントもうまく使っている。この文章は失われたものが何かをうまく捉えていて、他の分野でもずっと前に失われていたもの、あるいはそもそも存在しなかったもの――たとえば現代の自動車と Model T の違い――にも似ている
戻りたいわけではないが、喪失感はそれでも感じられる。文章も美しい
モッディングコミュニティは今も生きている
子どもたちは今でも Minecraft サーバーをホスティングしたり、今流行っている何かで遊んだりしているはずだ。DIY 8ビットコンピュータも人気を集めている
何かが完全にメインストリームになったからといって、すべての人に薄められたという意味ではないと思う。好奇心と情熱の度合いが違う人たちはいつの時代もいる
インセンティブを減らすことはできても、なくすことはできない。ナードはいつだってナードだ