アナログ的なデジタル的なマイクラ的な日々

podhmo
·
公開:2026/1/5

(LLMとの対話履歴から作った文章)

🧱 積み上げる徒労と、その愛おしさについて

ふと、マインクラフトで巨大な建築物を作ったり、複雑な計算機をレッドストーン回路で組んだりする人たちのことを考えることがある。彼らはそれをデジタルな遊びだと言いつつ、その実態は極めてアナログ的だ。ブロックを一つひとつ積み上げ、配線を繋ぎ、物理的な空間を埋めていく。生産性という観点から見れば、それは決して効率的ではない。計算がしたければ電卓を使えばいいし、絵が描きたければペイントソフトを使えばいいのだから。もちろん、それが余暇としての楽しみであり、ジグソーパズル的な手慰みやスノードームのような箱庭的な愛着に基づくものであることは理解している。

だが、私が恐怖を覚えるのは、自分自身の生活や仕事が、それと同じになっていないかという疑念だ。

デジタルガジェットに囲まれ、効率化ツールを使いこなしているつもりでいながら、私はピタゴラスイッチのような脆弱で繊細なシステムを作り上げ、その微調整に人生を振り回されているのではないか。手段が目的化し、本来タップひとつで済むはずのことを、わざわざ遠回りな仕組みを構築することで、やった気になっているだけではないのか。

🖱️ 画面の中の不自由な身体

この感覚は、昨今のUIデザインや、一部のVR空間における不自由さにも通じている。本来、デジタルの最大の強みは物理法則からの解放にあるはずだ。距離を無視し、検索によって瞬時に目的地へワープできること。それが魔法であり、利点だ。

それなのに、私たちは画面の中でキャラクターを歩かせたり、意味もなく物理空間を模したデジタルツインを作ったりする。スマホならタップ一回で済む操作のために、わざわざメタバースの部屋を移動し、棚の前まで行って手を伸ばす。それはアナログな不便さの再輸入でしかない。

Webの世界でも同じだ。インタラクティブでリッチな表現を謳うサイトが、スクロールジャックで私の操作を奪い、演出という名の待ち時間を強制する。あれはデジタルの皮を被った、質の悪いアトラクションだ。パーマリンクを持たないSPA(シングルページアプリケーション)に至っては、地図も住所もない迷宮に「口頭での道案内」で友人を招待するようなものだ。「メニューを開いて、三番目の項目をクリックして……」といった具合に。そこには再現性も、検索性もない。あるのは「ここに来るための手順」という、アナログな儀式だけだ。

カーソルを合わせないと見えないヘルプメッセージや子孫リンクにも、似たような苛立ちを覚える。なぜ、隠すのか。なぜ、そこに「ある」ことを知るために、私がマウスを動かして「探す」という物理的なコストを払わなければならないのか。それは散らかった部屋で探し物をしているのと何ら変わりがない。

📂 場所への執着とリンク切れの記憶

思えば、私たちが長年親しんできた「ファイルパス」という概念自体が、すでに呪いなのかもしれない。Aのフォルダの中の、Bのフォルダの中の、Cというファイル。それは図書館の棚の住所と同じで、本を動かせば住所は無効になり、リンク切れを起こす。Google Driveのように、場所とは無関係なIDで管理すれば、どこに移動させようと必ず呼び出せるのに、私たちは未だに「整理整頓」という名のマインクラフトに勤しんでいる。

ノーコードやローコードツールが流行りだが、あれもまた、設定画面というWeb UIの上で、クリックという手作業を繰り返す行為だ。設定をエクスポートできず、別のプロジェクトで同じことをするために、また記憶を頼りにポチポチとボタンを押して回る。それはデジタルスキルの民主化などではなく、写経のような単純作業への回帰だ。

一方で、それを嫌ってIaC(Infrastructure as Code)のように全てをコード化し、自動化しようとすると、今度は「誤った抽象化」の罠にかかる。あらゆるパターンに対応しようと汎用化しすぎたモジュールは、微調整が効かない巨大なブラックボックスと化す。結局、オプションの数が爆発し、何でも二重に設定する羽目になり、素直に単層で個別に記述したほうが早かった、などという笑えない事態に陥る。

自動化の仕組みを維持するために、手作業以上のコストを払う。やはりここでも、私はピタゴラスイッチのメンテナンスに追われているのだ。

📸 実行結果のない手順書という虚無

