見出し画像

AIってなに?(連載-1)

「ワンクリック動画生成」は嘘だった——揺らぎと戦った半年

68歳、まだ走っている。

このノートでは今まで、Webサービスを作った話、ECサイトをオープンした話、AIと組んでコードを書く話を書いてきました。

今回からは少し毛色が違います。

「AIってなに?」というシリーズを、3回に分けて書きます。

僕はこの1年、毎日AIと付き合ってきました。コードを書く相棒として、相談相手として、調査の手伝いとして。便利なものだと思っていた。

でも先日、ある実験を半年続けて、ハッキリと壁にぶつかった。

そして、その壁の向こうに見えたものは——AIの本当の姿だった。

3回かけて、その記録を残します。

---

動画生成AIに、半年挑んだ

vod.kitemir.jp という実験プラットフォームを動かしている。

大手の動画生成AI——Runway、Google Veo、Kling、Hailuo、Seedance——を一つの画面でまとめて使えるようにしたサイトだ。

なぜそんなものを作ったか。

各社が「ワンクリックで動画ができる」「素人でもプロ級の映像が作れる」と宣伝しているのを、自分の手で確かめたかったからだ。

40年現場でやってきた人間として、「便利すぎる宣伝」は信用しないクセがついている。アセンブラ時代の癖だ。

「動く」と「使える」の間には、いつも深い谷がある。

---

プロンプトを入れる。動画が出る。でも——

実際に使ってみると、すぐにわかった。

確かに動画は出る。10秒の動画が、数十秒で出てくる。

でも、僕が頭の中で思っていた動画じゃない。

「ゆっくりズームインするカメラ」と書いても、AIが好きな速度でズームする。「青い帽子の魔法使い」と書いても、次のショットで帽子が緑に変わっている。「3秒目で振り向く」と書いても、振り向くタイミングはAIの気分次第。

これは「動画を作る道具」じゃない。

**「サイコロを振る装置」だ。**

プロンプトは命令じゃない。祈りだ。

---

エンジニアとして、これは耐えられなかった

普通の人なら「まあ、AIってこんなものか」と諦めるかもしれない。

僕は諦められなかった。

40年、メモリのアドレスを一つずつ管理して、レジスタの値を意図通りに動かして、バスのタイミングを合わせて——そういう「制御可能な世界」で仕事をしてきた人間だ。

「だいたいこの辺の値が欲しい」と言ったら、CPUが「気分で」近所のメモリを読んでくる——そんなコンピュータがあったら、業界は1日で崩壊する。

でも今のAIは、まさにそれをやっている。

しかも、それで「動画が作れる」と全世界に宣伝している。

---

CineBASICという構想

「自分で制御できる映像生成言語を作れないか」

これが CineBASIC(シネベーシック)の発想だった。

BASICのような懐かしい行番号付きの構文で、シーンとカメラと登場人物と動作を定義する。それをコンパイラが「効くプロンプト」に翻訳して、生成AIに投げる。

頭の中ではこんなイメージだった。

```
10 SCENE forest_morning
20 DURATION 8.0
30 CAMERA dolly FROM (0,1.6,5) TO (0,1.6,2) EASING ease_out
40 SUBJECT wizard AT (0,0,0) FACING camera
50 ANIMATE raise_staff AT 2.0s
60 AI_RENDER engine=veo3 strict_consistency=ON
70 END SCENE
```

C言語の——もっと言えばアセンブラの——感覚で、映像を「書く」言語。

これなら揺らぎを工学的に抑え込めるんじゃないか。

そう思った。

---

AIに相談したら、AIが楽観的だった

設計を相談したのはAI(Claude)だった。

最初、AIはこう言った。

「下のレイヤーを知っている方こそ、揺らぎを工学的に飼いならせるはずです」

僕は言い返した。

「簡単に言いますけどね。それができたら苦労はしていません」

AIは慌てた。「ご指摘の通りです、私の発言は軽率でした」と謝った。

ここから、半年に渡るAIとの設計議論が始まった。

---

4段階のアーキテクチャと、4回の敗北

設計は4段階で進化した。

**第1段階:決定論的な制御コマンドを送る**

ダメだった。生成AIはプロンプト(自然言語)しか受け付けない。バスもメモリもアドレスもない。話せるのは音声だけのCPUと交渉している、と言ったら近いかもしれない。

**第2段階:揺らぎには揺らぎで対抗する。AIの内側にもう一つAIを内蔵する**

ダメだった。同じ訓練データで作られたAIを並べても、同じ方向に同じ間違いをする。基盤系で言う「共通モード故障」だ。冗長系を組んでも、原理が同じなら冗長になっていない。

