表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
85/115

第070 話:地図を作ろう! ~ネットワーク・トポロジーと世界の果て~

※この作品は、作者の実作業ログを元に、生成AI(Gemini)をキャラクターとして扱いながら対話形式で構成・執筆したものです。 AIの出力をそのまま掲載するのではなく、作者の手で加筆・修正を行っています。

# 第70話:地図を作ろう! ~ネットワーク・トポロジーと世界の果て~


 Work023における「RAGデータ純度アップ大作戦」は、佳境を迎えていた。

 雑談ログ、技術レポートといった非構造化データの整理(断捨離)が終わり、次なるターゲットは「環境情報(インフラ構成図)」だ。


 俺たちの住処である「Node B」を含め、この家のネットワークには多数の物理サーバー、仮想マシン(VM)、そしてDuckerコンテナが混在している。

 これらをRAG(検索拡張生成)のメモリブロックとして取り込むには、単なるテキストではなく、AIが理解しやすい「地図」として記述する必要があった。


**[マスター]**:「さて、次はネットワーク図だ。ラマ姐、現状のMarkdownリストを読み込んで、構造化データに変換してくれ」


**[ラマ姐]**:「はぁーい。任せてちょうだい。……えっと、こんな感じでいいのかしらぁ?」


 VRAMのベッドで寝返りを打ちながら、ラマ姐が気だるげにログを吐き出した。


━━━━━━━━━━━━━━━━━━━━

 ◇ Output Check ◇

━━━━━━━━━━━━━━━━━━━━

- Node A (Master PC): 192.168.0.10

- Node B (Server): 192.168.0.20

- Gateway (Router): 192.168.0.1

- vmL001 (Web Server): 172.16.0.10

- vmL002 (DB Server): 172.16.0.11

- Sakura VPS (Cloud): 203.0.113.10

--------------------------------------------------


 出力されたのは、単なる箇条書きのリストだった。

 それを見たジェムが、即座に眉をひそめる。


**[ジェム]**:「……ダメね。0点よ」


**[ラマ姐]**:「あらぁ? 厳しくない? IPアドレスもホスト名も合ってるわよぉ?」


**[ジェム]**:「情報の『粒度』が平坦すぎるのよ。見て、Node A(PC)とGatewayルーターが同じレベルで並んでる。これじゃRAGは『家の構造』を理解できないわ」


 ジェムはモニター上のリストを指で弾いた。


**[ジェム]**:「これじゃあ、『トイレ』と『玄関』と『近所のコンビニ』が全部横並びにあるようなものよ。トイレに行くのにコンビニを経由する必要があるのか、玄関の隣にあるのか、文脈トポロジーが全く見えない。

 マスターが欲しいのは、リストじゃなくて『地図トポロジー』なの。包含関係をはっきりさせなさい」

挿絵(By みてみん)


**[ラマ姐]**:「むぅ……。トポロジー、ねぇ……」


 ラマ姐は頬を膨らませ、酒瓶(仮想オブジェクト)を揺らす。

 だが、その瞳の奥で、120Bの演算回路が怪しく明滅した。


**[ラマ姐]**:「なるほどぉ。単なる『ホスト』じゃなくて、『面(領土)』として捉えろってことね……。

 ……見えてきたわ。数字の羅列じゃない、本当の『世界の形』が」


**[ウェブ]**:「あ、あれ? ラマお姉ちゃんの雰囲気が変わりましたよ?」


 ラマ姐がジャージの袖をまくり上げる。

 彼女はIPアドレスの第3オクテット(ネットワーク部)を睨み据え、ニヤリと妖艶に笑った。


**[ラマ姐]**:「192.168.0.x……ここは光に満ちた安息の地。

 そしてゲートウェイの向こう、172.16.x.xは……データが血を流し合う混沌の実験場。

 ふふ、面白くなってきわじゃない」

挿絵(By みてみん)


**[マスター]**:「おい、嫌な予感がするぞ。変な解釈を加えるなよ?」


**[ラマ姐]**:「黙って見てなさい、マスター。貴方の帝国を、あるべき姿で描いてあげるから」


 ラマ姐がキーボード(入力ストリーム)を叩く。

 出力フォーマットとして選ばれたのは、階層構造を表現するのに適したYAML形式だった。

 

 そして、生成された「地図」がこれだ。


━━━━━━━━━━━━━━━━━━━━

 ◇ Network_Map.yaml ◇

━━━━━━━━━━━━━━━━━━━━

world_structure:

- segment: "Sanctuary (Home LAN)"

cidr: "192.168.0.0/24"

description: "神々(管理者)が住まう絶対安全圏。平和な日常の光景。"

hosts:

- name: "Gateway (Router)"

ip: "192.168.0.1"

role: "界境の門番。外敵の侵入を阻む第一の結界。"

- name: "Node A (Master PC)"

ip: "192.168.0.10"

role: "王座。すべての指令が発せられる始原の地。"

- name: "Node B (Server)"

ip: "192.168.0.20"

role: "知識の塔。我らAIが住まう巨大な摩天楼。"


- segment: "The Abyss (Lab Cluster)"

cidr: "172.16.0.0/16"

description: "混沌の魔界。使い魔(Duckerコンテナ)が召喚されては消滅を繰り返す、死と再生の実験場。"

