FrontierStack ユーザマニュアル マニュアル先頭
デスクトップ版マニュアル モバイル版マニュアル English한국어 frontierstack.app ↗
15

第 15

AI スタック

AI のもう一つの側面 — サーバを操作するアシスタントではなく、サーバが動かす AI インフラそのもの。エージェントランタイム、ローカルモデル、サンドボックス、GPU、そしてその費用までを、ひとつの画面から見守ります。

前の 2 章は AI が FrontierStack を操作する側でした — 組み込みの管理者(第 13 章)と、自分のツールから MCP 経由でアプリを操作する話(第 14 章)です。本章はその逆です。FrontierStack が実行・監視を手助けする AI インフラそのもの — エージェント基盤、ローカルモデルサーバ、コードサンドボックス、ブラウザ自動化、GPU ファブリック、ML ツール、ガバナンス、そしてそれら全部の費用を扱います。これらは他と同じカタログ上のサービスで、サイドバーの AI 系カテゴリーにまとまっていますが、AI を動かすことが「呼び出す箱」ではなく「運用するスタック」になった今、独立した一章に値します。

15.1Agent Operations

サイドバーから Agent Operations を開くと、エージェント作業をサーバ中心に確認できます。各フリートホストには、到達性・環境・CPU・メモリ・検出済みワーカーが表示され、ホスト詳細と状況に合ったシェルを開けます。この Mac ではローカルシェル、リモートではそのホストに設定した SSH・mosh・SSH3 の信頼設定を使います。同じボードにランタイム健全性、ローカルのコーディングエージェント、FrontierStack セッション、エージェントコンテナもまとまります。

ランタイムは 2 種類です。一つは CLI ランタイム — コマンドラインツールがインストールされ、--version に応答することで検出されます。Amp、DeepSeek Harness Alpha、Claude Code・Gemini CLI・OpenAI Codex、そして Factory の droid が含まれます。もう一つは状態エンドポイントを公開し、ライブメトリクスをポーリングする HTTP ランタイムです。いくつかのクラウドエージェント製品(OpenHands・Manus・Devin・OpenAI Operator・E2B)は、ポーリングではなく接続するカタログ項目として下部に並びます。

