0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【妄想だけど本気】AIにLibreOfficeを操作させようとして「環境の深淵」を覗いた私が、Rust+Wasm+GoのMCPサーバーに辿り着くまでの話

0
Posted at

本稿は、まだ一行のコードも書いていない妄想段階のアーキテクチャである。しかし、私のこれまでのエンジニア人生(とコンパイラ作成の記憶)が、これが正解だと叫んでいる。

  1. 楽園の誘惑:Pythonという甘い罠

それは、ある晴れた日の午後だった。
「Cursor(AI)にPythonスクリプトを書かせて、UNO API経由でLibreOfficeを自動操作すれば、業務自動化なんて朝飯前じゃないか?」
私はそう確信していた。AIはスラスラと流麗なコードを吐き出す。
import uno, ctx = uno.getComponentContext()...。
「勝った。」私は勝利を確信し、実行ボタンを押した。

  1. 深淵からの囁き:ImportError と環境の壁

しかし、画面に映し出されたのは無慈悲なエラーの赤文字だった。
LibreOfficeのPython環境は特殊だ。OS標準のPythonとは絶縁され、パスは迷宮のように入り組み、バージョンが一つ違うだけで昨日の正解が今日のゴミになる。

Windows: C:\Program Files\LibreOffice\program\python.exe を使え。

Linux: /usr/lib/libreoffice/program/python だ、話を聞け。

AI: 「すみません、そのパスは見つかりませんでした。書き直しますね!」(そして無限ループへ)

その時、私は気づいた。AIにスクリプトを書かせるのは、「海図を持たずに嵐の海へ漕ぎ出す」ようなものだ。環境という名の荒波を、AIの推論だけで乗り越えるのは不可能だと。

  1. コンパイラ屋の血が騒ぐ:静的解析と動的実行の融合

「スクリプトがダメなら、基盤(ランタイム)を作ればいいじゃないか。」
かつて卒論でコンパイラを自作した時の記憶が、脳裏をよぎる。

AIに不安定なスクリプトを委ねるのではなく、AIには「標準化されたインターフェース(MCP)」だけを見せ、その裏側で「環境を検知し、最適なバイナリを調達し、安全に実行する」鉄壁の布陣を敷く。これこそが、フリーランスとして生き抜いてきた私の「生存戦略」だ。

  1. 閃きの芋づる:Rust + Wasm + Go という三位一体

アイデアは芋づる式に溢れ出した。

Go (The Scout): 起動速度とシングルバイナリの利点を活かし、現場の環境(OS、LibreOfficeのバージョン)を瞬時に偵察。最適な「作戦指示書(マニフェスト)」を書き出す。

Rust (The Engine): 堅牢なMCPサーバーとして君臨。Wasmランタイムを内蔵し、外部から降ってくるプラグインをミリ秒単位でロードする。

Wasm (The Universal Tool): 「一度書けばどこでも動く」魔法のプラグイン。環境ごとの差異は、このWasmが吸収する。

  1. 究極の妄想:AIは「デバッガ」へ

設計を練るうちに、さらに飛躍した。
「この基盤があれば、AIに 『描画直前で止めて、変数Xの中身を教えて!』 と命令できるんじゃないか?」

MCPをデバッグインターフェースとして使い、Wasmという「目」を通じてバイナリの内部をAIに覗かせる。それはもはや自動化ツールではない。AIがシステムの内部構造を理解し、自己修復すら可能にする「次世代のエンジニアリング・プラットフォーム」だ。

結びに代えて:Strategic Business Creatorの宣言

私はまだ、コードを一行も書いていない。
だが、頭の中にはすでに、北九州から世界へ、あるいはRaspberry Piから巨大なサーバーまでを繋ぐ、ポータブルな銀河系が広がっている。

「実装が楽しみだ」なんていう生温い言葉では足りない。
これは、AIとレガシーシステムが握手するための、新しい言語(プロトコル)を創る戦いなのだから。

(つづく:次回「Hello Worldから始まるWasmの鼓動」編)

著者あとがき

妄想100%で書き始めましたが、書いているうちに「これ、マジでいけるな」という確信に変わってきました(笑)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?