上限と既定値
1 箇所に集めているのは、上限は必ず最悪の瞬間にしか出会わないからです。そのとき読者は 3 つを同時に知る必要があります:天井はいくつか、誰が上げられるか、達したら何が起きるか。
製品として固定のもの
Section titled “製品として固定のもの”配備によって変わりません。
| 上限 | 値 | 達したときに起きること |
|---|---|---|
| セッション名 | 80 文字 | 制御文字を落として切り詰める。全ての層で同じ値で検査する(理由は下) |
| ブラウザペイン: Chromium プロセス | ワークスペース当たり 1 | — |
| ブラウザペイン: 同時 Page | ワークスペース当たり 2 | どれかを手放すまで 3 つ目は開けない |
| ブラウザペイン: viewport | 1600×1200(DPR 1) | それ以上は切り詰める |
| ブラウザペイン: フレームレート | 表示中 12 fps(JPEG quality 70) | 動画の確認には使えない |
| ブラウザペイン: 非表示時の保持 | 60 秒 | 過ぎると Page を解放し、戻ったときは保存済みの port/path から作り直す |
| フォルダの zip ダウンロード: ファイル数 / フォルダ数 / 深さ | 20,000 / 4,000 / 32 階層 | 413 と上限の名前を挙げたメッセージで断る。切り詰めはしない(ADR 0111) |
| フォルダの zip ダウンロード: 読むバイト数 | 512 MiB | 一覧ではなく実際に読んだバイト数で数えるので、作成中に大きくなったファイルも止まる。413 で断る |
| フォルダの zip ダウンロード: 見たエントリ数 / 名前の長さの合計 | 100,000 / 4 MiB | 413 で断る |
| フォルダの zip ダウンロード: 読む時間 | 45 秒 | 413 で断る(アーカイブができるまで何も送らないので、ロードバランサーのアイドル 60 秒より短くしてある)。協調的な上限: 読み込みの間と最後の読み込みの後に確かめるので、固まったボリューム上で止まっている呼び出しは、返るまで作成枠を握る |
| フォルダの zip ダウンロード: 転送の時間 | 15 分 | 接続を閉じる。止まったクライアントが唯一の作成枠を長く握れないようにする |
| フォルダの zip ダウンロード: 同時の作成 | ワークスペース当たり 1 | 2 つ目の押下は最大 2 秒待って 503「混雑」。作成ごとにホームのボリュームに最大でバイト上限ぶんの一時ファイルができる |
| 生きている兆候のない「作業中」のセッション | 1 時間 | Workspace を起こし続ける理由から外れる。対象は Agent が進み具合を観測できる kind だけ。数えるのはターンの開始からではなく、最後の出力・状態の変化・(一部の kind では)実行中のツールから。進み具合を読めないセッションは抱え続け、「自動停止しない」ピンとバックグラウンド作業は対象外(kind の一覧は アイドル停止と強制停止を使う) |
| 停止したセッションに残った質問・計画・許可の確認 | 14 日 | 持ち越したカードを捨てる(セッションに返事をする) |
| エージェントメモリ: 1 件のメモリ | 本文 200 KiB、説明 2,000 文字 | 拒否する(member/18) |
| エージェントメモリ: セッションが受け取る索引 | 説明付きの部分は既定 24 KiB(memory_index ツールの budget で 4〜64 KiB)、説明はそれぞれ 150 文字で切る。そのあとは名前だけを 8 KiB まで |
名前の枠も超えた分は数だけを示す(「ほか N 件」) |
| エージェントメモリ: 変更・忘れたもの | Console の「変更」は新しい 100 件、メモリの履歴は 300 件で、古い変更を読み込むで最初の変更まで遡れます。af-memory changes は既定 30 件で --limit で 300 件まで。忘れたメモリは一度に 300 件で、古い忘れさせたメモリを読み込むで続きを読めます |
Console では届かないものはありません(af-memory changes はページ送りできません) |
| 検索結果から古いターンへ移動する | 会話の 8,000 位置まで、要求は 4 回まで | そのターンには届かない。遠すぎるという通知が出て、上へスクロールすれば読み込める |
| ブラウザペイン: console メッセージ保持 | 200 件 | 古いものから捨てる。永続ログではない |
なぜセッション名の上限をわざわざ書くのか。 かつては層ごとに値が違いました。 引き継ぎ提案は 512 バイトまで受け取り、カードにも起動ダイアログにも出て編集もできたのに、 セッション作成だけが 80 で弾き、利用者には「worktree 起動に失敗: title is too long」 としか見えませんでした。層ごとに違う値で検査する上限は、特定の瞬間にしか出ない故障を 生みます。値は 1 つ、置き場も 1 つ。
配備が決めるもの
Section titled “配備が決めるもの”既定値は Control Plane 自身が持ち、その多くに deploy/compose/.env.example が注釈を付けています。
| 上限 | 既定 | 決める変数 |
|---|---|---|
| ワークスペースのメモリ | 1g(Compose の例とローカル用スクリプトは 5g、ECS では WsTaskMemory パラメータの 2048 MiB) |
WS_MEMORY |
| ワークスペースの作業ディスク(Fargate) | 50 GiB | AF_ECS_WS_DISK_GB |
| ユーザー毎のホームボリューム(EC2 形態) | 50 GiB | AF_ECS_EC2_HOME_GB |
| 停止の猶予 | 30 秒 | AF_STOP_GRACE_SEC |
| 起動タイムアウト(AWS 形態) | 300 秒 | AF_ECS_START_TIMEOUT_SEC |
| 停止中セッションが一覧に残る期間 | 7 日 | 利用者ごとの 設定 → エージェント → セッション(1 / 3 / 7 / 14 / 30 日、またはしない)。「既定」のままの利用者には配備の AF_SESSION_STOPPED_TTL が効き、過ぎるとアーカイブへ移る。削除はされず、作業コピーも残る。削除ロック中のセッションは一覧に残る |
| クラウド費用の集計窓 | 7 日 | AF_CLOUD_COST_WINDOW_DAYS |
| 親セッションと稼働中の子がすべて静かなまま、親が動いていない子を挙げた通知を 1 回受け取るまで | 15 分 | ワークスペースの環境の AF_STALLED_TREE_MINUTES。0 で無効 |
| アイドルの掃除 | 有効 | AF_IDLE_SWEEP_INTERVAL:0 は掃除を完全に止めるので、アイドルで停止されることが一切なくなる |
| メモリのインポート: bundle / tar.gz の大きさ | 64 MiB、上限は 128 MiB | Workspace の環境の AF_MEMORY_IMPORT_MAX(バイト)。これより大きい値は 128 MiB に丸め、Agent のログに警告を出す(Control Plane が一時保存するのは 1 回のアップロードで 130 MiB までで、超えると 413 を返すため)。上限を超えたアップロードは「大きすぎる」として断る(スナップショットでメモリを戻す) |
| アイドルのセッションを止めるまで | 1 時間 | AF_SESSION_IDLE_TIMEOUT。0 で無効 |
| 判断待ち(質問・承認)のセッションを止めるまで | セッションの値 | AF_INTERACTION_IDLE_TIMEOUT |
| アイドルの Workspace を止めるまで | 2 時間 | AF_WS_IDLE_TIMEOUT。0 で無効 |
| バックグラウンド作業が Workspace を起こしておける時間 | 2 時間 | AF_BACKGROUND_HOLD_MAX。0 で無制限 |
| 打鍵の無い端末を在席と数える猶予 | 30 分 | AF_PRESENCE_IDLE_TIMEOUT |
| 起動中のまま止めるまで | 30 分 | AF_WORKSPACE_START_DEADLINE。0 で無効(アイドル停止と強制停止を使う) |
| Agent が応答しないまま止めるまで | 無効 | AF_AGENT_SILENT_STOP_AFTER(最小 10m。アイドル停止と強制停止を使う) |
| ホームと状態のボリューム(kubernetes) | 50 GiB と 5 GiB | AF_K8S_HOME_GIB・AF_K8S_STATE_GIB |
| egress の生イベント(egress ゲートウェイを通ったワークスペースの接続ごとに 1 件)を残す期間 | 30 日 | AF_EGRESS_EVENT_RETENTION_DAYS。0 で無期限。ホストごとの日次の件数は残る。AWS では 30-ingress のパラメータ EgressEventRetentionDays で設定(空なら 30 日のまま)(外向きの通信を制御する) |
セルフホストのエンジン自身の自動停止はこの表にはありません。「自動停止まで」を管理モーダル → 推論エンジンで役ごとに決め、保存した値はコントローラの次の巡回からエンジンのスタックの既定より 優先されます(自前の GPU で推論エンジンを動かす)。
テナントが決めるもの
Section titled “テナントが決めるもの”引用できる固定の数字はありません。テナント管理者はテナント設定 → 上限・自動停止で 効いている値を見られ、決めるのは配備管理者です。このページではなく画面を見てください。
- テナント当たりのワークスペース数、メンバー当たりのセッション数
- ワークスペースのサイズ(CPU / メモリ / ディスク。形態が対応していれば):deploy-targets.md
- アイドル自動停止:セッションの停止、判断待ちの停止、バックグラウンド作業で保持する上限、
Workspace の停止。
0なら無効(保持の上限は無制限)。空欄なら上の配備の既定に従いますが、判断待ちの停止 だけは別で、空欄のときはテナント自身のセッションの停止が設定されていればそれに、無ければ配備の既定に従います (放置されたワークスペースを止める) - テナントの管理者がエンジンのモデルを取り込めるか(許可しない限り不可)と、テナントが セルフホストのエンジンをそもそも使えるか(役ごと、llm / image。オフにしない限り可)
利用枠ボード:集めるものと読み方
Section titled “利用枠ボード:集めるものと読み方”利用枠ボード(設定 → 利用枠ボード、使用量の上限の状況を見せ合う)は、 メンバーがエージェントの利用上限に対してどこにいるかを見せます。集める範囲はこの表がすべてで、 表に無いものは不明です。「使える」とは表示しません。
| エージェント | アカウントの上限 | セッションの上限状態 |
|---|---|---|
| Claude | 5 時間と週のウィンドウ | あり |
| Codex | 5 時間と週のウィンドウ | マネージドのセッションのみ |
| Muse | 長さつきのウィンドウ | あり |
| Copilot | クレジットプール | 不明 |
| Antigravity(agy) | 集めない:読むにはエージェントの画面を読み取る必要がある | 不明 |
| ほかのエージェント | 不明 | 不明 |
セッションの上限状態は、上限に到達(自動再開を予約していればその時刻つき)、利用額の上限 (再開時刻は付けない。待っても解除されない)、ブロック、サインインが必要、の 4 つです。 あるセッションが上限に当たっていても、ほかのモデルやエージェントについては何も言えません。
| 決まり | 値 |
|---|---|
| 値の意味 | プロバイダが最後に実際に報告した値。下限として「X% 以上(N 分前)」と読む |
| 古い値になるまで | 60 分 |
| リセット時刻を過ぎたら | 「リセット未確認」。0% とは表示しない |
| 帯 | 50% 未満 / 80% 未満 / 95% 未満 / 95% 以上。単位ごとで、まとめない |
| 名簿の 1 ページ | 50 人(最大 100 人) |
| 1 つの公開先に指定できるメンバー | 100 人 |
| 既定 | テナントのメンバーシップごとに非公開。テナントのスイッチはオン |
値の出どころ:ワークスペースが動いている間は、アイドル停止の巡回が、エージェントがすでに読み取って ある値を巡回の間隔(既定 1 分)で読みます。Console のタブを開いていれば、使用量チップが読んだ値も そこから届きます。どちらも約束ではありません。巡回が届かない(止まっている、配備が巡回を 止めている、テナントでアイドル停止・休止・バックアップの機能が一つも有効でない)うえにブラウザも開いて いないワークスペースは更新されず、値は古くなるか不明のままです。更新に失敗しても古い値が新しく 見えることはなく、別のプロバイダアカウントでサインインし直すと前のアカウントの値は消えます。