bailout:1コマンドで入れて使い終えたら消す、超小型の救急エージェント

Published · AI Daily — AI-assisted deep research, methodology & disclosure

GitHub の bailout は「削除されるための harness」を名乗ります。curl 1本で約0.6MBのネイティブバイナリを入れ、アカウントもローカルAPIキーも Git も Node も Python も不要。新しいVMの準備や壊れたエージェント設定の修復に使い、終われば bailout uninstall で消せます。

bailout とは何か

bailout は GitHub で公開されているオープンソースのコマンドラインツール(リポジトリは storozhenko98/bailout)です。README は自らを「削除されることを前提にした harness」と説明しています。想定する場面は単純です。まっさらな仮想マシンや新しい Mac の前にいて、GitHub CLI も設定済みのコーディングエージェントも API キーもない。あるいは普段使うエージェントが壊れていて、それを直すために動くエージェントが必要になる。bailout は、小さく独立した harness を1コマンドで用意します。マシンを立ち上げたり設定を修復したりするために使い、普段のツールに戻ったら削除します。

インストールは2行です。`curl -fsSL https://bailout.dev/install.sh | bash` を実行し、続けて `bailout` を起動します。README によれば、アカウント、ローカルの API キー、Git、Node、Python、既存のエージェントはいずれも不要です。対応環境は Apple Silicon の macOS、x64 Linux、ARM64 Linux で、Bash、curl、インターネット接続、tar や SHA-256 ユーティリティなどの基本的なコマンドは自分で用意します。

README が述べている主な事実

README は三つの状況を挙げています。一つ目は「まっさらな状態」です。EC2 インスタンス、GCP の VM、新しい Mac を起動し、bailout にマシンを調べさせ、足りないツールを入れ、GitHub へのサインインを手伝わせ、リポジトリをクローンし、Codex、Claude Code、Pi、OpenCode を使える状態にします。二つ目は「壊れた環境」です。設定が不正な形式になった、ランタイムが移動した、更新で何かが壊れた、といった場合に、bailout は何が変わったかを調べ、設定をバックアップし、修復し、主力ツールが動くことを確認します。三つ目は「すぐ抜ける」ことです。価値のある成果は普段の環境が元通りになることなので、bailout にはデーモンも、アカウント設定も、永続的な会話ストアも、プロジェクトの雛形生成もありません。 サイズは大きな売りです。README は、v0.7.3 の Apple Silicon 版が 638.6 KB の単一ネイティブバイナリであり、どのリリースも 6,000,000 バイト未満だと述べています。v0.7.3 のアセット表では、macOS ARM64 が 638,592 バイト、Linux x64 が 844,576 バイト、Linux ARM64 が 790,784 バイトで、.tar.gz のダウンロードはそれぞれ 318,119、417,262、397,031 バイトです。Linux 版は musl で静的リンクされています。Rust の直接依存は `serde_json`、`libc`、`rustyline` の三つだけで、TLS はシステムの curl が、モデルが行うことはすべて Bash が担います。 モデルが使えるツールは Bash だけです。コマンドはあなたのアカウントの権限で自動実行され、ファイル変更、パッケージのインストール、ネットワークアクセスも含まれます。README ははっきりと、これはサンドボックスではないと書いています。エージェントには、まず調べる、動いている設定を残す、修復前に設定をバックアップする、結果を確認する、という指示が与えられています。セッション内では `/shell` でローカルの Bash を開き、`/last` で直前のコマンド出力を展開し、`/new` で新しい会話を始め、`/help` と `/exit` でヘルプと終了を行います。Bash 呼び出しのたびに新しいシェルが起動するため、シェルの状態は引き継がれません。通常のコマンドは2分、対話的なコマンドは10分でタイムアウトし、モデルは最大30分まで要求できます。モデルのステップ数の既定上限は50です。

サインインは常に本人が行います。bailout は独自の無料推論を提供しますが、セットアップされるツールは自分のアカウントと認証情報を使います。サインイン、sudo、キー入力が必要なときは、Bash ツールが `interactive: true` で本物の端末を渡してくれます。そのコマンドの入出力はモデルに渡されず、終了ステータスだけが返ります。終わったら `bailout uninstall` を実行します。削除されるのは実行中の bailout バイナリだけで、入れたツール、クローンしたリポジトリ、修復した設定はそのまま残ります。

無料推論の仕組み