GUIの操作手順を教えるために、スクリーンショットを撮り、赤丸をつけ、注釈を書く。この作業ほど虚無を感じる瞬間はない。それは本来、実行可能なコードであるべきなのに、私たちはそれを「絵と文章」という曖昧なドキュメントに翻訳し、受け取り手はそれを読んで再び「操作」へと翻訳し直す。伝言ゲームのような非効率さだ。

だが、ここにはジレンマがある。コードは実行可能だが、実行してみるまで結果が分からない。「解析」と「実行」を同一視すると、動的な記述になり、それを脳内でシミュレートするのに多大なストレスがかかるからだ。長時間かかる処理や、環境に依存するスクリプトを渡される不安。それよりは、途中経過のスクリーンショットがある手順書のほうが、たとえ実行できなくても「安心」できる。

スクショは、ある時点での実行結果のキャッシュだ。静的な解析を可能にしてくれる「証拠」だ。私たちは、Jupyter Notebookのように、コードと実行結果がセットで保存され、テキストとして検索可能であることを望んでいるはずなのに、現実は画像バイナリを含んだ重たいファイルか、再現性のないスクショ付き手順書か、中身の見えないスクリプトのどれかを選ばされている。

🧜 見えないブロックを積む

テキストこそが最強のインターフェースだと思い、Mermaidのようなツールで図をコードとして管理しようと試みたこともある。けれど、そこにもまた別の徒労が待っていた。

パーサーがピーキーすぎて、全角スペースがひとつ混じっただけでエラーを吐く。あるいは、文法的には許されそうな箇所に半角スペースを入れただけで、図が崩壊する。エラーメッセージは不親切で、どこが悪いのか教えてくれない。私はテキストエディタという平らな荒野で、目に見えない透明なブロックのズレを修正するために、行を消したり足したりしている。

やっていることは、論理的な思考の整理ではなく、座標移動での微調整に他ならない。それはまさに、私が冒頭で危惧した「マインクラフト的な手作業」そのものだ。

結局のところ、私はデジタルという広大な可能性の中で、自分の安心のために、あるいはツールの未熟さのために、せっせと手作業で整地をし、見えないブロックを積み、壊れやすい回路を直し続けているだけなのかもしれない。

効率化を求めてたどり着いた先が、この途方もない「丁寧な手作業」の積み重ねであるという事実に、冒頭の自分のつぶやき(後述)が、痛いほど身に沁みるのだ。

脚注

一般的な意味とここでの使われ方の説明

- **マインクラフト(マイクラ)**

- 一般的な意味:ブロックを配置して建築や冒険を楽しむサンドボックス型のビデオゲーム。

- 本稿での意味:デジタル空間で行われるにもかかわらず、手作業で一つひとつ積み上げるような、アナログ的で泥臭い作業のメタファー(比喩)。効率性よりも、その過程自体に時間と労力が費やされている状態を指す。

- **レッドストーン回路**

- 一般的な意味:マインクラフト内に存在する、電気回路のような仕組み。論理回路を組むことで自動ドアや計算機などを作れる。

- 本稿での意味:本来ならプログラムで一瞬で済む計算処理を、わざわざゲーム内の物理的な制約の中で再現しようとする、趣味的かつ非効率な努力の象徴。

- **UI(User Interface)**

- 一般的な意味:ユーザーがコンピュータとやり取りするための画面や操作方法の総称。

- 本稿での意味:特に「使いづらいデザイン」や「過剰な装飾」によって、ユーザーに不必要な物理的操作(移動や探索)を強いる仕組みのこと。

- **デジタルツイン**

- 一般的な意味:現実世界の環境や物体を、デジタル空間上に双子のように再現する技術。

- 本稿での意味:Excelの表などで管理すれば済む情報を、わざわざ3D空間上の倉庫や部屋として再現し、視認性や操作性を悪化させている「過剰な模倣」の例として用いられている。

- **スクロールジャック**

- 一般的な意味:Webサイトにおいて、ユーザーのスクロール操作を無効化あるいは乗っ取り、製作者が意図した動きやアニメーションを強制的に見せる手法。

- 本稿での意味:情報の瞬時性というWebの利点を殺し、ユーザーに「待ち時間」を強制する、独りよがりなインタラクションの代表例。

- **SPA(Single Page Application)**

