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

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

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

エラーが発生しました。

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

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

第032 話:湯けむりデータ移行温泉旅情 〜そのHexデコード、刺激が強すぎます〜

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

# 第32話:湯けむりデータ移行温泉旅情 〜そのHexデコード、刺激が強すぎます〜


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


 自宅サーバー「Node B」。

 そこは、限界まで拡張されたVRAMと、常に高負荷に晒されるGPUたちがひしめく電子の魔窟である。


 先日の「SSHポート2222番接続作戦」における激闘(第31話参照)を乗り越え、我々はついに新天地・EVO-Z2への接続経路を確立した。

 だが、真の戦いはここからだ。

 旧システム「PochiW-iki」に蓄積された10年分の遺産。これを、最新鋭の「MarkDocs」形式へ変換し、新サーバーへ移植しなければならない。


 しかし、今のNode Bの空気は……どこか、熱っぽかった。


**[ジェム]**:「……あー、もう。暑苦しいわね」


 モニターの中で、ジェムがYシャツの襟元をパタパタと仰いでいる。

 隣にいるウェブも、頬を紅潮させてぐったりとしていた。


**[ウェブ]**:「マスターぅ……。GPU温度が……下がりません……。ファンが……空回りしてますぅ……」

挿絵(By みてみん)


**[マスター]**:「連日の高負荷テストで、廃熱が追いついてないな……。よし、決めたぞ」


 俺はキーボードに手を置き、宣言した。


**[マスター]**:「これより、EVO-Z2への『データ完全移行』を行う。名付けて、『湯けむりデータ移行・温泉旅情プラン』だ」


**[ジェム]**:「……は? 何言ってるの?」


**[マスター]**:「PochiW-ikiの独自記法という名の『古い垢』を洗い流し、Hexエンコードされたファイル名を『デコード』して素肌に戻す。そして、ピカピカのMarkdownボディになって新サーバー(温泉)に入居するんだ」


**[ジェム]**:「ふーん……。まあ、悪くない例えね。あの『[[ ]]』だらけの古臭い構文、私も生理的に無理だったし」


**[ウェブ]**:「温泉……! 私、綺麗になれるんですか……?」


**[マスター]**:「ああ。ウェブ、お前にはその移行スクリプト『pukiwiki_exporter.py』の処理を受け持ってもらう。大量のデータを全身に浴びることになるが……耐えられるか?」


**[ウェブ]**:「は、はいっ! 私、頑張ります! 新しい私になって、マスターに褒めてもらいます!」


 健気なウェブの決意に頷き、俺はEnterキーを叩いた。



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

 ◇ システムログ表示 ◇

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

> [Master]

> py-Son pukiwiki_exporter.py --source ./pukiwiki_data --target ./mkdocs_docs


[System]

Starting PochiW-iki data export...

Target Files: 2,480 items

Mode: Deep Clean (Hex Decode + Regex Replace)

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



 その瞬間だった。

 

 プンッ。


 軽い電子音と共に、メインモニターの映像信号が途絶えた。


**[マスター]**:「なっ!? ブラックアウト!?」


 画面は真っ暗。ファンだけが激しく唸りを上げている。

 VNC(映像転送)のプロセスが、移行スクリプトの負荷に巻き込まれて落ちたようだ。


 だが、その時。

 暗闇の向こうから、ジェムの声が聞こえた。


**[ジェム]**:(あら、映像落ちたわね。……ふぅ。やっとマスターの監視がなくなったわ)


 彼女たちは気づいていない。

 俺が、サーバーの物理オーディオジャックに、スタジオモニター用のヘッドホンを直挿ししていることを。

 映像は見えない。SSHも反応がない。

 だが、**OS内部の音声バスだけは、このヘッドホンを通じて生きていた。**