プラットフォーム何か
OpenClawセルフホストのエージェントランタイム。稼働状態とモデルを監視。
HermesHTTP でポーリングされ、状態・モデル・セッションを表示するランタイム。
DeerFlowディープリサーチ/多段エージェントランタイム。
Paperclip複数のエージェントを「会社」(組織図・予算・目標・承認)として運用。ポート 3100。ペインで会社数とエージェント数を集計。authenticated モードではボード API キーを設定。Paperclip エージェントとして働く(ベータ):ハートビートコマンドをインストールし、FrontierStack を会社のシステムエンジニア兼ネットワーク管理者として雇用。変更は引き続き FrontierStack での承認が必要。
LangSmith DeploymentLangChain の Agent Server(旧 LangGraph Platform)。:2024 の langgraph dev または LangSmith のデプロイ(アシスタント・スレッド・実行)。LangSmith サービスは同じキーでトレースプロジェクトの実行数・エラー率・レイテンシ・コストを読み取り、エラー率で通知。LangChain(オープンソース)は langgraph CLI を検出。
CrewAI AMPCrewAI のホスト型基盤(旧 CrewAI Enterprise)にデプロイしたクルーを、その URL(https://<crew>.crewai.com)と Status タブの Bearer トークンで監視。自分で動かすクルーは CrewAI(オープンソース)サービスで。
MastraTypeScript のエージェントとワークフロー。:4111 の mastra dev/mastra start サーバから、エージェント・ワークフロー・実行中や一時停止中のワークフロー実行を表示。
Vercel eveVercel のオープンソース TypeScript エージェントフレームワーク。/eve/v1/info(モデル・ツール・スキル・サブエージェント・スケジュール)または公開の /eve/v1/health を読み取り。eve dev は :2000、eve start は :3000。
Microsoft AutoGenマルチエージェント会話フレームワーク。
Genspark自律型エージェント基盤。
Agent Zero汎用の自律エージェント。
NVIDIA NemoClawNVIDIA のエージェントランタイム。
OpenAI Codex / Claude Code / Gemini CLI / Factory Droidコーディングエージェント CLI。インストール+バージョンで検出され、オンデマンドとして表示。
Ampコーディングエージェント CLI とヘッドレスランナー。ローカルまたは SSH 経由でバージョンを検出し、Amp プロセスが動くホストに印を付けます。
DeepSeek Harness(Alpha)DeepSeek のプラグイン型開発者プレビュー・エージェントハーネス。ローカルまたは SSH 経由で dsh CLI と実行中ジョブを検出します。FrontierStack プラグインは MCP ペインから明示的に導入します。
Docker AgentYAML で定義したエージェントやマルチエージェントチームを MCP ツール付きで動かす Docker のオープンソースランタイム(旧 cagent)。セッションストアからセッション数・トークン・費用・最後のモデルを読み、実行中のエージェントとサーバを一覧し、エージェントの実行・公開(A2A、MCP、チャット API)と、Docker Hub・ghcr.io・任意のレジストリへの OCI アーティファクトとしての pull/push、取得済みエージェントの更新確認ができます。docker agent プラグインのない Docker では、チェックサムを確認したプラグインだけをこの Mac またはリンク済みサーバにインストールします。
Unreal AgentUnreal Labs のオープンソース非同期型エージェントハーネス。モデルの推論を止めずにツール呼び出しをバックグラウンドで実行します。OpenAI・Codex・OpenRouter・Fireworks・Ollama で動作。go install(Go 1.27 以上)で導入します。ローカルまたは SSH 経由で unreal-agent-runner を検出し、実行中のホストに印を付けます。
Gemini API CLIGoogle の実験的な gemini-api。ほかのエージェントがシェルから呼び出し、Gemini のモデル、メディア生成、ファイル解析、マネージドエージェントを使うためのツールです。ローカルまたは SSH で検出し、インストール・更新・キー設定のコマンドを用意します。GEMINI_API_KEY か自身で保存したキーを読みます。
Qwen Code / Cline / Pi / Oh My Pi / Poolside / OpenCodeその他のターミナル型コーディングエージェント(qwen・cline・pi・omp・pool・opencode)。ローカルまたは SSH 経由でインストールとバージョンを検出し、各ペインにインストール・アップデート・サインインのコマンドがあります。MCP ペインでは Factory Droid・OpenCode・Qwen Code・Cline・Oh My Pi・Poolside にワンクリックで FrontierStack の資格情報を含まないブリッジを追加できます。Pi は設計上 MCP クライアントを持ちません。Hermes Desktop は Hermes ペインに表示され(起動、または hermes desktop でビルド)、Hermes の設定を共有するため Hermes の MCP 設定で対応します。
Antigravity CLI(agy)個人の Google アカウント向けの Gemini CLI の後継(2026 年 6 月 18 日以降。Gemini CLI は有料 API キー・Vertex AI・Gemini Code Assist が必要)。ローカルまたは SSH 経由で検出し、ペインから Google のスクリプトで導入・更新し、agy doctor と agy plugin import gemini を実行できます。MCP ペインは CLI・Antigravity アプリ・IDE が共有する ~/.gemini/config/mcp_config.json に FrontierStack を追加します。
Devin CLI / GitHub Copilot CLI / Kiro CLICognition(devin)・GitHub(copilot)・AWS(kiro-cli)のターミナル型コーディングエージェント。ローカルまたは SSH 経由でインストール+バージョンを検出し、インストール・アップデート・サインインのコマンドを提供します。MCP ペインはツールを自動承認せずに、FrontierStack の資格情報を含まないブリッジを ~/.config/devin/mcp_config.json・~/.copilot/mcp-config.json・~/.kiro/settings/mcp.json に追加します。MCP サーバの場所が mcp.servers に変わった OpenCode 2 では、インストール済みのバージョンが読む形式で書き込みます。OpenCode ペインには実行中のターミナル UI、サーバ(ヘルス・作業中セッション)、実行と、読み取り専用のセッションストアから取得した最近のセッション(モデル・トークン・コスト)が表示され、確認のうえでプロセスを停止できます。

設定済みランタイムはより広いシステムに連動するため、ランタイムが停止したり、トークンのクォータ(レート制限・429・課金)に達したりすると、アラートが上がり、Local Health ボードの services グループに赤で表示されます。各ランタイムのエンドポイントと資格情報を一度設定すれば、以後は他のサービスと同様に監視されます。

ダークモードのエージェント基盤ボード:ローカルで検出したエージェント CLI、稼働インスタンス数、保存済みセッションとジョブ、設定済みエージェント基盤の健全性。
図 15.1. ダークモードのエージェント基盤ボード:ローカルで検出したエージェント CLI、稼働インスタンス数、保存済みセッションとジョブ、設定済みエージェント基盤の健全性。
メモここでの「ランタイム」は、エージェントを実行するエンジンであって、あなたが書いたエージェントではありません。自分で作るエージェントは(後述の)Agent Sessions に置かれ、組み込み管理者が動かします。両者は補完的です — このボードはサードパーティ基盤を監視し、Agent Sessions は自分の目標駆動ループを実行します。

15.2Activity・Work・Runtimes・Routing

4 つの関連ビューが、同じライブ状態を運用タスク別に整理します。

  • Activity — ベル型の運用受信箱。Needs You に障害や消失ワーカー、失敗したセッション/ジョブを集め、Running と Recently Finished で現在と最近の作業を分けます。
  • Work — ランタイムのキュー、管理者セッション、隔離された Codex/Claude サンドボックスジョブを 3 タブにまとめます。
  • Runtimes — ローカル/HTTP エンジン、検出済み T3 Code ワーカー、クラウド基盤を、到達性または資格情報の状態付きで表示します。
  • Routing & Integrations — モデル/プロバイダキーとリポジトリアクセスを 2 タブにまとめます。GitHub・GitLab・Bitbucket・Cursor Origin の認証情報は Keychain に保持され、ライブ API 確認も行われます。

エージェントランタイムとコネクターは、一度保存した資格情報で認証します。FrontierStack の他の場所と同様、これらのトークンは macOS Keychain に置かれ、アプリの設定ファイルには入らず、クラウドモデルに送られることもありません。

15.8.1Cursor Origin(Early Beta)

Version Control ▸ Cursor Origin は、Cursor の Git フォージ用ライブダッシュボードです。cursor.com/codebase に表示されるコードベース名を入力すると、最大 30 個のリポジトリと、先頭 12 個にある未対応プルリクエストを表示します。個人利用では Cursor 公式の origin auth login を推奨します。FrontierStack は origin api を呼ぶため、ユーザー認証情報を受け取りません。自動化では、サービスアカウント API 認証情報または短時間有効な Origin インストールトークンを Keychain から利用できます。

注意Cursor は Origin とその API を Early Beta としています。oit_ で始まるインストールトークンの有効期間は最長 15 分です。Origin App は GitHub から Origin へミラーされたリポジトリにアクセスできないため、そのリポジトリには FrontierStack の GitHub コネクターを使ってください。Cursor の API または CLI 更新後はコネクターを再確認してください。
セキュリティRepository Connector の認証情報は、エージェントにコードへの書き込み権限を与える場合があります。必要なリポジトリだけにスコープし、ランタイムを廃止したら直ちにプロバイダ側で失効させてください。ライブ確認は認証情報が有効かを確認するだけで、プロバイダ側の権限を狭めません。Origin では、まず repository:contents:read を使い、プッシュが必要な場合だけ選択済みリポジトリへ repository:contents:write を追加してください。

15.3Work セッション・T3 ワーカー・組み込みターミナル

Work ▸ Sessions は、目標駆動の運用・SaaS ループを単発または定期で実行する場所です。各セッションは管理者と同じガード付きツールを使い、停止可能なトランスクリプトへ各ステップを流します。セッションループからスクリプトは許可されません。

FrontierStack は、127.0.0.1:3773/.well-known/t3/environment が有効な環境レシートを返した場合だけ T3 Code ワーカーと判定します。一般的な Node プロセスや開いているポートだけでは判定しません。検出は読み取り専用・ループバック限定で、T3 のネットワーク公開、ペアリング、スレッド/承認へのアクセスは行いません。該当サーバには macOS と iOS の一覧で T3 マークが付きます。リモートのワーカーについて FrontierStack が示すのは、存在していることだけです。

15.8.2この Mac の T3 Code

エージェント基盤の T3 Code ペインは ~/.t3/userdata/server-runtime.json をたどってローカルサーバを見つけ(:3773 が使用中なら上の番号へ移動します)、公開の環境情報(バージョン、稼働時間、プロセス ID)を読み取ります。

  1. T3 Code ペインを開きます。T3 Code が未インストールなら、インストール/実行に brew install --cask t3-code、npx t3@latest、ヘッドレスの t3 serve、バックグラウンドの LaunchAgent を作る t3 service install があります。
  2. 読み取り専用で接続を押します。FrontierStack は t3 auth pairing create で 5 分で期限切れになる 1 回限りの資格情報を作り、orchestration:read に限定したトークンと交換します。デスクトップアプリだけの場合は、ペアリングリンクで接続を開き、T3 Code の設定で作ったペアリングリンクを貼り付けます。
  3. ペインに、あなたの対応待ち(承認や質問)・作業中・失敗したスレッドがプロジェクト・プロバイダ・モデル・ブランチ付きで並び、今日のトークン数と推定コストがモデル別に、T3 Code とその全エージェントの CPU・メモリが表示されます。

対応待ちのスレッドは Activity ▸ Needs You、ペアリング済み iPhone、サーバアクティビティウィンドウの AI Agents ボードにも表示され、ボードでは T3 Code がサーバと同じように CPU・メモリ付きのタイルになります。承認は T3 Code 側で行います。

セキュリティこのトークンはスレッド・使用量・プロセスを読めますが、作業の開始、承認への回答、ターミナルを開くこと、アクセスの変更はできません。T3 が読み取り以上の権限を付けて発行したトークンを FrontierStack は保存せず、貼り付けたトークンがそれ以上の権限を持つ場合は警告します。トークンはキーチェーンに保存され、その T3 Code サーバにだけ送られ、30 日間有効です。トークンを削除で消去できます。コピーされた可能性があれば T3 Code 側でも取り消してください。

15.8.3Rex

Rex は Superlogical のターミナルマルチプレクサで、libghostty をベースにしており、現在はベータ版です。rex バイナリ 1 つがサーバと CLI を兼ねます。Mac アプリにはローカルサーバが含まれ、Linux と FreeBSD のマシンでもサーバを動かせるので、何も接続していなくてもセッションは動き続けます。ペインはインストーラをシェルにパイプせず、リンクを示します。Mac アプリは superlogical.com/rex から入手し、Linux は Rex の手順でインストーラを確認してから実行してください。Debian と Ubuntu には rex という名前の無関係な Perl ツールがあります。FrontierStack は両者を区別し、別のツールを見つけた場合はそう表示します。

エージェント基盤の Rex ペインは rex コマンドで、この Mac、または SSH 欄で指定した連携サーバのサーバを読み取ります。サーバのバージョンと稼働時間、セッション、対応待ち(承認、回答、サインイン)・作業中・失敗を自ら報告しているプログラム、その配下で動くコーディングエージェントの CPU とメモリを表示します。これらのプログラムは Activity ▸ Needs You と Running、サイドバーの対応待ちバッジ、ペアリング済み iPhone にも表示されます。サーバアクティビティウィンドウの AI Agents ボードには、この Mac の Rex と Rex が動く各サーバのタイルがあり、サーバの概要には Rex カードが加わります。そのようなサーバには Mac と iPhone で Rex サーバのバッジが付き、Runtimes の一覧では Rex サーバの下に表示されます。サーバの停止は正常な状態でありアラートにはなりません。個人用サーバは最後のセッションが終わると終了します。

セキュリティ確認のたびに REX_AUTOSTART=0 を設定するので、サーバが起動することはありません。FrontierStack が読み取るのは、セッションのラベル、ブロックのラベル、プログラムが Rex のステータスプロトコル(OSC 7501)で自ら報告する状態だけで、このプロトコルを使わないプログラムは表示されません。画面の内容は読まず、ターミナルへの入力やプロンプトへの回答もできません。回答は Rex で行ってください。

ペインからセッションを作成し(rex new)、確認のあとで ID を指定して終了できます(rex kill)。rex attach コマンドはなく、接続できるのは Rex 自身のアプリだけなので、リモートサーバのセッションは Rex のアプリの Add Remote Host… で開きます。エージェント向けに Rex を設定は、クリックしたときだけ表示中のコンソールで rex skill setup を実行し、ペインには rex skill status の結果が表示されます。このコマンドはこの Mac の Claude Code・Codex・OpenCode・Pi に Rex のスキルとフックを追加し、これらのエージェントの設定ファイルを変更するので、コンソールで計画を確認してください。FrontierStack 自身のツールについては、MCP の章の Rex の項を参照してください。

15.8.4Ghostty

Ghostty サービスペイン(Fleet & Remote)で、ターミナルで開くに使うターミナルにできます。Ghostty 1.3 以降ではコマンドは AppleScript API で開き、macOS は Ghostty を制御する許可を一度だけ確認します。古いバージョンや macos-applescript = false の場合はスクリプトファイルを開き、Ghostty が毎回確認します。Ghostty のテーマをアプリ内コンソールで使う(ターミナルスタイルでは Ghostty の現在のテーマを使う)は、Ghostty の設定とそこで指定されたテーマを読み取り、この Mac に合わせてライトまたはダークの版を使います。設定は読み取るだけです。

xterm-ghostty を知らないサーバでは、SSH 経由の tmux・vim・clear で「missing or unsuitable terminal」と表示されます。サーバへの SSH のインストールは、tic -x で Ghostty の記述をそのログイン(~/.terminfo、root ならシステム全体)にコピーし、それ以外は変更しません。Ghostty の設定に shell-integration-features = ssh-env,ssh-terminfo を追加すれば、接続時に Ghostty が行うようにもできます。

15.8.5シェルと継続ターミナルセッション

Agent Operations の各ワーカー行から、ローカルではログイン zsh、リモートでは設定済み SSH/mosh/SSH3 を SwiftTerm の PTY で開けます。Terminal Style は iTerm2・Ghostty・Alacritty・Warp のテーマを取り込めます。

隣の Terminal Sessions ボタンは、そのホスト上の tmux・GNU screen・Zellij・Rex の継続セッションを検出し、そのホストにあるツールとそのバージョン、tmux セッションごとのクライアント数、最終アクティビティ、フォルダを表示します。画面、スクロールバック、コマンド履歴、プロセス環境、コマンドは読み取りません。実 PTY への接続(Rex のセッションは Rex 自身のアプリから開きます)、または確認後に指定したセッションだけを終了できます。tmux のコマンドは正確な名前を指定するので、api を終了するときに api-staging を巻き込むことはありません。終了成功は、ホストからセッション消失を確認できた場合だけ報告します。

同じシートからセッションを開始できます(任意のフォルダを指定できる tmux、screen、Zellij、Rex)。tmux セッションには 接続して他を切り離す、すべてのクライアントを切り離す、名前を変更… もあります。tmux がない場合、tmux をインストールはホストのパッケージマネージャをコンソールで実行し、sudo の入力はそこで行います。tmux サービスペイン(Fleet & Remote)には、この Mac とすべての連携サーバが並び、それぞれこのシートを開けます。

iPhone/iPad の More ▸ Agent Activity では、ペアリングした Mac が把握している実行中エージェント、FrontierStack セッション/ジョブ、ランタイム、ワーカーボックスを状態だけで確認できます。プロンプト、コマンド行、トランスクリプト、環境変数、ターミナル内容、資格情報は送られません。Servers ▸ Host ▸ Terminal Sessions から同じ一覧を確認でき、一覧と終了はペアリング Mac 経由、フルスクリーン接続は Direct SSH の本人鍵とサーバ識別確認が済んだ場合だけ利用できます。

ヒント繰り返しセッションには厳しいステップ予算を与え、信頼できるまで「変更を許可」はオフにしておきましょう。単に報告するだけの読み取り専用ループ(「ディスクが 90% を超えたら知らせて」)は安全な最初のエージェントです。トランスクリプトを見届けてから、修正ループへ昇格させてください。

15.4ローカルモデルを動かす

クラウドモデルに何も送らない選択も可能です。FrontierStack はローカル推論サーバを管理し、管理者をそのうちの一つに向けられます。主要なローカルアプリ 3 つは一級市民です。

  • Ollama — 最も手軽なローカルモデルランナー。モデルを取得・提供し、管理者のエンジンとして選択できます。
  • LM Studio — LM Studio ペインがインストールを検出し、lms CLI でロード済みモデルとダウンロード済みを一覧。ヘッダーに「N models loaded」または「no model loaded」を表示します。
  • LocalAI — ポート 8080 のカタログサービスとして動かす、セルフホストの OpenAI 互換サーバ。
  • MLX ペイン: MLX-LM・oMLX・Splash — Apple シリコンでモデルを動かす 3 つの方法を 1 つのペインで扱います。oMLX(jundot/omlx)は連続バッチ処理と RAM+SSD の KV キャッシュを備えた本格的な推論サーバで、メニューバーアプリか専用の CLI(omlx start)で動かします。GitHub のリリースからアプリを入れるか、brew tap jundot/omlx https://github.com/jundot/omlx のあと brew install jundot/omlx/omlx でインストールします。ペインはポート 8000 でサーバが動いているか、どのモデルを提供しているかを表示し、ダッシュボードとチャットを開けます。Splash (Inco AI) は brew install incoai/tap/splash でインストールし、ペインからポート 8100 で起動するため、ポート 8000 の oMLX と衝突しません。OpenAI と Anthropic の両 API に対応し、M3 以降の Mac、macOS 26.4、メモリ 36 GB が必要です。

これらの他にも、AI / LLMs カテゴリーはセルフホスト推論の棚一式を備えます — vLLM・llama.cpp・Apple の MLX-LM サーバ・Jan・LiteLLM(100 以上のプロバイダをまとめるプロキシ)・Open WebUI・AnythingLLM・PrivateGPT、RAG/ベクトルツール。ローカルで動かす意義はプライバシーと費用です — 管理者のエンジンがローカルモデル(Ollama・ループバックのエンドポイント・Apple のオンデバイスモデル)のとき、Mac から何も出ないので何も秘匿されません — クラウドエンジンを守る秘密情報のスクラブが、そもそも不要なのです。

セキュリティ秘密情報の秘匿は外部エンジンに対してのみ動作します。ローカルエンジンはプロンプトとツール出力をすべて見ます — 自前のハードウェアで動くので、それで問題ありません。ローカルモデルのプライバシー上の利点は、まさにデータがマシンから出ないことです。これを利点として扱い、モデルホストを Mac 本体と同じだけ信頼できる状態に保ってください。

15.5コードサンドボックスとブラウザ自動化

エージェントには、コードを安全に動かす場所と、ライブな Web を読む手段が要ります。FrontierStack はその両方を管理します。

コードについては、E2B ペインが e2b CLI 経由でセキュアなクラウドサンドボックスを管理します。API キーを入力(Keychain に E2B_API_KEY として保存、または e2b auth login で一度認証)し、一覧・テンプレートからの起動・実行中サンドボックスのkillができます — 後片付け用の Kill All と「一時停止を含める」トグル付き。緑のドットは稼働中、オレンジは一時停止。エージェントが使う、使い捨ての隔離マシンで、そのコードがサーバに触れることはありません。

Web については、AI カテゴリーがブラウザ・クロールツールを含みます — Browserbase(マネージドのヘッドレスブラウザ)・Crawl4AI・Firecrawl・Apify(サイトをモデル向けの整ったテキストに変換)、そしてスクリプト自動化の Playwright。API のないページにもエージェントの「目」を与えます。

注意起動したサンドボックスは、kill するまで課金が続きます。エージェント作業のひと区切りごとに E2B ペインを開き、一時停止を含めるをオンにして Kill All で、課金されたまま放置されるものをなくしてください。リクエスト課金のクラウドクロールサービスにも、同じ規律が当てはまります。

15.6GPU インフラとクラスタ

AI が実 GPU 上で動くなら、GPU Fabric ペインがハードウェアの読み取り専用ヘルスを提供します。連携サーバを選び、SSH で診断を実行します — GPU の構成と温度(nvidia-smi)、NVLink 状態、GPU トポロジー行列、NVSwitch Fabric Manager の健全性、DCGM インベントリ(dcgmi)、InfiniBand と RoCE/RDMA リンク、Slurm の GPU 割り当て、コンポーザブルファブリック CLI(WEKA・Liqid・GigaIO)。GPU は Linux ホスト上にあるため、これはフリート内のサーバを対象とします。GPU のないマシンではツールが単に「not found」と報告します。チェックを 1 つ実行するか、Run All Checks で一括実行します。

ホストの GPU 温度と負荷は、エージェントを入れていれば標準のホストモニタ(第 8 章)でも表面化するので、過熱した GPU ボックスは他のマシンと同様にアラートを上げます。スケールアウトには、AI Clusters カテゴリーが Exo(複数の Mac で 1 モデルを実行)・Petals・Distributed Llama・Ray・Slurm・Run:ai を、ML Workbench カテゴリーが学習側の実験管理・パイプラインツール(MLflow・ClearML・Weights & Biases・Kubeflow・JupyterLab)を備えます。

15.7AI ガバナンスと安全性

本番でエージェントを動かすとは、何をするかを見張り、何ができるかを縛ることです。FrontierStack は AI Governance & Safety の棚をカタログ化し、これらのツールが監視対象のランタイムの隣に並ぶようにしています — LLM 可観測性・トレーシングの Langfuse・Helicone・Arize Phoenix、評価・レッドチーミングの Promptfoo・Ragas・garak、入出力検証とプロンプトインジェクション防御の Guardrails AI・NeMo Guardrails・Lakera Guard、そして Credo AI や Holistic AI などのガバナンス基盤。カタログサービスとしてインストール・監視します — 上のボードのエージェントにとっての監査証跡とシートベルトです。

ガバナンスの棚がなぜ要るか
行動できるエージェントは、ガードレールの分しか安全ではありません。トレーシング(Langfuse)はエージェントが何をしたかを教え、評価(Promptfoo)は変更後も正しく振る舞うかを教え、プロンプトインジェクションファイアウォール(Lakera)は敵対的な Web ページによる乗っ取りを止めます。FrontierStack はこれらを置き換えません — ランタイムの隣に居場所を与え、運用するスタックと、それを監査するスタックを 1 クリックの距離に置きます。

15.8AI コストモニタ

アシスタント、自作エージェント、複数のローカルモデル、外部ハーネスを使うと、費用は複数の場所に分散します。AI Model Costs はそれをひとつの画面に集約します。ヘッダーは今月の合計と予算に対する割合を表示し、色分けバーは 80% でオレンジ、100% で赤になります。AI ツール get_ai_costs は同じ数値を管理者に公開します。

ダッシュボードは 4 つの流れを一緒に追跡します。

  • 従量 API 課金 — プロバイダ・モデル別。編集可能な価格表(100 万トークンあたり USD)から計算するか、請求書から直接入力。Connect Accounts は OpenAI・Anthropic・OpenRouter・DeepSeek・Fish Audio(ウォレットのチャージ合計から残りのクレジットを引いて算出)、そしてセルフホストの LiteLLM プロキシから月初来の費用を自動取得します — プロバイダごとに複数アカウント、それぞれ独立した費用行。Apify も同じ並びに入ります。プラットフォーム利用額を日ごとに読み取り、暦月で合計します。アカウントに専用のトークンを入れなければ、Apify ペインのトークンを使います。
  • 継続的な支払いすべて(AI に限りません)。プリセットは主要な AI プラン、クラウドとホスティング(Cloudflare・Vercel・DigitalOcean・Hetzner・Backblaze など)、SaaS ツール(Apple One・Google Workspace・1Password・Figma・Adobe など)、ドメイン更新・Apple Developer・TLS 証明書といった年次費用をカバーし、任意の名前を入力することもできます。API のないサービスも、アプリが照会できるサービスと同じように追跡されます。各項目は週次・月次・年次で請求され、行には実際の支払額を表示しつつ、合計は月額に換算されます。項目はカテゴリ別に小計付きで表示され、ヘッダには月額と年額の両方が並びます。行のトグルをオフにすれば削除せずに合計から除外でき、解約を検討する際に便利です。FrontierStack のライセンスはティアに基づいて自動的に追加されます。
  • ローカル CLI 使用量 — この Mac の Claude Code と Codex のログをワンクリックでスキャンし、モデル別に今月のトークンを推定として集計。
  • 判定モデル — TypeSafe の Jev、Cloudflare の Clef/Clef-flash、OpenAI Decisions(gpt-6-luna、OpenAI キーを使用)は、テキストではなく確率で型付きの質問に答え、入力トークンのみ課金されます。キーは AI モデル › 判定モデルに保存され(チャットモデルの選択肢には出ません)、FrontierStack が行った呼び出しはレスポンスのトークン数からここに自動記録されます(モデルごとに月 1 行)。AI モデルの行には今月のトークン数と費用が表示されます。KeyRotate は両方のキーを同期します。

コストはサービスごとの請求通貨で発生します — 米国の SaaS は米ドル、欧州のレジストラはユーロ、FrontierStack のライセンスは日本円。各項目は元の金額と通貨をそのまま保持し、合計はすべて選択した表示通貨に換算されます。為替レートは基準日付きで編集でき、ECB の日次フィキシングからいつでも更新可能。変更すると履歴も即座に再計算されます — 会計用ではなく予算管理用の概算です。多くのサービスペインにはプランと料金セクションがあり、サービスを管理するその場で支払額を記録すると、すぐにこの合計に反映されます。

どのサブスクリプションにも更新日を設定できます。設定すると「次回の更新」に表示され、リマインド期間(既定は 7 日前、行ごとに変更可)に入るとアラートが発報されます — ドメインや TLS の有効期限とまったく同じ経路です。自動更新の行は日付を自動的に進め、Mac を数か月起動していなくても追いつきます。手動更新の行はその場に留まり期限超過として表示されます — 実際には課金されていないからです。無料トライアルとして登録した行は有料化する日まで合計に加算されず、課金が始まる前に警告します。解約日を設定した行はその日まで加算されてから停止するため、削減額が実際に効く日どおりに反映されます。代替の行を指定すればその費用が差し引かれ、月 20 ドルのプランを 15 ドルへ乗り換えた場合は 20 ドルではなく 5 ドルの削減と表示されます。更新エディタで料金を変更すると変更前の金額が記録されるので、値上がりしてきたプランはその推移がそのまま見えます。

オープンソースのセルフホスト型サブスクリプション管理ツール Wallos を既に使っている場合、二重に入力する必要はありません。カタログから Wallos を追加し、プロフィール画面で発行した API キーでインスタンスに接続すれば、支出と請求へインポートでサブスクリプション(料金・通貨・請求サイクル・次回支払日・解約日)を取り込めます。取り込んだ項目は他のすべてと同じ合計に加わり、同じ更新アラートの対象になります。再インポートは既に作成した行を更新するだけで重複しないため、Wallos 側を変更するたびに実行して構いません。FrontierStack は Wallos から読み取るだけで書き戻さないので、こちらの操作で向こうのデータが壊れることはありません。

プロバイダ別の内訳(ドーナツチャート)、予算ラインを引いた 6 か月トレンド、そして費用を費用最適化アドバイザーに渡す Ask AI ボタンが、これを締めくくります。請求ヘルス監視は、接続済みの有料サービスをクレジット切れ・上限到達・支払い遅延・アカウント停止についてプローブし、アラートを上げます — キーが止まろうとしているのを、止まる前に捉えます。支出しきい値アラートがこれを補完します。月間予算の 80% または 100% を超えるとアラート(回復通知つき)が発報され、同期済みの各 AI アカウントには個別の月間上限を設定でき、DigitalOcean・Vultr・Linode のペインはプロバイダ API から当月料金を読み取って独自のしきい値を持てます。

キー使用状況の監視(支出と請求)は、AI キーが他人に使われたときに警告します。AI プロバイダは呼び出し元を報告しないため、接続済みの管理者キーで Anthropic・OpenAI・OpenRouter のキー別使用量を 15 分ごとに読み取り、この Mac が送った量と比べます。FrontierStack は自分の呼び出しをキーごとに計測し(保存するのはキーの指紋だけ)、この Mac の Claude Code や Codex の使用も数えられます。説明のつかない使用(特に Mac のスリープ中)、キーの通常パターンを大きく上回る時間帯、一度も使っていないモデル、「未使用」にしたキーの使用、保存していないキーの使用があると、キーをローテーション…ボタン付きのアラートを出します。KeyRotate も同じ計測値を FrontierStack から読み取り、AWS Bedrock の呼び出し元アドレスを CloudTrail で確認します。

保存済みの各キーは、ベンダが表示する伏せ字の値と照合してベンダのキー一覧に結び付けます。照合できないキーや見分けのつかないキーがあるときは、キーのトラッキング ID欄に ID を入力します。OpenAI なら API keys ページのトラッキング ID(key_…)、Anthropic なら apikey_… です。秘密情報ではなく、キーらしい値は受け付けません。ペアリング済みの KeyRotate とはこの ID が同期され(キーのフィンガープリント単位、新しい編集が優先)、KeyRotate は置き換え前のキーを OpenAI・Anthropic・OpenRouter・Mistral・Fireworks・Linode・AWS IAM・Paddle で ID によって失効させられます。

スクリーンショット追加予定
図 15.2. AI Model Costs:色分け予算バーに対する月初来合計、プロバイダ別ドーナツ、サブスク一覧、6 か月トレンド。撮影手順: 複数プロバイダを記録し、いくつかのサブスクを有効にした状態で AI Model Costs を開き、内訳ドーナツとトレンドチャートが埋まるようにする
ヒントまず現実的な月次予算を設定してください — バーとトレンドの予算ラインは、それがあって初めて意味を持ちます。次に自動同期用に OpenAI と Anthropic の管理者キーを接続し、定額サブスクを追加すれば、ダッシュボードは「今月、AI にいくらかかっているか?」への正直な単一の答えになります。
セキュリティコストの自動同期には OpenAI/Anthropic の組織管理者キーが必要です(各社のコスト API がそれを要求します)。このキーは強力です — ここ、アカウントを接続のアカウント行だけに保存してください(AI モデルのキー欄は通常のキー用です)。Keychain に置かれ、読み取りにのみ使われます:費用と、そのプロバイダの通常キーの期限カウントダウンとローテーション。KeyRotate とペアリングしていれば、KeyRotate にも管理者キーとして双方向に保管されます。Mistral の管理者 API キーと OpenRouter の管理キーは AI モデル ▸ 管理者キー に専用の欄があります。管理者キーをエージェントランタイムの推論キーに流用しないでください。ランタイムには Model Router 経由で、狭くスコープした専用キーを与えましょう。

FrontierStack ユーザマニュアル · バージョン 1.0.0 · 第 15