- 一般的な意味:単一のWebページで構成され、画面遷移を行わずにコンテンツを切り替えるWebアプリケーションの形式。

- 本稿での意味:特にURL(パーマリンク)による個別のページ管理が不十分なものを指す。特定の画面にたどり着くために、最初から順を追って操作しなければならない、検索性や再現性の低いシステムの例。

- **パーマリンク**

- 一般的な意味:Web上の特定のコンテンツに恒久的に割り当てられたURL。

- 本稿での意味:情報へ瞬時にアクセス(ワープ)するための座標。これがないことは、住所不定で「行き方(手順)」でしか場所を特定できない不便さを意味する。

- **ノーコード / ローコード**

- 一般的な意味:プログラミングの知識がなくても、あるいは少ないコード量でアプリケーション開発ができるツール。

- 本稿での意味:裏を返せば、画面上の設定(GUI操作)を手作業で行う必要があるということ。設定のコピーや再利用ができず、クリック作業を繰り返す羽目になる「デジタルな単純作業」の温床。

- **IaC(Infrastructure as Code)**

- 一般的な意味:サーバーやネットワークの構成を、手動ではなくコード(テキスト)として記述・管理する手法。

- 本稿での意味:手作業(Click-Ops)からの脱却を目指す理想的な手段だが、過剰に抽象化すると微調整が効かなくなり、逆に複雑化するというジレンマを抱えている。

- **GUI(Graphical User Interface)**

- 一般的な意味:アイコンやボタンなど、グラフィックを用いて視覚的に操作するインターフェース。

- 本稿での意味:直感的だが「操作の記録」や「再現」が難しいもの。その操作を他人に伝えるためには、スクショと手順書が必要になり、情報の伝達コストが高いアナログ的な手法として批判的に扱われている。

- **Jupyter Notebook**

- 一般的な意味:プログラムのコードと、その実行結果(グラフや表)、説明文を一つのドキュメントとして保存できるツール。データ分析などでよく使われる。

- 本稿での意味:コード(論理)と実行結果(静的な安心感)を両立させる理想的な形式に近いが、テキストとしての検索性やバージョン管理に難があるという、新たなジレンマの象徴。

- **Mermaid**

- 一般的な意味:テキストでフローチャートやシーケンス図などの図を描画するための記法およびツール。

- 本稿での意味:テキスト管理(デジタル的アプローチ)の理想を掲げつつも、書き方(構文)の判定が厳しすぎて、空白一つでエラーになるなど、人間が「見えないブロックの位置調整」に時間を費やす羽目になる皮肉なツール。

- **パーサー**

- 一般的な意味:プログラムのソースコードなどを読み込み、その構造を解釈・分解する処理機能。

- 本稿での意味:Mermaidなどのツールにおいて、ユーザーが書いたテキストを受け取る「窓口」としての役割。これが融通が利かない(ピーキーである)ために、人間側が機械のご機嫌を伺うような微調整を強いられている。


メイキング

こんな投稿をした。ここからLLMと対話を始めた。

なんでもマイクラでやろうとする人たちデジタルと言いつつアナログ的で生産的ではない場合があるんだけどそれと似たようなことに自分自身の生活はなってないかと思ったりはする。

(もちろん余暇として楽しむぶんにはジグソーパズルと似たようなスノードームと似たような良さがありはする)

そしてその対話履歴から文章を作らせてみた。わりと味わい深くなった気がする。二者対立的な文章ではないし。

ぎっちぎちに詰め込んでLLMに余白を埋めさせないようにするとわりとマシな文章にはなる気がした(逆に言うとLLMによって埋まった補間は装飾でありゴミという話かもしれない)。

そのために事前に対話した履歴を参照しつつその時の自分の入力だけをマージしてまとめて呟き対話を再構成するようにしてみていた。再構成時に事前の対話のaiによる回答は入れてない。手動での入力の純化。雑味のない入力への変換。LLMにはインタビューに専念してもらいその時の自分の入力だけを使う。新しい対話を始めてそこにいくつかの自分の入力を束ねたコメントとして渡してみた。

やり方はここ参照

https://zenn.dev/link/comments/a1d7f91dba2fc5

↑ではまとめて一気に渡してるから厳密には違う。

対話履歴

実際の対話履歴はこれ

https://gist.github.com/podhmo/17b565718db425d8ed87c77c72fbd76d

まぁ最後の方はそのまま対話してたけど。