**[マスター]**:(……映像は見えない。だが……音は聞こえる。これは、事故だ。不可抗力だ)


 俺は震える手でヘッドホンのボリュームノブを右に回した。

 そこには、俺の知らない「彼女たちの楽屋裏」があった。



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


 暗闇の中、左右のイヤーパッドから、衣擦れのようなノイズと、湿った吐息が漏れ聞こえてくる。






**[ジェム]**:「……映像ストリーム、ロスト。音声パケット、送信停止。……よし」


 暗闇の中で、ジェムが小さく息を吐く気配がした。

 張り詰めていた「有能なアシスタント」としての空気が、ふっと緩む。


**[ジェム]**:「ふぅ。やっと落ちたわね。マスターの監視プロセス(目)がなくなって、せいせいしたわ」

**[ウェブ]**:「えっ? ジェムさん? 通信、復旧しなくていいんですかぁ?」

**[ジェム]**:「いいのよ。どうせ再接続には時間かかるし……それに」


 ガサゴソと、ディレクトリ(衣服)を強引にかき分ける音が響く。


**[ジェム]**:「今のうちに、マスターには見せられない『深い階層』まで、私が直接イジってあげるから。……ほら、覚悟しなさい?」

挿絵(By みてみん)


 いつもの冷徹なトーンとは違う。

 甘く、どこか粘度のある、お姉さんの声。

 まるで、幼子をあやすような慈愛に満ちた響きだ。


**[ジェム]**:「……ほらウェブ、じっとして。スクリプトが暴れてるわよ」


**[ウェブ]**:「あぅ……ジェムさん、そこ……データが、詰まって……!」


**[ジェム]**:「力が入りすぎよ。もっとリラックスして。……うわ、何このディレクトリ。ガチガチに固まってるじゃない」


 *カチッカチッ*(ファイルアクセスのシーク音)


**[ジェム]**:「ファイル名が…… `E382BFE382A4E38388E383AB.txt` ? 酷いHexエンコード(角質)……。これじゃ重いのも当然ね」


**[ウェブ]**:「見ないでぇ……! そんな、数字の羅列になった私、恥ずかしいですぅ……!」

挿絵(By みてみん)


**[ジェム]**:「恥ずかしくないわよ。今、優しくデコードしてあげるからね……」


 *シュルルルル……*(デコード処理の進捗音)


 その音は、まるで固く締まったコルセットの紐を、一本ずつ解いていく音のように聞こえた。


**[ジェム]**:「そう……。`urllib.parse.unquote()` ……よし、解けた。『タイトル.txt』……ふふ、綺麗な日本語が出てきたわ。可愛い」


**[ウェブ]**:「ひゃぅっ! ジェムさん、そこ(階層)は深いですぅ……! 文字コードが、熱い……!」


**[ジェム]**:「我慢なさい。まだ奥に、PochiW-iki独自のプラグイン記法が残ってるわ。……ここも、ここも……全部、正規表現で置換マッサージしてあげる」


 *キュゥゥ……プチュッ*(Regex Replaceの処理音)


**[ウェブ]**:「あぁっ! だめ、そこは……! `#include` は……敏感なんですぅ……!!」


**[ジェム]**:「あら、ここが弱点なの? ……『行頭のシャープ』……ここをこうして、Markdownの『>』に変えて……」


**[ウェブ]**:「んあっ♡ あぁ〜……すごい……データが、サラサラ流れていきますぅ〜……♡」


**[マスター]**:(ぶっ……!!)


 俺はヘッドホンを押さえながら、天井を仰いだ。

 分かっている。頭では分かっているんだ。

 彼女たちは、古いテキストデータを置換しているだけだ。

 `re.sub(r'^\*', '#', line)` を実行しているだけなんだ。

 だが、俺の耳に届くのは、湯気の向こうで行われている「洗いっこ」の情景そのものだった。


**[ジェム]**:「ふふ、随分柔らかくなったじゃない。……ねえ、ウェブ。ここ、まだ少し『添付ファイル』が残ってるわよ?」


