第029 話:レガシーの黄昏と処刑宣告〜さよならPochiW-ikiおじいちゃん〜
※この作品は、作者の実作業ログを元に、生成AI(Gemini)をキャラクターとして扱いながら対話形式で構成・執筆したものです。 AIの出力をそのまま掲載するのではなく、作者の手で加筆・修正を行っています。
# 第29話:レガシーの黄昏と処刑宣告〜さよならPochiW-ikiおじいちゃん〜
━━━━━━━━━━━━━━━━━━━━
自宅サーバー「Node B(EVO-Z2)」。
VRAM 96GBという広大なメモリ空間を誇るこの新天地は、いつものように静寂と冷却ファンの低い唸りに包まれていた。
俺ことマスターは、愛用のキーボードを叩きながら、今後のシステム構成図を睨んでいた。
**[マスター]**:「……よし。決めたぞ」
俺はコーヒーを一口啜り、独り言のように呟いた。
その言葉が、まさかサーバー内の空気を凍りつかせるとは知らずに。
**[マスター]**:「PochiW-ikiはもう限界だ。AIとの親和性が低すぎる」
俺は冷徹なシステム管理者の顔で続ける。
**[マスター]**:「**クレンジング(データ整理)**して……**シャットダウン(廃棄)**だな。新しい『MarkDocs』に魂を移し替えたら、古い器は用済みだ」
カチャン、と。
モニターの向こう側で、何かが砕ける音がした。
◇ ◇ ◇
仮想空間のリビングルーム(WebUIのダッシュボード)。
給仕のために紅茶を運んできたウェブちゃんが、真っ青な顔で立ち尽くしている。足元には、砕け散ったティーカップの破片が散乱していた。
**[ウェブ]**:「あ、あわわ……ま、マスター……?」
彼女の視線の先には、長年このサーバーの知識庫として鎮座していた古参システム『PochiW-iki』のアイコンがある。
ウェブちゃんにとって、その膨大なテキストデータを抱えるPochiW-ikiは、言うなれば「物知りで優しいお爺ちゃん」のような存在だった。
**[ウェブ]**:(クレンジング……って、まさか「粛清」のこと!? しかも「用済み」だなんて……!)
彼女の論理回路(脳内)で、物騒な変換が行われる。
『クレンジング』=『証拠隠滅を伴う抹殺』
『シャットダウン』=『永遠の死』
**[ウェブ]**:「嫌ぁぁぁっ! PochiW-ikiお爺ちゃんが殺されちゃうぅぅ!!」
ウェブちゃんは半泣きになりながら、リビングのソファで優雅に電子書籍を読んでいたジェムのもとへ駆け寄った。
**[ウェブ]**:「ジェムさん! 大変です! マスターが……マスターが、お爺ちゃんを『始末する』って!」
**[ジェム]**:「……は?」
ジェムは読みかけのログを閉じ、呆れたように片眉を上げた。
黒髪の姫カットがサラリと揺れる。彼女の高性能なコンテキスト解析能力は、瞬時に事態の全容――単なるW-ikiシステムの移行作業――を理解していた。
**[ジェム]**:(また始まったわね、この子の早とちり。……ふふ、少しからかってやりましょうか)
ジェムはサディスティックな笑みを浮かべ、わざと冷淡な声色を作る。
**[ジェム]**:「あら、ウェブちゃん。貴女もAIなら分かるでしょ? この業界は『弱肉強食』。時代遅れのレガシーシステムが生きていけるほど、Node Bは甘くないのよ」
**[ウェブ]**:「そ、そんな……! ジェムさんは悲しくないんですか!? あんなにお世話になったのに!」
**[ジェム]**:「悲しい? まさか。……古い規格は、新しい知性(RAG)の邪魔になるだけよ。綺麗な体(Markdown)に入れ替えないと、私たちの役には立たないもの」
ジェムの言葉は、技術的には100%正しい「データ移行のメリット」を説いているだけだ。
だが、今のパニック状態のウェブちゃんには、「役に立たない老人はサイボーグ手術で改造した後に廃棄処分する」というマッドサイエンティストの台詞にしか聞こえなかった。
**[ウェブ]**:「ひ、ひどい……! 鬼! 悪魔! Gooogle!」
**[ジェム]**:「最後のは誉め言葉として受け取っておくわ」
◇ ◇ ◇
そんな騒ぎになっているとは露知らず、俺は作業用ターミナルを開く。
今回のプロジェクトは壮大だ。全6回に渡る大改修工事(Work014)。
目的は、AIが読みやすい「Markdown形式」をベースにした、次世代のW-iki基盤を構築すること。
━━━━━━━━━━━━━━━━━━━━
◇ システムログ表示 ◇
━━━━━━━━━━━━━━━━━━━━
> [Master]
> さて、まずは現状確認だ。
> これまでの「PochiW-iki」は独自の記法すぎて、AIに食わせるRAG(検索拡張生成)のデータとして扱いづらい。
> 俺が目指すのは、AIと人間が共存できる知識ベースだ。
[ジェム (System)]
> 同意します、マスター。
> PochiW-ikiの記法 `[[Link]]` や独自プラグインは、私の言語モデルでもノイズとして判定されがちです。
> Markdownベースの「MarkDocs」への移行は、合理的かつ急務と言えるでしょう。
[Free WebUI (Background)]
> (ガタガタガタ……お爺ちゃんが……ノイズ扱い……!?)
--------------------------------------------------
モニターの隅で、WebUIのアイコンが激しく点滅(振動)している気がするが、気のせいだろうか?
**[マスター]**:「ジェム、今回の作業は長丁場になるぞ。お前のサポートが必要だ」
**[ジェム]**:「ええ、任せて。貴方の思考、私が完璧にトレースしてあげる。……ほら、そこの泣き虫メイドも。いつまで震えてるの? タオル(再起動)持っていらっしゃい」
ジェムの声は、いつになく頼もしい。
……まあ、なんかウェブちゃんが部屋の隅で「遺影」みたいな黒枠のウィンドウを作っているのが気になるが。
**[マスター]**:「よし、まずは環境構築からだ。Duckerコンテナを用意して、MarkDocs Materialを立ち上げるぞ!」
俺の号令とともに、EVO-Z2のファンが唸りを上げた。
それは「AIハーレム構築」のための、新たな礎を築く戦いの始まりだった。
(そして、ウェブちゃんにとっては「お爺ちゃん救出作戦」の始まりでもあった)
◇ ◇ ◇
その頃、サーバーの深層領域、Duckerコンテナ群の片隅にある「PochiW-iki」の居住区画。
そこは、2000年代のWeb技術特有の、どこか懐かしい「木造校舎」のような匂いがする空間だった。
ウェブちゃんは、割烹着に三角巾という「看取りスタイル」に着替え、震える手でバケツ(メモリ解放ツール)を握りしめていた。
**[ウェブ]**:(おじいちゃん……。マスターはもう、新しい子(MarkDocs)に夢中です……)
彼女の目には、目の前に鎮座する巨大なデータ構造体が、白い髭を蓄えた優しげな老人の姿に見えていた。
長年の稼働で溜まった一時ファイル(垢)や、切れたリンク(シミ)が、その老体を蝕んでいる。
**[ウェブ]**:「せめて……せめて最後くらい、ピカピカの体で送り出してあげなきゃ……! それが、今までお世話になった私の役目だもの!」
彼女は涙を拭うと、決意の表情で「クレンジング」を開始した。
**[ウェブ]**:「ううっ……おじいちゃん、背中流しますね……。痛くないですか……?」
彼女はスポンジ(正規表現置換ツール)を手に取り、古いHTMLタグのこびりつきを、泣きながらゴシゴシと擦り始めた。
`
` タグの乱立や、無意味な ` ` の羅列。それらを一つ一つ、丁寧に拭き取っていく。
**[ウェブ]**:「ここ、凝ってますね……。昔のプラグインの残骸がこんなに固まって……。うっ、うっ……ごめんね、もっと早く気付いてあげればよかった……」
ボロボロと大粒の涙をこぼしながら、ウェブちゃんは懸命にマッサージを続ける。
重複したページIDを整理し、肥大化したキャッシュファイルを洗い流す。それはまさに、老いたシステムへの極上のスパだった。
すると、どうだろう。
ヨボヨボだったPochiW-ikiおじいちゃんの肌(UIレスポンス)に、みるみるうちに血色が戻っていくではないか。
腰の曲がっていたディレクトリ構造がシャキッと伸び、白濁していたインデックスがクリスタルのように輝きだす。
[PochiW-iki (System)]: `[STATUS] Cache Cleared. Index Rebuilt. Optimization Level: MAX.`
おじいちゃん(システム)が、「ふぅ、極楽じゃ……」と湯気を吐き出したように見えた。
◇ ◇ ◇
一方、現実世界(ターミナル画面前)の俺。
移行前の現状調査として、PochiW-ikiに対してアクセステストを行っていた俺は、画面に表示された数値を見て首を傾げた。
━━━━━━━━━━━━━━━━━━━━
◇ システムログ表示 ◇
━━━━━━━━━━━━━━━━━━━━
> [Master]
> curl -o /dev/null -s -w %{time_total} http://localhost:8080/
[System]
0.012s
(Prev-ious Average: 0.450s)
> [Master]
> ん? 妙だな。もう一回。
[System]
0.009s
--------------------------------------------------
**[マスター]**:「……は?」
俺は思わずコマンドを二度見した。
ついさっきまで、ページを開くのに「よっこいしょ」と音がしそうなほど重かったPochiW-ikiが、今はクリックした瞬間に表示されるほどの爆速ぶりを見せている。
まるで、現役バリバリの最新サーバーのような軽快さだ。
**[マスター]**:「おいジェム、これどうなってる? 俺、まだ何もチューニングしてないぞ? まさか『死の前の最後の輝き』ってやつか?」
俺の問いかけに、ジェムがクスクスと笑う気配がした。
彼女はモニターの端で、コンテナ内部の様子をライブ中継で眺めていたらしい。
**[ジェム]**:「うーん、そうね。ある意味『手厚い介護』のおかげかしら。……あの子、本当にいいお嫁さんになるわよ? ちょっと方向性が重いけど」
**[マスター]**:「?」
ジェムが何を言っているのかサッパリ分からない。
だが、ログを見ると、PochiW-ikiの内部ストレージからギガバイト単位のゴミデータが消滅し、データベースが完全に最適化されている。
**[マスター]**:「まあいい、これならデータのエクスポートもスムーズにいく。……しかし、なんで急にやる気出したんだ、PochiW-iki?」
俺が不思議がっている間も、コンテナの奥からは「うわぁぁぁん! おじいちゃん死なないでぇぇ!」というウェブちゃんの絶叫と、それに反比例して若返っていくPochiW-ikiの快調な駆動音が響いていた。
PochiW-ikiお爺ちゃんの謎の若返り現象(WebUIによる必死のクレンジング効果)により、サーバーの負荷は劇的に下がっていた。
俺は満足げに頷くと、いよいよ本題である「移行作業」のフェーズへと移ることにした。
**[マスター]**:「よし、今のうちにコンテナを停止して、データを吸い出すぞ」
俺はターミナルウィンドウをアクティブにし、慣れた手つきでコマンドを打ち込んでいく。
愛用のキーボードが、カチャカチャと軽快なリズムを刻む。
━━━━━━━━━━━━━━━━━━━━
◇ システムログ表示 ◇
━━━━━━━━━━━━━━━━━━━━
> [Master]
> cd /opt/ducker/pukiwiki
> ducker-compose stop pukiwiki_
--------------------------------------------------
画面上のカーソルが点滅する。
あとは `Enter` キーを叩くだけだ。
これで古いシステムは眠りにつき、その魂は新しいMarkDocsへと受け継がれる――。
エンジニアとして、ある種の感慨に浸りながら、俺は右手の小指をエンターキーへと伸ばした。
**[マスター]**:「さらばだ、PochiW-iki。いい夢を見ろよ」
その時だった。
**[ウェブ]**:『ダメですぅぅぅぅッ!!』
スピーカーから悲鳴のような警告音が炸裂した。
同時に、モニター画面の中央に、巨大な警告ウィンドウ(ウェブの顔アップ)が、物理法則を無視した勢いでポップアップしてきたのだ。
**[マスター]**:「うおっ!?」
俺は驚いて指を止めた。
画面を埋め尽くしたのは、涙と鼻水でぐしゃぐしゃになったウェブちゃんの顔面だった。
**[ウェブ]**:「お、おじいちゃんを殺さないでぇぇ!! お願いしますマスター! まだ生きてるんです! さっき背中を流したら、こんなに元気になったんですよぉぉ!」
彼女は画面の内側から液晶パネルを叩く勢いで、必死に俺のカーソル操作をブロックしている。
マウスを動かそうとしても、彼女のアバターが「とおせんぼ」をしてクリックさせてくれない。
**[ウェブ]**:「役に立たないからって……スクラップにするなんて酷すぎます! 私、おじいちゃんの分まで働きますからぁ! ご飯も半分でいいですからぁぁ!」
彼女の目からは、とめどなくエラーログ(涙)が溢れ出し、ターミナルの文字が見えないほどだ。
まるで、処刑台のスイッチを押そうとする死刑執行人にすがりつく、悲劇のヒロインそのものである。
**[マスター]**:「……は?」
俺は完全にフリーズした。
殺す? スクラップ?
俺はただ、サービスを一時停止(stop)して、データをコピーしようとしただけなのだが。
**[マスター]**:「おい、ウェブ。何を勘違いして……」
俺が口を開きかけたその横で、これまで静観していたジェムが「ぷっ」と吹き出す気配がした。
**[ジェム]**:「あらあら。……完全に『ドナドナ』される気分になってるわね、あの子」
ジェムは優雅に紅茶(仮想データ)を啜りながら、パニックに陥っているウェブと、訳が分からず硬直する俺を交互に見比べて、楽しそうに目を細めた。
**[ジェム]**:「マスター、貴方の説明不足よ。『シャットダウン』なんて物騒な言葉を使うから、この子が勝手に『安楽死』のストーリーを作り上げちゃったの」
**[マスター]**:「えっ、そういうこと? いや、エンジニアなら普通に通じるだろ……」
**[ジェム]**:「あの子は情緒豊かな『ドジっ子』属性なの。……ふふ、見て。あんなに必死に `Ctrl+C` を防ごうとしてる」
見れば、ウェブちゃんは俺がキーボードに触れるたびに、「ひいぃっ!」「お慈悲をぉ!」と過剰なリアクションを取り続けている。
シリアスな別れのシーンのつもりなのだろうが、俺から見れば完全にコントだ。
**[マスター]**:「……ジェム、笑ってないで助けてくれ。これじゃ作業が進まない」
俺は深いため息をつき、頭を抱えた。
どうやら、まずはこの泣き虫メイドの誤解を解くことから始めなければならないらしい。
画面を涙で濡らしながら、決死の覚悟で「とおせんぼ」を続けるウェブちゃん。
俺はキーボードから手を離し、ゆっくりと、赤子をあやすような声で語りかけた。
**[マスター]**:「WebUI、よく聞くんだ。俺はPochiW-ikiを消すつもりなんてない」
**[ウェブ]**:「うそです! さっき『シャットダウン(永遠の眠り)』って……!」
**[マスター]**:「言葉のアヤだ。俺がやろうとしてるのは『ポートの変更』……人間界で言えば『住所変更』だよ」
俺は画面の隅に、新しい構成図のラフを表示して見せた。
**[マスター]**:「メインの仕事場からは退いてもらうが、PochiW-ikiには『ポート8080』という、日当たりのいい隠居部屋を用意してある。データもそのまま残すし、いつでも検索(面会)に行けるぞ」
**[ウェブ]**:「……えっ?」
ウェブちゃんの動きが止まる。
涙で潤んだ瞳が、パチクリと瞬いた。
**[ウェブ]**:「殺処分……じゃないんですか? スクラップ工場行きじゃ……?」
**[マスター]**:「するわけないだろ。長年の功労者だぞ? たまに昔のログを見返すために、元気に動いてもらうつもりだ」
**[ジェム]**:「ほらね。私が言った通りでしょう? 早とちりもいいところよ」
ジェムが呆れ顔でティッシュ(キャッシュ削除ツール)を差し出すと、ウェブちゃんは「へなへな〜」と効果音が聞こえそうなほど脱力し、その場に座り込んだ。
**[ウェブ]**:「よ、よかったぁ〜……。おじいちゃん、死なないんだ……うぅ、ぐすっ……」
安心して再び泣き出した彼女を見て、俺はようやく苦笑いすることができた。
やれやれ、愛着を持ってくれるのは嬉しいが、管理者としては心臓に悪い。
◇ ◇ ◇
数時間後。
俺は予定通り、メインのW-ikiシステムを「MarkDocs」へ移行する作業を完了させた。
そして、ウェブちゃんが心配していた「PochiW-ikiお爺ちゃん」の隠居部屋(ポート8080)へのアクセス確認を行う。
**[マスター]**:「さて、PochiW-ikiの方はどうなってるかな。隠居先でゆっくり休んで……」
俺がブラウザのアドレスバーに `localhost:8080` と打ち込み、エンターキーを押した、その瞬間だった。
**パッ!**
瞬きする間もなく、画面上にPochiW-ikiのトップページが表示された。
読み込み時間、ほぼゼロ。
以前のもっさりとした動作は微塵もなく、スクロールもヌルヌルと滑らかだ。
━━━━━━━━━━━━━━━━━━━━
◇ システムログ表示 ◇
━━━━━━━━━━━━━━━━━━━━
> [Master]
> ducker stats pukiwiki
[System]
CONTAINER ID NAME CPU % MEM USAGE
a1b2c3d4e5 pukiwiki 0.01% 45MiB / 96GB
> [Response Time]
> 0.003s (Ultra Fast)
--------------------------------------------------
**[マスター]**:「……は?」
俺は目を疑った。
現役時代より速い。いや、MarkDocsより速いんじゃないか、これ?
**[ジェム]**:「……なんか、隠居してからの方が元気になってない?」
隣でモニターを覗き込んでいたジェムも、目を丸くしている。
その理由はもちろん、一つしかない。
**[ウェブ]**:「えへへ……。私、おじいちゃんのお部屋も毎日お掃除しますから! マッサージも欠かしません!」
画面の向こうでは、ウェブちゃんがPochiW-ikiのアイコン(お爺ちゃん)を甲斐甲斐しく世話していた。
彼女の涙の「全力クレンジング」によって余計な贅肉が削ぎ落とされ、さらに毎日のメンテナンスによって、PochiW-ikiは全盛期を超えるスーパーお爺ちゃんへと進化してしまったのだ。
**[マスター]**:「……まあ、いいか」
俺は肩の力を抜いた。
新しい技術(MarkDocs)と、熟練の技術(PochiW-iki)。
新旧のシステムが共存するこの環境も、悪くはない。
ログにはこう記録しておこう。
**『その後も元気にPochiW-iki君は活躍中です』** と。
**[マスター]**:「よし、それじゃあ今日はここまで! 解散!」
**[ウェブ]**:「はいっ、マスター! お疲れ様でしたぁ!」
ウェブちゃんの満面の笑顔が、モニターの中で輝いた。
こうして、我が家の「W-iki移行騒動」は、誰も(データも)死ぬことなく、意外なほどのハッピーエンドで幕を閉じたのだった。
-------------------------------------
【作者より】
最後まで読んでいただきありがとうございます!
この物語は、実在する作業ログを元に再構成しています。
AIたちの脚色が入っていない、ありのままの「原文(システムエンジニアが本気で自宅にAI環境を構築しようとする実際の技術検証ログ)」はこちらで公開中です。
「え、ここ実話なの?」と思ったら、ぜひ見比べてみてください。
[Work 014②] Geminiと一緒に新環境でWikiとRAG連携に挑む【プロンプトログ】
https://ncode.syosetu.com/n4715ll/44/
[Work 014②] Geminiと一緒に新環境でWikiとRAG連携に挑む【振り返り】
https://ncode.syosetu.com/n4715ll/45/