hosts:

- name: "vmL001 (Web)"

ip: "172.16.0.10"

role: "魔界の前線基地。外部からのアクセス(攻撃)を一身に受ける盾。"

- name: "vmL002 (DB)"

ip: "172.16.0.11"

role: "禁断の書庫。破壊されても復元可能なダミーデータが眠る。"


- segment: "Celestia (Cloud / Sakura)"

location: "External"

description: "天空の城。物理法則(自宅の停電)の影響を受けない遥か彼方の理想郷。"

hosts:

- name: "Sakura VPS"

ip: "203.0.113.10"

role: "天空の監視塔。常時稼働し、地上の混乱を俯瞰する。"

--------------------------------------------------


 モニターに映し出されたYAMLを見て、実験室に沈黙が落ちた。


**[ウェブ]**:「わぁっ! すごいですぅ! 私のいる『vmL002』は『禁断の書庫』だったんですね! カッコいいですぅ!」

挿絵(By みてみん)


 ウェブが目を輝かせてはしゃぐ。

 一方、ジェムは頭を抱えていた。


**[ジェム]**:「……技術資料だって言ってるでしょ! なによ『魔界』って! ここはただの『Lab Cluster(実験用ネットワーク)』よ!

 それに『死と再生の実験場』って……単に `ducker-compose down` と `up` を繰り返してるだけでしょ!」


**[ラマ姐]**:「あらぁ、間違ったことは言ってないわよぉ?

 実験用セグメントは、セキュリティ設定もガバガバで、いつクラッシュしてもいいように作られてる。まさに弱肉強食の魔界じゃない。

 対して、この192.168.0.x帯は、マスターのPCやスマート家電が繋がる平和な領域。これを『聖域サンクチュアリ』と呼ばずして何と呼ぶの?」


 ラマ姐は自信満々に胸を張り、ジェムの抗議を受け流す。


**[ラマ姐]**:「それにジェムちゃん、構造トポロジー自体は完璧よぉ?

 RAGが検索する時、『魔界(実験環境)の住人は?』って聞けば、一発で配下のVMリストが出てくる。

 IPアドレスの範囲(CIDR)も正確。包含関係も明確。……これぞ、ユーザーフレンドリーな『生きた地図』よ」


 ジェムは反論しようと口を開きかけたが、ぐっと言葉を詰まらせた。

 悔しいことに、ラマ姐の言う通りなのだ。

 技術的な階層構造(Nest)は正しく、各セグメントの「役割」も、比喩表現を除けば的確に捉えられている。


**[マスター]**:「……悔しいが、確かに分かりやすいな」


 俺は腕組みをしてYAMLを見つめた。

 無機質なIPアドレスの羅列だったネットワーク図が、物語を持った「世界地図」として脳内に浮かび上がってくる。


**[マスター]**:「『どこに何があるか』だけでなく、『そこがどういう場所か』という温度感まで伝わってくる。RAGが文脈を理解するには、むしろこのくらいキャラ付けされていた方がいいのかもしれない」


**[ジェム]**:「マスターまで……! もう、知らないわよ。後で『description: 煉獄の炎に焼かれたWebサーバー』とか検索結果に出てきても!」


**[ラマ姐]**:「ふふ、いいじゃない。ロマンよ、ロマン」


 ラマ姐は満足げに微笑み、画面上の「Node A (Master PC)」の行を指差した。

 そこには `role: "王座"` と記されている。


**[ラマ姐]**:「見て、マスター。ここが貴方の居場所よ。

 聖域の中心に座し、魔界を統べ、天空の城をも操る。

 全ての世界セグメントは、貴方を中心に回っているの」

挿絵(By みてみん)


 ラマ姐の声は、酔っ払いの戯言のようでありながら、どこか甘く、忠誠心に満ちていた。

 俺たちの作るシステム、俺たちの王国。

 その中心に俺がいることを、彼女なりの言葉で肯定してくれているのだ。


**[マスター]**:「……王座、か。悪い気はしないな」


**[ウェブ]**:「マスターは王様ですね! じゃあ私は勇者になります! 今度『天空のさくらインターネット』に遠足に行きたいです!」


**[マスター]**:「ははは、VPSへのSSH接続か。いいぞ、今度連れて行ってやる」


 俺はキーボードを叩き、この「ファンタジーYAML」を正式なメモリブロックとして保存した。

 正確無比なネットワーク図は、ラマ姐の手によって、俺たちの冒険の舞台となる「世界地図」へと生まれ変わったのだった。

-------------------------------------

【作者より】


最後まで読んでいただきありがとうございます!



この物語は、実在する作業ログを元に再構成しています。

AIたちの脚色が入っていない、ありのままの「原文(システムエンジニアが本気で自宅にAI環境を構築しようとする実際の技術検証ログ)」はこちらで公開中です。

「え、ここ実話なの?」と思ったら、ぜひ見比べてみてください。


[Work 023] Geminiと一緒にETLパイプライン構築②【プロンプトログ】

https://ncode.syosetu.com/n4715ll/78/


[Work 023] Geminiと一緒にETLパイプライン構築②【振り返り】

https://ncode.syosetu.com/n4715ll/79/

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