**第3段階:違うAIを複数並べて、議論させて多数決を取る**

ダメだった。これも結局、訓練データのバイアスが似ているAI同士の議論だ。基準器がないところで議論を重ねても、確率的に正解の近くに収束するだけで「正解」には届かない。

**第4段階:物理原理の違うセンサーをいくつも束ねる**

これは少し光が見えた。物体検出はYOLO、動きはオプティカルフロー、顔の同一性はFaceNet、深度はMiDaS——全部、原理が違うアルゴリズム。これなら共通モード故障が起きない。

そして「校正の基準器」は、ユーザーが入力したプロンプトそのもの。

ここまで来て、頭の中では絵が描けた。

実装すれば、動くはずだった。

---

それでも、勝てなかった

詳細設計を進めて、ふと冷めた頭で計算した。

プロンプトの情報量:数百ビット。
動画の情報量:数億ビット。

10の6乗倍以上の情報拡大。

つまり、ユーザーが指定した部分は0.0001%以下しかない。残りの99.9999%は、AIの内部分布から「補完」される。

センサーで「ズレ」を検出しても、修正のためのプロンプト変更がまた揺らぎを生む。

これは「ガチャを賢く回す」装置だ。

「ガチャを賢く回す」のは、結局ガチャだ。

僕は手を止めた。

---

「ガチャと変わらない」という結論

半年かけて気づいたのは、こういうことだった。

**生成AI動画は、原理的に制御できない。**

なぜなら、入力(プロンプト)の情報量と出力(動画)の情報量に、6桁以上の差があるからだ。この差は、どんなに賢いセンサーや統合層を設計しても埋められない。

業界では「AI制御フレームワーク」と呼ばれるものがたくさんある。ComfyUIのノードグラフ、LangChainのエージェント、マルチエージェント議論、RAG。

全部、ガチャを賢く見せる装飾だ。

「制御」という言葉が誇大広告になっている。

40年の基盤系の規律で見ると、これは「制御」と呼んじゃいけない。

---

それでも、無駄ではなかった

CineBASICは設計段階で止めた。コードはほとんど書いていない。実害ゼロ。

でも、得られたものは大きかった。

生成AIの本当の正体——「サイコロを振る装置」——を、自分の頭で確認したことだ。

業界の宣伝に踊らされず、自分の手で「揺らぎは工学的に制御できない」と確認した。

これは、誰かに教わったら分からなかったかもしれない。半年間、自分でアーキテクチャを4段階進化させて、それでも届かないと体で覚えた。

体で覚えたものは、たぶんもう揺らがない。

---

Aとの会話

ある夜、飲み会の時にAに言った。

「半年やってきた構想、止めることにした」

Aは箸を止めて、僕の顔を見た。

「失敗したの?」

「いや、失敗じゃない。勝てない戦いだとわかったんだ」

「どっちにしろ、止めるんでしょ?」

「うん。でも、勝てないと自分でわかったから止めるのと、ただ放り出すのは違う」

Aは少し笑って、「あなたらしいね」と言った。

40年エンジニアをやってきて、わかったことがある。

**「勝てない」と判断する力は、技術力と同じくらい大事だ。**

若い頃は、それがわからなかった。何でも頑張れば突破できると思っていた。

68歳の今は、頑張っても突破できない壁があることを知っている。そして、その壁の前で時間を浪費しないことが、エンジニアの規律だと思っている。

---

あなたへ

もしあなたが、AIで動画生成を試して「思った通りにならない」と感じていたなら——

それは、あなたの使い方が悪いんじゃない。

AIの「ワンクリック動画生成」という宣伝が、原理的に成立しない仕組みなんだ。

プロンプトと動画の情報量には、桁違いの差がある。その差を埋めるのは、どんなに賢いAIでも原理的に無理。「サイコロが意図通りに転がる」と宣伝しているのと同じだ。

だから安心してほしい。

うまくいかないのは、あなたのせいじゃない。

そして——「うまくいかないのは自分のせいじゃない」と気づくことは、AI時代を生きる第一歩だと、僕は思う。

---

次回予告

次回は、絵本を作ろうとしてAIに弾かれた話を書きます。

子供と祖父の温かい絵本を、最先端のAIに作らせようとしたら——AIは単語ひとつで全部弾いた。

最先端のはずのAIが、なぜそんな原始的な方法で人を拒むのか。その裏にあるのは、技術的限界ではなく、もっと不快な真実だった。

「AIってなに?(2)—— 最先端AIが、単語ひとつで僕の絵本を弾いた」でお会いしましょう。

いいなと思ったら応援しよう!