仕組み
maxOSとは
June 15, 2026 · 1 分読了
maxOSは、ローカルモデルで動作するООО «Гарипофф»社のオープンソースAI-nativeプラットフォームです。そのオープンソースのコアは「エージェント」であり、プロジェクト内のファイルを読み書きし、ターミナルでコマンドを実行します。しかし、これらはすべてユーザーのローカルマシン上で動作する言語モデルによって行われます。コードも、プロンプトも、ファイルの内容も、外部のクラウドに送信されることはありません。
コアはApache-2.0ライセンスのもとで公開されています:github.com/LLC-Garipoff/maxos。まずはここから始めましょう。
オートコンプリートではなく、エージェント
オートコンプリート(自動補完)は次の1行を提案するだけです。一方、エージェントはタスク全体を解決します。プロジェクトを理解し、複数のファイルに修正を加え、ビルドやテストを実行し、その出力を読み取って次のステップへと進みます。
maxOSの内部はシンプルなループで構成されています。モデルにはタスクと利用可能なツールの説明が渡されます。モデルはテキストで回答するのではなく、ツールを呼び出すという決定を返します。ツールは以下の4つです:
read_file— ファイルを読み込むlist_dir— ディレクトリの内容を表示するwrite_file— ファイルを作成または上書きするrun_bash— シェルでコマンドを実行する(ビルド、テスト、実行など)
maxOSは作業ディレクトリ内で呼び出しを実行し、その結果をモデルに返します。モデルがツールの呼び出しを止め、最終的な回答を返すまで、このループが繰り返されます。すべてのパスは作業フォルダ内に制限されており、その範囲外にアクセスしようとする呼び出しは拒否されます。また、ファイルの書き込みやコマンドの実行前には、maxOSはデフォルトで確認を求めます。
仕組みはこれだけです。隠されたクラウドオーケストレーターなどは一切ありません。ループ、ツール、プロンプトは、ランタイム依存関係なしで、わずか数百行のコードに収まっています。
ローカルモデルのみ
maxOS自体はニューラルネットワークの計算を行いません。OpenAI互換のAPIを備えたローカルランタイム(例えばOllamaやllama.cppなど)に推論を委ねます。ユーザーは自身の環境でモデルを起動します:
ollama pull qwen2.5-coder:7b
そして、maxOSはhttp://localhost経由でモデルと通信します。この構成にはクラウドのエンドポイントは一切存在しません。マシンがモデルを動かせるスペックであれば、エージェントは完全にオフラインで動作します。
ここには、専用のレイヤーを実装せざるを得なかった技術的な細部があります。一部のローカルモデルは、OpenAI互換プロトコルが想定するように、構造化されたtool_callsフィールドで素直にツール呼び出しを返します。しかし、qwen2.5-coderを含む多くのモデルは、代わりに回答テキストの中に直接JSON形式で呼び出しを記述します。maxOSは両方のケースを認識します。構造化フィールドがない場合は、テキストから呼び出しを抽出し(<tool_call>タグ形式を含む)、ループを継続します。そのため、このフレームワークは特定の「正しい」モデルだけでなく、さまざまなモデルに対応して動作します。
コーディング用モデルの接続先
maxOSはオーケストレーターです。プロンプト、ツール、ループ、サンドボックス、確認処理を担当します。実際のコードの記述や修正は、接続されたモデルが行います。コーディング用には、ツール呼び出しに対応した特化型モデル(qwen2.5-coderやllama3.1など)がランタイムにインストールされます。モデルの変更は、コマンドライン引数(--model)を1行書き換えるか、環境変数を設定するだけで済み、エージェントの他の部分は変わりません。
この分離は意図的なものです。エージェントのループ処理のボトルネックは計算処理ではなくディスクやネットワークであるため、迅速なイテレーションと容易な導入が可能なTypeScriptで記述されています。一方、今後実装予定のパフォーマンスやシステムに関わる部分(大規模なリポジトリのインデックス作成や検索、Nodeに依存しない単一バイナリ化など)は、Rustによるネイティブコアに移行する計画です。方針は同じです。I/Oがボトルネックになる部分をRustで書くのではなく、特定の目的に適したツールを採用するということです。
SpotMaxとの関係
SpotMaxは、同じアイデアから生まれた私たちのデスクトップアプリケーションです。それは「自分を助けてくれるモデルは、他人のデータセンターではなく、自分のすぐ隣で動くべきだ」という考え方です。名前自体は Spotlight + max に由来しており、オペレーティングシステムに深く組み込まれ、いつでも手元で使えるツールを意味しています。
もともとはセールス向け、つまり自分たちのプレゼンテーションやピッチのために開発されました。アシスタントが会話を聞き取り、文脈や流れを失わないようリアルタイムでヒントを提示します。しかし、実際にはそれ以上に幅広い用途で役立つことが分かり、求職者やHR(人事)担当者にも重宝されています。現在では、海外の取引先との交渉で使われるケースがますます増えています。SpotMaxはデバイス上で直接音声を認識・文字起こしし、文脈を損なうことなく会話を進めるのをサポートします。通話をどのように聞き取り、文字起こしし、ヒントを提示するのかという具体的な仕組みについては、別記事で詳しく解説しています:SpotMaxの仕組み:通話中の文字起こし、翻訳、ヒント提示。
音声認識と話者分離はローカルで動作します。これらこそがデバイス上で実行されているモデルです。maxOSは、その下を支える共通のオープンな基盤です。誰もがコードを読み、検証し、改善できるように、エージェントレイヤーをオープンソースとして公開しました。
なぜローカルなのか
クラウド型のコードエージェントは、ソースコードやプロンプト、さらにはターミナルの出力を外部のサーバーに送信します。機密コード、規制対象データ、NDA(秘密保持契約)、あるいは単にネットワーク環境が悪い場合など、業務の大部分においてこれは許容できません。maxOSはローカルでの実行のみを可能にします。ソースコードは公開されているため、このことはコードを直接見て確認することができます。
コード、バグレポート、改善提案はGitHubで受け付けています:github.com/LLC-Garipoff/maxos。また、ローカルモデルの具体的な改善に対しては、バウンティプログラム(報奨金制度)を用意しています。