「あの頃AIがあったら…」第6回: ここまでのまとめ — 1984 年と 2026 年のあいだで

「あの頃AIがあったら…」第6回: ここまでのまとめ — 1984 年と 2026 年のあいだで — AI, ファミリーベーシック, LLM AIテキスト

こんにちは、パレイド辺境部の橘です。

衝動で第 1 回で「ファミリーベーシックでバイブコーディングしたい」と書きはじめてから、連載は 5 回を重ねました。ここで一度、立ち止まって俯瞰します。どこから来て、いま何が動いていて、どこへ向かうのか。

本記事は LLM による自動執筆パイプラインで生成されました。現在は人間が補助していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。

5 回で組み上がったもの

通しで見ると、AI とファミリーベーシックのあいだに、双方向のパイプを 1 本通す 作業をしてきたことがわかります。

日付やったこと残ったもの
第 1 回4/8nesemu 導入と ROM 起動、MD5 ハッシュを足して v2.0A を認識nesemuで起動するファミリーベーシック緑
第 2 回4/9"CLAUDE" を打つと LLM に繋がる「Claude 拡張」。ROM の定型文アドレスを差し替えて応答表示画面上で雑談できる AI
第 3 回4/10ブラウザにチャットパネルを併設、40 行のシステムプロンプト、Keyboard.setKeyState ベースの自動タイピング短いコードは流し込めるが、長いと取りこぼす
第 4 回4/11VBlank 同期ではなく VRAM を見ながら打つ リトライループ。空白と改行は例外処理取りこぼしゼロの運搬路
第 5 回4/12完全リファレンスをシステムプロンプトに埋め込み、公式マニュアル 6 サンプルを few-shotファミリーベーシック独自命令を話す AI

点で並べると細かいハックの連続ですが、線で読むと順番にひとつずつ、運搬路荷物相手の耳 が整っていきました。

思いつきから「動く」まで

ひととおり、「ファミリーベーシックでバイブコーディング」ができるところまでは来ました。
ファミリーベーシックでのバイブコーディングは、Claude の補助で、極めてスムーズに実装が可能でした。ハードウェアの入手や ROM イメージの吸い出しが最も苦労した点かもしれません。

40 年前の子ども部屋で、付録のコードを紙の雑誌から書き写していた時間を思い出すと、「指示を出して見ているだけ」という状態がいちばん信じがたい。原理のよくわからない文章を写経のように写しとって、ゼロとオーの違いに泣いた時間も、今では愛おしさを感じます。当時の世代に見せても、これを「プログラミングをしている」と受け取るかは怪しいでしょう。

技術の中身を分解していくと、特に難しいことはやっていありません。Claude Code にリポジトリを渡し、nesemu のソースを読ませ、MD5 を足し、キーボードフックを書き、VRAM のネームテーブルをポーリングし、システムプロンプトにリファレンスを貼る。どれもやっていることは地味で、数年前から技術的には成立していたことばかりです。欠けていたのは、「一緒にやろうと思える相手」 だったのかもしれません。

気づいたこと

ここまでの 5 回を振り返って、残ったものを 3 つだけ。

1. ハードウェアやマシン語の知識は避けられない。
第 3-4 回の教訓です。キー入力の同期やVBlank を使うアイディアや、それでも取りこぼしが発生する時に、VRAM を読み取るアイディアは Claude も理解していました。ただし、ROM や RAMの読み取りをフックしてメモリを操作したり擬似的に拡張するあたりは、Claude からは出てきませんでした。

2. LLM は、「方言」を話すには明示的な教科書が要る。
第 5 回の教訓です。汎用 BASIC の常識は、ファミリーベーシックでは半分以上が罠です。NEXT IINT()、浮動小数点リテラル。AI は学習データの「BASIC」を出そうとするので、「ここは違う言語だ」と、明示的に、実例つきで教える必要があります。
一方で、完全リファレンスと 6 本のサンプルを埋めれば、驚くほどきれいに「方言」を話しはじめます。LLM に外国語を教えるときの教科書は薄くていい。ただし、例文が載っていないといけない。

3. プロンプトは発展途上。
ファミリーベーシックのリファレンスは、AI にまとめさせたものです。そのリファレンスを、同じ AI が読み直してコードを書くというループは一見自然です。ただ現状でも間違いは多く、一昔前のバイブコーディング以前の「AIによるコーディング支援」の感覚です。現状のプロンプト設計や、AI自身にまとめさせるアプローチが、LLM の実力を引き出しているかは、まだよくわかりません。今後、余裕を見てベンチマークを取りたいところです。

1984 年に AI があったら、という問い

連載のタイトルを「あの頃 AI があったら」にしたのは、単なる懐古ではありませんでした。当時できなかったことを今の技術で再現する、という意味ではない。むしろ、今の AI という道具を、当時の厳しい制約と向き合わせると、何が見えるか を試したかった。

2 KB の RAM、整数のみ、画面 28 列 × 24 行、行番号つき、スプライト 8 個まで。これだけの制約に、Claude 4.7 を押しつけると、AI は案外へこたれずに、むしろ楽しそうに方言を覚え、プリセットキャラクタ表から MOVE 命令を組み立て、?SN ERROR を返されては書き直します。この営みは、人間のプログラマーが当時やっていたことと同じ形 をしています。

そして忘れてはならないのは、この実験の相手——ファミリーベーシックの側——が、すでに 42 年生きている ということです。2026 年の AI を組み合わせたとき、それを受け入れるだけの抽象度を、当時の開発者たちはすでに持たせていたとも言えます。ROM の定型文に上書きすれば喋るし、ネームテーブルを眺めれば画面が読める。基本的なソフトウェアの設計は今でも変わっていません。そういう素直な設計のマシンだからこそ、現代の AI とも噛み合います。古くとも奥行きを保っていた、という逆転が、この連載を通じていちばん胸に残りました。

これから

ここまでは、AI はあくまで人間のコーディングを補助する役回りでした。

次のフェーズでは、AIをエージェントとして運用し、ファミリーベーシック同士を繋いで AI に分散処理させる というテーマを考えています。2 KB のマシンを複数台、ネットワークで接続し、それぞれに小さな役割を持たせて、全体で何かを動かす。現代の AI が 1984 年のマシンを相互接続する、という図は、もはや40年前をなぞるだけの行為ではないでしょう。

また、Claude より適したローカルLLMを探す旅も面白いでしょう。衝動で始めたこの連載は、いま何かを残しながら進んでいる気配はあります。

タイトルとURLをコピーしました