README の大部分は「無料とはゼロを意味する」という主張の説明に割かれています。Cloudflare Python Workers 上の FastAPI サービスがプロバイダーのキーを保持し、クライアントには渡りません。モデルへのリクエストごとに、OpenRouter アダプターは最新のカタログを取得し、明示的な `:free` モデルであること、ネイティブのツール対応、すべての料金項目がゼロであることを要求します。さらにエンドポイントの料金がゼロで、30分間の稼働率が少なくとも95%であることを確認し、検証済みのエンドポイントにだけ `allow_fallbacks: false` と厳格なゼロの `max_price` を付けて送信します。任意のルーティング上書き、プロバイダーキー、プラグイン、マルチモーダル内容、Bash 以外のツールは拒否されます。README は有料推論へのフォールバックは存在しないと述べる一方、アプリは OpenRouter が公表した価格とルーティングの約束を守ることに依存する、とも認めています。

モデルが本番に入るには、プロジェクト独自の環境構築・修復ベンチマークで、10タスクの完走で80%以上の成功、ネイティブな Bash 呼び出し、重大な失敗なし、という条件を満たす必要があります。Groq、Mistral、Z.AI、Vercel AI Gateway のアダプターもあり、それぞれ無料資格のルールがあります。公開ゲートウェイは IP ごとに毎分60、毎時600、毎日2,000リクエストに制限し、全体で共有する上限も別にあります。README は、無料の容量は共有されベストエフォートだとしています。

私たちの分析

この設計は、一般的なエージェント製品の発想を意図的に逆転させています。多くのコーディングエージェントは日常のツールになろうとしますが、bailout は日常のツールが無い、または壊れているときに手を伸ばす存在になろうとしています。エージェントを直すのにエージェントが要るという、実在する「鶏と卵」の問題です。バイナリを1 MB未満に抑え、アカウントを不要にし、ホスト型の無料推論を使うことで、壊れたマシンが満たせない前提条件を取り除いています。私たちの読みでは、小ささは見栄ではなく「使ったら消す」という約束に仕えています。小さな成果物は信頼しやすく、取得しやすく、捨てやすいからです。

代償は信頼です。推論がホスト型なので、README によればプロンプト、モデルが選んだファイルの内容、取得された Bash の出力は、ホスト側の Worker を経由して選ばれたプロバイダーへ送られます。無料はデータ保持ゼロを意味せず、プロバイダーのデータポリシーが適用されると書かれています。Worker は会話を保存せずリクエスト本文もログに残しませんが、ゲートウェイは短期間の日次 IP ハッシュ、クォータの予約、クールダウンを保持します。認証情報をチャットに貼らないこと、秘密のファイルをエージェントに出力させないことも注意されています。

リスクと未解決の点

注目すべき制約が三つあります。第一に、README 自身が、コマンドは自動実行されサンドボックスではないと述べており、モデルの誤りが実機を変えうることです。第二に、インストール方法はネットワーク上のスクリプトを Bash にパイプします。

README はチェックサム検証、アトミックなインストール、サイズ確認、sudo を使わないことを説明していますが、プロジェクトとそのドメインを信頼するかどうかは利用者が決めます。第三に、v0.4.0 以降は起動のたびに新しい安定版を確認して自動更新し、`BAILOUT_NO_UPDATE=1` を設定しない限りバイナリが実行の合間に変わりえます。私たちは README を読んだだけでツールを実行していないため、挙動やベンチマークに関する記述はすべて作者の主張です。

読者への実用的なヒント

使い捨てのクラウドマシンを扱うなら、ブートストラップの手順として試す価値があります。まずは README にある「設定変更後にツールが起動しなくなった」のような範囲の狭い指示から始めましょう。

ログインには `/shell` か対話的な引き渡しを使い、秘密情報をチャットに入力しないでください。機密性のある内容を送る前にプライバシーの節を読み、作業が終わったら `bailout uninstall` を実行します。独立したクォータが必要なら、README は `BAILOUT_API_URL` で自前のルーターを立てる方法を説明しており、Python API には Cloudflare Workers Paid が必要か、自分のサーバーで Uvicorn を動かします。

Sources

FAQ

bailout を動かす前にマシンに必要なものは?

README によれば、アカウント、ローカルの API キー、Git、Node、Python、既存のエージェントは不要です。Bash、curl、インターネット接続、tar や SHA-256 ツールなどがあれば、Apple Silicon の macOS、x64 または ARM64 の Linux で動きます。

bailout はサンドボックスですか?

いいえ。README は、モデルのツールは Bash だけで、コマンドはあなたの権限で自動実行され、サンドボックスではないと明記しています。エージェントは調査、設定のバックアップ、結果の確認を指示されているだけです。

bailout uninstall は何を削除しますか?

実行中の bailout バイナリだけです。入れたツール、クローンしたリポジトリ、修復した設定は残り、同じ curl コマンドでいつでも再インストールできます。