カテゴリー: Story

  • Codexの解剖: OpenAIがMacを物理操作するAIをどう作ったか

    Codexの解剖: OpenAIがMacを物理操作するAIをどう作ったか

    OpenAI が Codex を(ほぼ)あらゆる用途に開放したとき、技術界は注目した。AI がコードを書き、メールを下書きするようになってから何年も経つが、Codex が macOS を「自前のカーソルで見て、クリックし、タイピングする」ことで操作できるという主張は、根本的に異なる能力を示している。

    クラウド上の言語モデルとローカルのオペレーティングシステムの間の溝を埋めることは、非常に困難なことで知られている。何十年にもわたり、自動化は脆い Application Programming Interface (API) や DOM スクレイピングスクリプトに依存してきたが、こうしたものは UI 要素が一つ変わっただけで壊れてしまう。

    核となる技術的洞察は次のとおりだ。Codex はコードレベルの統合を捨て、ピクセルレベルの実行を選んだ。 OpenAI はマルチモーダルビジョンと低レベルのカーネルイベント注入を組み合わせることで、Graphical User Interface (GUI) をユニバーサルな API に変えてしまった。

    これを実現する技術アーキテクチャを解説しよう。

    Mac ネイティブエージェントのアーキテクチャ

    AI が人の介入なしにアプリケーションをテストしたり、フロントエンドのデザインを反復改良したりするには、継続的な Perceive-Reason-Act(知覚・推論・行動) ループが必要だ。macOS 上で Codex が各段階をどう実装しているかは、おそらく次のとおりである。

    1. 知覚: セマンティックビジョンとグラウンディングエンジン

    AppleScript のような従来の自動化ツールは、UI のアクセシビリティツリーを読み取る。このアプローチは高速だが、UI 要素に適切なアクセシビリティタグが存在しないカスタムの Electron アプリ、Web キャンバス、ゲームでは失敗する。

    OpenAI は Codex がアプリを「見る」ことで使うと述べており、これは Computer Vision に依存していることを意味する。Mac 上で動くホストアプリケーションは、デスクトップを高頻度でキャプチャする。そしてマルチモーダルモデルが、これらのフレームをセマンティックセグメンテーションによって解析する。HTML タグを探すのではなく、ボタン、検索バー、メニューのようなインターフェース要素の形状と文脈を視覚的に認識するのだ。

    macOS 向け Perceive-Reason-Act ループを示す Codex アーキテクチャ図。

    ここでの鍵となる技術的課題は グラウンディング(Grounding) である。AI が対象を特定したら、そのセマンティックなオブジェクトを画面上の正確なピクセル座標に対応付ける計算を実行する。「閉じるボタンをクリック」という指示を、ディスプレイの解像度やスケーリング係数を加味した正確な (x, y) 座標に変換するのだ。

    段階 何が起きるか 技術
    フレームキャプチャ デスクトップの高頻度スクリーンショット ホストアプリケーション
    セマンティック解析 コードではなく視覚的な見た目で UI 要素を特定 マルチモーダルビジョンモデル
    グラウンディング セマンティックな対象をピクセル座標に対応付け 座標回帰モデル
    アクションディスパッチ 合成入力イベントを OS に注入 システムフレームワークのフック

    2. 行動: OS レベルのイベント注入

    クリック位置を知っているだけでは、ソフトウェアが実際にそのアクションを引き起こせなければ意味がない。Codex は物理ハードウェアを完全にバイパスする。

    macOS をネイティブレベルで操作するため、Codex は Apple の最も深いシステムフレームワーク、すなわち Quartz Event ServicesAccessibility API をほぼ確実に利用している。

    Codex がクリックを決めたとき、仮想的な CGEvent を合成し、mouseDown に続けて mouseUp を送り、それを macOS のシステムイベントキューに直接注入する。オペレーティングシステムから見れば、この合成イベントは物理的なトラックパッドの押下と区別がつかない。だからこそ Codex は どんな アプリケーションでも操作できる。人間がクリックできるものなら、Codex もクリックできるのだ。

    3. 分離: 「ゴーストカーソル」の仕組み

    おそらく最も技術的に野心的な主張は、Codex が「コンピュータを乗っ取ることなくバックグラウンドで動く」という点だろう。マクロレコーダーを使ったことがある人なら、従来の自動化がマウスカーソルを完全に乗っ取ってしまうことを知っている。

    並行実行を実現するには、AI の入力とユーザーの物理的な入力を分離しなければならない。実装アプローチとしては次の二つが有力である。

    アプローチ 仕組み トレードオフ
    ターゲットウィンドウルーティング macOS は特定の Process Identifier (PID) に対してイベントを送れる。Codex は合成したクリックをグローバルなハードウェアカーソルを経由せず、対象アプリケーションのイベントループに直接届ける。 オーバーヘッドが小さい。正確なウィンドウの特定が必要。
    仮想フレームバッファ システムがヘッドレスな仮想デスクトップ層を立ち上げる。Codex はこの見えないワークスペースを「見て」操作する間、ユーザーはプライマリなワークスペースで邪魔されずに作業を続けられる。 メモリ使用量が多い。より強力な分離を保証。

    仮想フレームバッファ方式は、Anthropic が自社の Computer Use 機能を発表した際に観察された仕組みと一致しており、デスクトップ AI エージェントにおける業界標準のパターンとして定着しつつあることがうかがえる。

    展望: ポスト API の世界

    その波及効果は技術的な実装の枠を遥かに超える。OS レベルでビジョンからアクションまでのパイプラインを解決したことで、OpenAI は従来の API をオプショナルなものにした。私たちはいま Large Action Model (LAM) の時代に入っている。

    実務的な含意を考えてみよう。

    • レガシーソフトウェアの統合: API のない 2008 年のエンタープライズツール?Codex には API は不要だ。アプリケーションを開き、インターフェースを操作し、データをコピーして、現代のダッシュボードに貼り付ける。
    • プラットフォームの制限: 激しい API レート制限で開発者のアクセスを制限するプラットフォーム?Codex は Web ブラウザを開き、人間のユーザーと同じようにインターフェースを直接操作する。
    • アプリ間のワークフロー: 以前なら繋がっていないアプリ間に専用のミドルウェアが必要だったタスクも、単一の自然言語の指示で编排できるようになる。

    ソフトウェア業界は何十年もかけてアプリ間の架け橋を築いてきた。Codex が macOS の GUI をマスターした今、アプリ同士が話す必要はもうない。AI が私たちに代わってアプリを使うのだ。

    FAQ

    Codex は macOS 上で画面をどう「見る」のか?

    Codex はホストアプリケーションを使い、デスクトップの高頻度スクリーンショットを取得する。そしてマルチモーダルビジョンモデルがこれらのフレームに対してセマンティックセグメンテーションを行い、背後のコードやアクセシビリティタグではなく、見た目に基づいてボタン、メニュー、テキストフィールドといった UI 要素を特定する。

    クリックとキー入力をシミュレートするために Codex はどの macOS フレームワークを使っているのか?

    Codex はおそらく Apple の Quartz Event Services と Accessibility API と連携している。仮想の CGEvent(mouseDown や mouseUp など)を合成して macOS のシステムイベントキューに注入し、物理ハードウェアのイベントと区別がつかない入力を作り出す。

    カーソルを乗っ取らずにバックグラウンドでどう操作できるのか?

    システムはおそらく、特定の Process Identifier (PID) に直接イベントを送るターゲットウィンドウルーティングか、あるいは仮想フレームバッファのいずれかを使っている。後者は見えないデスクトップワークスペースを作り出し、ユーザーの物理的なカーソルには影響を与えずに AI が独立して動くことを可能にする。

    Large Action Model (LAM) とは何か。LLM とどう違うのか?

    Large Action Model は、Large Language Model の能力をテキスト生成から現実世界のタスク実行へと拡張したものだ。LLM が応答を生成するのに対し、LAM はビジョンによって環境を知覚し、どのアクションを取るべきか推論し、システムレベルの入力注入を通じてそのアクションを実行する。Codex は LAM の概念を現実に実装した一例である。

  • PromptKit iOSを極める:PanicのSSHクライアントからAI駆動のVibe Codingまで

    PromptKit iOSを極める:PanicのSSHクライアントからAI駆動のVibe Codingまで

    PromptKit iOSは、モバイル開発における二重の最前線を提示している。PanicのPrompt 3を通じたプロフェッショナルなリモートサーバー管理と、AIによって駆動される新興の「Vibe Coding」ワークフローである。SSH端末を経由したバックエンドインフラの管理であれ、Claude 3.5 Sonnetと自然言語でSwiftコードを生成することであれ、iOSは2026年において高速なアプリケーションデプロイメントの主要プラットフォームとなっている。

    PanicのPromptとは?iOS SSH端末のゴールドスタンダード

    PanicのPrompt(バージョン3)は、iPhoneおよびiPad向けのプレミアムターミナルエミュレータとして広く認識されている。モバイルデバイスでデスクトップ級のSSH機能を必要とする開発者のために設計されている。モバイルファーストのワークフローで作業するエンジニアに対して、macOSのターミナルと同等の応答性でサーバーインフラを管理できる橋渡し役を提供する。

    AppsTorrentによれば、Prompt 3のテキストエンジンは従来バージョンの10倍高速である。GPUアクセラレーションを活用して、大規模なログファイルや複雑な端末出力をラグなく処理し、秘密鍵をハードウェア暗号化で保ちながらiOSのSecure Enclaveと連携したFaceID/TouchID認証を実現している。

    Prompt 3の体験を定義する主要機能:

    • Panic Sync: サーバー、パスワード、秘密鍵をiOSとmacOS間で同期する。
    • Clips: 頻繁に使うコマンド(sudo systemctl restart nginx など)を保存し、ワンタップで実行できるライブラリ。
    • MoshおよびEternal Terminal: Wi-Fiから5Gへの切り替え時やデバイスのスリープ解除時にも接続が維持されるローミング接続をサポート。

    Prompt 3 vs. Termius:どちらのSSHクライアントが勝つか?

    機能 Prompt 3 Termius
    プラットフォーム重点 Appleエコシステム(iOS+macOS) クロスプラットフォーム(iOS、Android、Windows、Linux)
    テキストエンジン GPUアクセラレーション、従来比10倍高速 標準レンダリング
    セキュリティ Secure Enclave連携、FaceID/TouchID チーム資格情報共有用Cloud Vault
    SFTPサポート 基本的 包括的
    最適な用途 Appleエコシステムの個人開発者 複数プラットフォームをまたぐDevOpsチーム

    Prompt 3は、ネイティブな操作性とGPU速度により、Appleエコシステム内で優位性を発揮する。しかしTermiusは、WindowsやLinuxをまたいで作業するDevOpsチームから好まれることが多い。Termiusはより幅広いSFTPサポートと、チームベースの資格情報共有のため「Cloud Vault」を提供する。iPad上で最速かつ最もMacらしいターミナル体験を求める個人開発者にとって、PromptのエンジンとSecure Enclave連携は、セキュリティと応答性の両面で明確な優位性をもたらす。

    Prompt 3とTermiusの比較表。

    Vibe Codingとは?AIプロンプトでiOSアプリを構築する

    「Vibe Coding」は、ソフトウェア構築におけるパラダイムシフトを表している。Swiftコードを1行ずつ記述する代わりに、クリエイターは自然言語の指示、すなわちプロンプトを使ってAIエージェントを指揮する。開発者は「バイブ(意図、設計、論理)」を提供し、Claude 3.5 Sonnetのようなモデルが実装を担う。

    現在のiOS環境では、Claude 3.5 Sonnetと「Claude Code」インターフェースがこのアプローチを牽引する主要なツールである。開発者は多くの場合、「Genesis Prompt」と呼ばれる詳細で包括的な指示から始め、数分でSwiftUIプロジェクト全体の土台を構築する。コードは手作業で練り上げられる芸術品ではなく、コモディティになる。

    そのスピードは著しい。あるRedditの事例が示すように、ある開発者は構造化された単一のプロンプトを用い、機能するストア出品可能なiOSアプリを5時間で構築した。しかしDragos Rouaが観察するように、この作りやすさは市場の力学を変える。現在の真の価値は、構文を書く能力ではなく、迅速な反復と独自の製品ビジョンにある。

    デュアルプロンプトワークフロー:サーバーとコードを同時に管理する

    現代のiOS開発はますます「デュアルプロンプト」戦略に依存するようになっている。フロントエンドにはAIプロンプト、バックエンドにはPanicのPrompt 3である。このワークフローにより、開発者はiOSエコシステムに留まりながら、複雑でデータ駆動型のアプリケーションを構築できる。

    1. AIプロンプト: Claude 3.5 Sonnetを使ってSwiftUIのビュー、状態管理、APIロジックを生成する。
    2. 端末管理: Prompt 3でVPS(DigitalOceanやAWSなど)にSSH接続し、Node.jsやPythonのバックエンドを構築し、データベースを管理する。

    デュアルプロンプトワークフローのアーキテクチャ。

    AIが生成したコードと手作業によるサーバー管理を橋渡しすることで、iPadから直接フルスタックソリューションをデプロイすることが可能になる。開発者はAIにREST APIからデータを取得するSwift関数を記述させた後、Prompt 3に切り替えてサーバーログをリアルタイムで確認し、エンドポイントが正しく応答しているかを検証できる。

    iOSとStoreKit 2のための究極のGenesis Mega Prompt

    効果的なVibe Codingには、AIが技術要件を見落とさないよう、構造化されたテンプレートが必要である。「Genesis Mega Prompt」は以下を網羅すべきである:

    構成要素 指定すべき内容
    プロジェクト概要 アプリ名、コア機能、対象iOSバージョン 「フィットネストラッカーアプリ、iOS 18+」
    技術スタック フレームワーク、アーキテクチャ、並行処理モデル SwiftUI、MVVM、Swift Concurrency
    StoreKit 2統合 モダンな購入API Product.products(for:), product.purchase()
    デザインシステム 色、タイポグラフィ、スペーシング Hexコード、44ptのタッチターゲット

    AI経由でStoreKit 2を統合する際は、レガシーコードの生成を避けるため「modern StoreKit 2 Swift API」を明示的に指定すること。これにより、AIがリアクティブな購入ボタンとエンタイトルメントチェックを実装し、ユーザーが購読した際にUIが自動的に更新されるようになる。

    必須の開発者ツール:Expo CLIからBlink Shellまで

    Panicのツール群以外にも、2026年のiOS開発者ツールキットには、クロスプラットフォーム開発とローカル開発のための複数のユーティリティが含まれる:

    ツール 主なユースケース 際立つ機能
    Expo CLI React Native開発 ネイティブコンパイルのための npx expo run:ios
    Blink Shell 統合ターミナル+IDE 内蔵VS Code(Code Server)モジュール
    Termius クロスプラットフォームSSH iOS、Android、Windows間の同期
    • Expo CLI は、ネイティブモジュールの事前ビルドを活かした、JavaScript/TypeScriptによる迅速なモバイル開発に最適。
    • Blink Shell は、iPad上でMoshやSSHの端末と併せてVS Codeのインターフェースを求める開発者に理想的。
    • Termius は、iOS、Android、Windowsデバイス間でサーバーリストを同期する点で優れる。

    2026年のiOS開発者ツールキットまとめ。

    結論

    Prompt 3による高性能なSSH管理と、Claude 3.5 Sonnetを用いたAI駆動のVibe Codingの融合は、iPhoneやiPadを本格的なプロフェッショナルワークステーションへと変えた。サーバー管理のための10倍高速なGPUアクセラレーション対応ターミナルと、迅速なAI支援によるアプリ生成を組み合わせることで、開発者はこれまでになく速くコンセプトからApp Storeへと至ることができる。

    次に取るべき実践的なステップは、Prompt 3をセットアップして安全なリモートサーバーアクセスを確立し、Claude 3.5 SonnetでGenesis Mega Promptを試して、iPadから直接SwiftUIプロジェクトをリリートし始めることである。

    FAQ

    2026年にiPadとiPhoneで最適なSSH端末アプリは?

    スピードとiOSとの深い統合を求めるユーザーには、PanicのPrompt 3が最良の選択肢である。競合より10倍高速なGPUアクセラレーション対応テキストエンジンを備えている。WindowsやLinuxをまたぐクロスプラットフォーム同期を必要とするチームにはTermiusが適している。iPad上で内蔵VS Code環境を必要とする開発者にはBlink Shellが理想的である。

    Genesis Promptを使ってAIでiOSアプリを構築するには?

    Claude 3.5 SonnetのようなAIモデルに対し、SwiftUIの要件、MVVMパターン、StoreKit 2のような特定のフレームワーク要件を含めた高レベルなアーキテクチャ概要を提供する。AIはこの仕様を「信頼できる唯一の情報源」として用い、ボイラープレートコード、UIコンポーネント、アプリケーションロジックを生成する。これにより、構文ではなく製品ビジョンの反復に集中できる。

    iOS開発者にとってPrompt 3とTermiusの違いは?

    Prompt 3はAppleエコシステム専用に構築されており、macOSとiOSの深さ、Secure Enclaveによるセキュリティ、高速なテキストレンダリングを優先している。Termiusはマルチプラットフォームツールであり、より幅広いプロトコルサポート(SFTP、Telnet)と、Apple製ハードウェアを排他的に使用しない協働チーム向けの機能を提供する。

    iPadから本当にフルスタックアプリをデプロイできるか?

    可能である。デュアルプロンプトワークフローを使えば、Claude 3.5 SonnetでSwiftUIのフロントエンドコードを生成し、Prompt 3のSSH端末経由でバックエンドインフラを管理できる。これにより、従来のデスクトップ開発環境を必要とせず、iPadだけでコードの記述、サーバーの設定、データベースの管理、アプリケーションのデプロイがすべて行える。