The scariest part to me is that we become dependent on these new machines in new ways. Software has always depended on tools. I remember the time when I had to pay for compilers. These new tools are a flashback to times where creating software came with real costs. But now it’s no longer a one-time payment, it’s a constant dependency. Not just a dependency on a filled wallet, but also a cognitive dependency.
Pi Coding Agent を開発する Armin Ronacher が agent 依存の高まるコードベースへの不安を語っている。なんとなく既視感を感じた。
昔々 WebKit/Blink の仕事をしていたころ, fuzzing によって見つかったクラッシュバグを毎週のように直していた。GCP 上のクラスで動く Fuzzer は半ランダムに DOM を操作する JS のコードを生成しては実行し、継続的にクラッシュバグを見つけてくるのだった。
ブラウザのコードを触ればバグは埋め込まれる。その不都合な事実を fuzzer によって叩き込まれると同時に「これクラスタ代を払うカネが無くなったらどうなるんだろう」と不安も覚えた。カネがないとバグが直らない。Mythos がないとバグを見つけられない昨今の風潮に通じるものがある。百倍くらい価格差ありそうだけど。
相対的にカネがないブラウザはどうするのだろう。そう思って Firefox に目をやると、彼らはクラッシュしない言語たる Rust をつくり、それでブラウザを書き直していた. もっというと DOM は JavaScript に乗せメモリ管理を GC に任せていた。計算資源を燃やすかわりに知恵を使う。クールじゃん。そう当時は思った。(Chrome の名誉のために補足しておくと、Blink の DOM もその後何らかの GC を導入してある種のメモリ安全性を達成したらしい。)
エーアイ時代にも、カネと計算機の力でねじ伏せるコードと知恵と勇気(友情でも愛でもなんでもいいよ)で切り抜けるコードがあってよい。
上でリンクした記事は、来たるべき時代の予兆として Curl 開発者の burnout 寸前事例を挙げている。が・・・これはどのくらい一般化できるのだろう。世界一人気のあるネットワーク・プロトコルの世界一メジャーな実装として世界一攻撃に晒されているというのによりによって C で書かれているこのライブラリ、ソフトウェア開発の未来として一般化するより人類の限界をベンチマークする事例と見たほうが適切ではなかろうか。
ソフトウェアのバグは一般に直すより見つける方が難しい。Ronacher が恐れるような「攻撃にエーアイを使われたら防御にもエーアイが必要」というとき、別にエーアイにコードを書かせる必要はない。むしろ Ronacher がいうような、ヒトが慎重で硬いデザインを詰めていくほうが妥当なことは多いと思う。防御のためのエーアイは、攻撃者より先にバグを見つけるのに使えば良い。
やがてエーアイが人間より硬いコードを書くようになり、しかし人間にはそれが理解できない日がくる可能性はある。たとえば formal method をエーアイに書かせるぞ と息巻く Jane Street はそうした世界にむかい先陣を切っている。ただ個人的には先の話・ニッチな話に感じられる。
どういう形をとるにせよ、計算機の力で人智を超えたコードを生成しまくる世界も、計算資源の嵐を知恵と努力と友情で乗り切る未来も、それぞれの趣や面白さがある。
エーアイ絡みの心配は自分も色々あるとはいえ、重要なソフトウェアがゴミコードに埋もれて窒息する不安は今のところあまり大きくない。ただし前提がある: エーアイ業者はその泡銭で CS 研究者をやとって遊ばせておいてほしい。CS 研究者もそれに便乗しコード環境問題への取り組みを頑張って欲しい。問題は起こるし、もう起きている。でもそういうボヘミアン研究者がきっとなんらかのブレイクスルーを見つけ出すと思うんだよね。それがなんだかは知らないけれど。自分の楽観は、人類が産んだ賢い人々への楽観なのかもしれない。
今日もまた仕事のコードレビューでイラッとしたコメントを書いてしまい余計な手間を増やしてしまった。反省。
交通事故も、交通規制を守らないひとが一人いるだけでは起きないが二人いると起こる。仕事の議論もイラッとしたひとが二人いると揉める。そのうちの一人になってはいけないが、人間ができてないので時折なってしまう。
少しまえ、エーアイに語感を和らげてもらう社会性フィルタについて書いた。今回も社会性フィルタの適応をサボったのがいけなかったかな・・・と一瞬考えたが、マジレスとして社会的フィルタは本質的には風刺であり、そのラインを超えてはダメである。要するに microaggression ですからね。ただ現実問題としてイラッとした時に microaggression を発動させる一番表面的には無害な方法なのも事実で、フロドの指輪に似た禁断の誘惑がある。
COVID 末期に Quiet Quitting という現象が流行った。これは、今思えば COVID 的というか WFH 的な現象で、社会性フィルタに通じるところがある。仕事がオンラインになればなるほど社会性フィルタや Quiet Quitting はやりやすくなる。人間性への敬意を書いたコミュニケーションは画面越しのほうがやりやすい。脊髄反射や本音を画面のこちら側に隠しておけるから。
ただ人間性を軽視するとコミュニティへの所属感、チームの結束感や相手との親密さは失われる。仕事のやる気もさがる。なので眼の前の仕事をそれなりに持続性をもってやりたいなら、これらは望ましい態度ではない。Quiet Quitting は quit してるので持続性は期待してないから仕方ないとして、社会性フィルタはダメ。わかってる。
ただしょうじき、エーアイの指輪はいちどつけたら外すのめんどくさいよね。AI チャットのせいで若者ちゃんと人間関係鍛えられないのではという懸念を多くの年寄が感じているが、若者に限った話じゃない。仕事のめんどくさいコミュニケーションしたくない。肌のあわない苦手なひとと話したくない。にこやかにイチからきちんと説明して説得して協調とかしたくない。そんな気分があるからこそ Workslop が生まれる。社会性フィルタとか呼んだところで slop に違いはない。自分は話したくないんですよそもそも。
ここで踏みとどまって真人間として振る舞い社会的筋力を鍛えるのが会社員の仕草であり、出世パスであり、大人になるということだった。しかしエーアイや画面や大人気ない国家首脳の皆さんなど今日的な現象の数々がこうした筋トレへの意欲を過去にないほど削いでいる。
“Bowling Alone” (邦題: “孤独なボウリング”) という昔書かれた超有名な社会学の本があり「アメリカ人最近孤独らしいんですけどなんでですかねー、調べたけどテレビくらいしか原因はなさそうですねー」と書いていた。しかし四半世紀前は平和なもんだったね。 すくなくとも職場というリアルワールド社会性強制ギプスは完全に健在だった。アンチ社会性筋トレマンガ Dilbert に面白さを感じられるのも、リアルワールドでの社会性をある程度は強制されているからである。
つまり: めんどくさい人間関係を生産的に乗り切る社会性筋力はかつては雇用を通じ強制的に鍛えられたが、時代の流れがその強制力 (“friction”) を流し去ってしまった。だからかなりやる気を出さないと社会性筋トレができない。しかし社会性を鍛えられていない人間から構成された社会は果たして望ましいものなのだろうか。
この反語にはしかし、安易に頷くことはできない。先のコードレビューで起きたような衝突(レースコンディションによるクラッシュを無駄な動機を挟むことで性能劣化の問題に転化するコード書くんじゃねーお前のバグがこっちに来るじゃねーか!みたいな揉め事)を、ソフトウェアエンジニア的に解こうとすると 1) テストを強化しましょう 2) プロセスを強化しましょう 3) ベストプラクティスを文書化しましょう 4) ベストプラクティスをフレームワークにエンコードしましょうみたいな話になり、これらはさほど社会的な解決でなくはないか。いやプロセスは社会的かもしれないが、一番ダメなやつじゃん? 社会的じゃないほど望ましいじゃん。
そのようにして出来上がったチームやコードベースは衝突/friction のすくないなめらかなシステムに違いはないが、必ずしも社会的・人間的でない。他人の社会性(のなさ)を補ってくれるシステムは自分の社会性(のなさを見逃して欲しい気持ち)も抑圧される。個人的にはちょっと衝突リスクがあってもゆるいコードベースの方が働きやすい。しかし時々今日のようにイラッとしてやる気を損なう欠点がある。うまい話はない。結局、抑圧的システム化と人間的余白と苦手な同僚との付き合いのバランスをとるゲームのスキル獲得がソフトウェア開発者の社会性筋トレだということだろう。
エーアイはこのバランスを破壊した。そして workslop のような従来の社会性を損なう営みを産んだ。こういうのは目の当たりにすると腹が立つ一方、自分も誘惑に負けてやりがち。エーアイを火山のマグマに投げ捨てることは出来ないから、何らかの形で新しい秩序を作り出す必要がある。今日はイラッとしてすまなかったけど指輪は使わず痛みを感じることが出来た。やる気が回復したらなんか生産的な施策を考えます。はい。
読んだ: Amazon.co.jp: 半導体 尖端覇権の興亡 eBook : 大鹿靖明: Kindleストア
日本の半導体周辺産業凋落の歴史。なんとなく 20 世紀で敗北していたと思っていたがメモリとかフラッシュなどは 21 世紀でも序盤は頑張っていて、しかしこの 20 年で負けてしまったねという話。Chip War" (邦訳 “半導体戦争”) や “Apple in China” を読むと、日本はチラっと出てきたあとすぐ敗北退場してしまう。この本は退場したあとどうなったという話で興味深い。自分は、何も知らなかったね。関心も払っていなかったし。
日本はいわゆるメーカーが垂直統合なせい半導体産業が分散しており、規模で戦う局面についていけなかったのが敗北の主要な原因だと著者は分析している。政府が介入してデフラグを試み、ルネサスだのエルピーダなどがあったがあまり上手く行かず、ルネサスはまだあるがエルピーダは消滅(買収)。あとキオクシア(なんかゴタゴタしてたが最近はエーアイ景気で復活)などなど、色々あったのだねーと勉強になった。そうした産業構造の問題ではなく、サブプライム直後の円高(当時は日本の銀行が手堅かったのでドルが逃げてきた)で価格競争に負けて滅びたり、地震のせいで工場が壊れてそのまま破滅したり、踏んだり蹴ったりの様相。
赤字やらなんやらで国内産業が中国にどんどん買い取られていく様は Apple in China の日本版というかんじで趣深い。仮想敵国にこんなにバンバン国内技術を売り渡して全然ブロックされないとは、昔は平和だったのだね世界は。完全シフト済の現代 Overton Window から見るとドン引きしてしまう。
前半八割くらいがそんな凋落の話で、あとの一割が TSMC 熊本進出の話。そして最後の一割がラピタスの話。ラピタス、こないだ北海道旅行をしたときに話をきいてへーと思いつつスルーしていたが、IBMの技術をベースに税金投入してファブを作る、客はこれから探す、みたいなめちゃ掛け金高くて歩の悪い博打を打っていると知りビビった。日本で 2nm? ほんとに? ASML の機械が搬入される下りとかもう読んでいて胃が痛い。
「覇権」やら「戦争」やらの表現が示すように、TSMC もラピタスも金稼ぎではなく保安上の施策なのだよね。アメリカ政府が CHIPS Act で Intel や TSMC に出資したようなもので。なので分が悪いのはある程度織り込み済みと言えるが、こんなカードしか残っていないとは・・・と悲壮な気持ちになる。空前のエーアイ景気の勢いで客を掴んで起動に乗せられるといいですね、ほんとに。Intel も Apple や Google から fab として発注を受けるという前代未聞の展開が続いており、政府の圧力もあったろうけれどそれ以上に TSMC だけじゃ帯域が足らんという話なわけで、全てエーアイのおかげ。日本も恩恵受けてほしい。
少し前に Substack あそびとして Noah Smith を購読していたら “ウィーブが日本を救う” という本の抜粋がアーカイブにあったので目を通した。Noah Smith は TSMC 誘致みたいな FDI (Foreign Direct Investment) で中国がやったみたいに発展途上国プレイをして経済復活だ、みたいな話をしており、日本そんなキャラじゃくね・・・と思っていたが、今となっては妥当 (less worse) なカードなのかもしれない。この本を読んでふと思い出した。
Statement on the US government directive to suspend access to Fable 5 and Mythos 5 \ Anthropic
エーアイコーディング、安い/公開ウェイトの中国モデルを弱いやつなりに上手に使うスキルは、思ったより守備範囲が広くなるのかもしれない。
以前はそんなの過渡期のスキルでモデルが強くなれば解決するから、せいぜいクラウドの free tier タダ乗りスキルみたいな貧乏余暇プロジェクト勢のニッチスキル止まりだろうと思っていた。これは自分個人にとっては重要だがエンタープライズ的にはどうでもいい。金を払って強いモデルを使うほうが手っ取り早いので。
ただトークン価格の高騰や上記のような言動に代表される地政学的リスクを考えると、強いアメリカモデルから距離をおきたいと感じる勢は、特に国外では増えそうである。少し前から Sovereign Cloud みたいな動向も盛り上がり始めているし。
もちろんリスクというのは確率的な事象であり、「結局プロプリエタリアメリカモデルに乗っておくのが正解でした」となる線が今も一番太いとは思う。ただ不測の事態に備えたい人々が性能を犠牲に柔軟性や自己所有を優先するのも珍しいことではない。危険というのは、一度見えてしまうと忘れることは出来ないのである。
安いモデルたち、強いモデルに比べると大したことないのは確かだけれど、一方でまだまだ周辺技術およびモデル本体のチューニングで良くなる伸びしろはありそうに感じる。安いモデルでがんばるひと以外が Reddit のローカルモデル動かす勢と中国人以外にも増えてくると、裾野も広がるのになと思います。いま世の中の skill とかも Claude や GPT みたいな強いモデル前提なのが多い。弱いモデルに必要なアグレッシブな steering は、一年くらい前に流行りかけたけどモデルの高性能化で影を潜めてしまった。安弱モデル活用チップス、また復活してほしいもんです。