日本語 · English
AIにプログラムを書かせるための土台
人間がやるのは「やりたいこと」を自然言語でAIに伝えることだけ。
コードの読み書き・修正・テストはAIが担当する開発体系。
AIに任せて何かを作りたいけれど、毎回コードがバラバラになって続かない。 そんな状況を構造側から解決します。
複雑な状態の組み合わせバグを構造的に潰す仕組みが入っているので、 AIが書いたコードが「途中まで動いて崩壊する」状況になりにくくなっています。 ゲームのルール・業務ロジック・アプリのUI──「条件分岐が多い」ものに特に効きます。
人間が叩くコマンドはほぼありません。AIに喋るだけです。
このページ上でそのまま遊べます。別タブを開きたい場合は各タイトルからどうぞ。
ai-desk v2 で 1 セッションで作ったカードゲーム。constraintBlock(AI 全可能 play 評価)、Block.versions(undo)、マーカーゼロ、単一 HTML 1300 行、bug ゼロ。 ai-desk v2 の効果を 動くもの として実演する demo。
セル = Block として実装した表計算。数式参照 = Block.refs、編集履歴 = Block.versions、再計算 = Graph.impact()。循環参照は構造レベルで検出して拒否。
右パネルでセルの依存・被依存・全 version が見える。
ノード = Block、配線 = Block.refs。Const/Add/Sub/Mul/Div/Output を繋いで dataflow を組む。
サイクル検出は Graph.forwardClosure で構造レベル拒否(専用 validator なし、A8 の構造的 enforcement)。各ノードの編集履歴(move / edit / wire / unwire)が Block.versions に append-only。
カード = Block、カラム = Block(children がカード順序の REAL)。ドラッグでカード移動 = source / target 双方の column が children を更新する 2 commit。
各カードの編集履歴(create / move / edit-text / reorder)が Block.versions に append-only。インスペクタから過去 version への rollback() も 1 クリック。フラットデザイン。
↓ 以下は v1 時代のデモ集(demos-legacy-v1/ に隔離済み)。
新規コードは v2/ を参照してください。
クリックで色が伝播する。全部ひとつの色になったら勝ち。指でも遊べる。
カーソルで粒子を引き寄せたり弾いたり。指でも遊べる。
宇宙空間を猛スピードで進みながらリングをくぐる。ドラッグ or 矢印キーで操舵、左下レーダーで次のリングを確認。
セル + 数式パーサ + 依存グラフ + 再計算 + UI を 1ファイル 585行で完結。SUM / AVG / IF / 範囲指定 / 循環検出まで動く。
ビジュアルプログラミング。ノードをドラッグ、出力ポートから入力ポートに線を繋いで、Output に値が流れる。DAG 評価 + 循環検出 + パン + 削除まで 1ファイル 514行で完結。
列 / カード / ドラッグ&ドロップ (カードも列も並べ替え) / インライン編集 / Undo / 自動保存 — 1ファイル 554行で完結。
ベクター描画ツール。ツール選択 / 図形 / 選択&リサイズハンドル / レイヤー / プロパティパネル / Undo / PNG エクスポート — 1ファイルで完結。
Windows 10/11 を想定した手順。コマンドはすべて PowerShell で実行 (スタートメニュー → "PowerShell")。
Mac/Linux の場合は winget を brew / パッケージマネージャに、PowerShell の env 設定を ~/.zshrc 等の export に置き換えるだけ。
経験則だが、gemini-cli は WezTerm 上で最も安定して動く (出力崩れ・入力ズレが起きにくい)。理屈の説明はせず事実だけ。
node -v で確認。v20 未満なら更新を (gemini-cli が v20+ 必須)。gemini --version が通れば OK。AI_ONBOARDING.md を読んでから [作りたいもの] を作って上のデモ (Constraint Burst / Color Swarm / Space Race) はすべて、 依存ゼロのバニラ HTML + JS、1 ファイル完結で作られています。フレームワークもビルドもありません。
ai-desk の思想に沿った「重厚関数 + 1 ファイル + ゼロ依存」は、AI がファイル全体を一度にスポットライト内に収められるサイズ (デモ 1 本あたり 200–500 行程度) で書ける、という前提から来ています。
AIに「これを作って」と頼めば、同じ構成でゲーム・可視化・小ツールを次々と量産できます。ここで触ったデモがそのまま「あなたが頼める雛形」です。
12 スライドずつのプレゼン。HTML はブラウザでスライド再生 (← → / Space)、PDF は配布用。