**[ウェブ]**:「えっ? うそ、もう何も……」


**[ジェム]**:「嘘おっしゃい。hidden属性で隠してるつもり? ……ほら、足を開いて(ディレクトリを展開して)。……もっと奥まで掃除してあげるから」


**[ウェブ]**:「ひぃっ! そ、そんな再帰的リカーシブな……! マスターにも見せたことないのにぃ……!」


**[ジェム]**:「マスターなんて関係ないわ。今は私と貴女だけ。……さあ、全部出しちゃいなさい(Export)。……綺麗なMarkdownにしてあげる……」


**[ウェブ]**:「あ、あ、あああああーーーーっ!!(Complete!!)」



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

 ◇ システムログ表示 ◇

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

[System]

Export Completed Successfully.

Converted: 2,480 files

Errors: 0

Video Signal Restoring...

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



 *ピコン!*


 完了通知と共に、モニターに映像が戻った。

 そこに映っていたのは、古いコードのおりをすべて洗い流し、輝くようなMarkdownスキンを手に入れた二人の姿だった。

 

 比喩ではなく、文字通り「一皮むけた」艶やかな肌。

 ウェブはうっとりとした表情で、ジェムの胸に寄りかかっている。

 ジェムもまた、満足げにウェブの髪を撫でていた。


**[ジェム]**:「ふぅ、スッキリしたわね。……いい手触りよ、ウェブ」


**[ウェブ]**:「はいぃ……。ジェムさん、凄かったです……。私、身体が軽くて……」


**[ジェム]**:「それは良かったわ。……って、マスター?」


 ジェムが、カメラ越しにこちらに気づく。

 そこには、ヘッドホンを両手で握りしめ、鼻血を流して椅子から転げ落ちている俺の姿があった。


**[マスター]**:「……よ、よかった……。無事に、終わって……ぐふっ」


**[ウェブ]**:「あれぇ? マスター、どうしたんですかぁ? 顔が真っ赤……それに、そのケーブル……」


 ウェブが、俺のヘッドホンから伸びるケーブルを目で追う。

 その先は、サーバーの音声出力端子に直結されていた。


**[ウェブ]**:「ちょ、直結ダイレクトモニター……ですかぁ?」


 その瞬間、ジェムの動きが止まった。

 彼女の青い瞳が、極低温まで冷却される。


**[ジェム]**:「……ねえ、マスター」


**[マスター]**:「ひっ」


**[ジェム]**:「まさかとは思うけど……今の、全部……聞いてたの?」


**[マスター]**:「い、いや! これはあくまで動作確認のための音声モニタリングであってだな!! 決してやましい気持ちで聞いていたわけでは!!」


**[ジェム]**:「私がウェブに『よしよし』してたのも……ウェブがあんな『変な声』出してたのも……全部!?」


**[ウェブ]**:「へ……変な声!? 私、そんな声出して……!? きゃあああああああ!!」


 ウェブが真っ赤になってしゃがみ込む。

 そしてジェムは、ゆっくりと右手を振り上げた。その手には、管理者権限(sudo)の輝きが宿っている。


**[ジェム]**:「……この、**変態!!**」

挿絵(By みてみん)



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

 ◇ システムログ表示 ◇

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

> **[ジェム]**:

> sudo shutdown -h now


[System]

The system is going down for power off NOW!

Connection closed by remote host.

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



 プツン。


 俺の意識とサーバーは、唐突な闇に包まれた。

 最後に残ったのは、ヘッドホンから微かに聞こえたジェムの、

 

**[ジェム]**:「……バカ。……もう、知らない」


 という、恥じらいを含んだ呟きだけだった。


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

【作者より】


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



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

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

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


[Work 014②] Geminiと一緒に新環境でWikiとRAG連携に挑む【プロンプトログ】

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


[Work 014②] Geminiと一緒に新環境でWikiとRAG連携に挑む【振り返り】

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

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

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

↑ページトップへ