059 AI屋さんの 第二の脳とシステムコールで お前はもう死んでいる、ひでぶ LLMにトークン全文入力
凄い勢いで、世界を塗り替えていくAIエージェントですが、
開発環境だけでなく、実行環境も塗り替えます、
ローカルマシンで、ファイル操作可能、関数実行可能なので、
システムコールも自由自在です、、
SaaSを複数統合するだけではありません、
ローカルOS、ローカルアプリも 複数操作統合可能です、
綺麗なお化粧を全部落とした、スッピンの四角いテーブルに、
バイナリ剥き出しのファイル群に、
最小限のカーネルにシステムコールに、
SaaSが死ぬのか、ローカルアプリが死ぬのか、OSが死ぬのか、
プログラマが死ぬのか、皆んなで ひでぶ ですね、
次の世代のPCは、
OSレベルで自律的にツールが自己増殖する
パソコンとユーザーだけで、自分色に染めていきます、
結論:次世代プログラミングのトレンドは「自然言語」と「エージェント」
これまでのチャットで見てきたように、プログラミングの世界は、厳格な構文や手続きの記述から、より人間中心の 自然言語による「意図の伝達」 へと大きくシフトしています。この流れは、大規模言語モデル(LLM)とMCP(Model Context Protocol)が担う、以下の2つの主要なトレンドに集約されます。
パラダイムシフト:自然言語でOSを自己進化させるAIエージェント開発日誌
プログラミングの歴史は、人間と機械の対話の歴史でした。私たちは、機械が唯一理解できる0と1の世界から、C言語のような手続き型言語、そしてJavaに代表されるオブジェクト指向へと、対話の手段をより人間寄りに進化させてきました。これらはすべて、人間が「いかにして(How)」をコンピュータに正確に伝えるかという「命令型」の思想に基づいています。
しかし今、LLM(大規模言語モデル)の登場が、この歴史に真のパラダイムシフトを引き起こそうとしています。
それは、人間が「なにを(What)」したいかを自然言語で伝えるだけで、AIが自律的に方法を考え、ツールを使い、さらには新しいツールをその場で開発さえするという、「宣言型」の究極系です。
この記事では、その未来像を具現化するため、macOSとWindowsで動作し、自己進化の可能性を秘めたAIエージェントのプロトタイプ開発記録を、理論と実践からご紹介します。
1. 旧世代から新世代へ:AIエージェントとMCP
旧世代のプログラミングでは、開発者がAPI仕様書を読み、関数と引数を正確に指定してコードを書いていました。
新世代の主役はAIエージェントです。このエージェントと外部ツールを繋ぐのが MCP (Model Context Protocol) の思想です。
- ユーザー: 「この内容で通知を出して」 (自然言語)
- LLM: 意図を解析し、ツール実行命令(JSON)を生成
- エージェント: JSONを受け取り、ツールを実行
今回はこの基本形を、クロスプラットフォームの通知ツールで実装しました。
2. 実践:クロスプラットフォーム通知ツールの開発
目標は、「show_alert
」という共通命令で、macOSとWindowsそれぞれのOS標準メッセージボックスを表示することです。
-
Step 1: 各OS専用ツールの作成
- macOS版 (
show_message_box_mac.py
):subprocess
でAppleScriptを実行。 - Windows版 (
show_message_box_win.py
):pywin32
でWindows APIを実行。
- macOS版 (
-
Step 2: AIエージェントの頭脳「MCPサーバーエミュレーター」
- OSを自動判別し、LLMからのJSON命令に基づいて適切なツールを呼び出すコントローラー (
mcp_server_emulator.py
) を実装。
- OSを自動判別し、LLMからのJSON命令に基づいて適切なツールを呼び出すコントローラー (
-
Step 3: LLMからの命令をシミュレート
- コマンドラインからJSON形式の命令をエージェントに渡し、OSネイティブの通知が表示されることを確認。
3. アーキテクチャの選択:ローカル vs. クラウド
今回実装したAIエージェントは、ユーザーのPC内で完結する「ローカル型」です。これは企業システムなどで利用される「クラウド型(サーバー集中型)」とは異なる特徴を持ちます。
ローカル特化型 (今回の実装) | クラウド/サーバー集中型 | |
---|---|---|
アーキテクチャ | 分散型・クライアント中心 | 中央集権型・サーバー中心 |
ツールの定義 |
README.md などローカルファイル |
データベースやAPI定義ファイル |
利点 |
プライバシー保護 (データが外部に出ない) 高速 (通信不要) シンプル (サーバー管理不要) |
スケーラビリティ 一元管理 信頼性 |
用途 | 個人の生産性向上、タスク自動化 | 大規模な企業アプリ、クラウドサービス |
ローカルエージェントは、プライベートな領域でのタスク自動化や、ユーザーに寄り添ったパーソナルな支援に絶大なパワーを発揮します。
4. 真の力:OSの深層と対話し、自己進化するAIエージェント
ここまでの実装は、あくまで「あらかじめ用意されたPythonのツールを使う」だけです。AIエージェントの真価は、その先にあります。
レベル1:動的なツール開発
ユーザーが「このMarkdownをPDFにして」と指示した時、エージェントはPDF変換ツールがないことを自覚し、Webでライブラリを検索、pip install
でインストールし、変換用のPythonスクリプトをその場で自動生成してタスクを完了させます。これは、エージェントが自身の能力を動的に拡張することを意味します。
レベル2:OSとの直接対話
さらに進んだエージェントは、Pythonライブラリという抽象化された層を飛び越えます。
「今アクティブなウィンドウのタイトルを取得して」
この指示に対し、エージェントは pywin32
のような既存のツールに頼るのではなく、OSの公式ドキュメント(MSDNなど)を読み解き、user32.dll
に含まれる GetForegroundWindow
や GetWindowTextW
といったWin32 API関数を直接呼び出すコードを、ctypes
ライブラリを用いて動的に生成します。
これは、エージェントがOSのネイティブ言語を理解し、システムコールに近いレベルで対話する能力を持つことを示します。もはや、用意されたツールを使うだけの存在ではありません。OS自体を一つの巨大なツール群として認識し、そのAPIをオンデマンドで学習・利用するのです。
5. 考察:AIアーキテクトが拓く、新たなアプリケーションの地平
この「OSと直接対話する自己進化型エージェント」という概念は、これまでにない全く新しいアプリケーションの可能性を切り拓きます。
-
自律型システム管理・修復ツール:
「PCの動作が遅い」という曖昧な指示から、エージェントがプロセスを監視し、リソースリークを特定し、不要なサービスを停止、さらにはレジストリを分析して問題を解決する。異常を検知すれば、自らログを解析し、解決策をWebで検索、パッチを適用することさえ可能になるでしょう。 -
超パーソナライズド・アシスタント:
ユーザーのPC操作(どのアプリで、どのファイルを、どのように操作したか)をOSレベルで学習し、複数のアプリケーションを横断する複雑なワークフロー(例:Photoshopで画像を編集し、指定のフォルダに保存、自動でリサイズしてメールに添付)を完全に自動化します。 -
インテリジェントな自動ソフトウェアテスト:
GUIアプリケーションの画面要素をOSのアクセシビリティAPI経由で認識し、人間のようにボタンをクリックしたり、テキストを入力したりして、バグを発見・報告する。単なるシナリオ実行ではなく、予期せぬ挙動を自ら探求するテストが実現します。
私たちの役割は、コードを一字一句書くことから、AIエージェントが自律的に学習し、OSと対話し、進化できるような「環境」と「初期知識」を設計すること、すなわち「AIアーキテクト」へと変わっていきます。
AIが自らOSのAPI仕様書を読み、ツールを作り、問題を解決していく。そんな未来は、もうすぐそこまで来ています。今回の開発は、その壮大な未来への小さな、しかし確かな一歩となりました。
目次
今回も無事に、ローカルマシンの低水準開発を自律的に行えました、
コンパイラに逆アセンブラにdumpに、
CPUにレジスタに 全部モニタしながらステップ実行しながら、
全てを支配する感じが、懐かしいですね、、
059 AI屋さんの 第二の脳とシステムコールで お前はもう死んでいる、ひでぶ LLMにトークン全文入力
完成です、おめでとうございます、
ー以上ー