OPENAI SEARCH INSIGHT
OpenAI、GPT-5.5でHabitatをRust化 ChatGPT基盤を刷新
この記事で分かること: OpenAIがChatGPTを支えるオンラインストレージ基盤「Habitat」をどのように拡張し、PythonからRustへ移行した理由と実務上の示唆を知りたい。
OpenAIは2026年9月11日、ChatGPTなどの製品向けオンラインストレージ基盤「Habitat」を、Pythonライブラリからグローバル分散サービスへ発展させた経緯をEngineeringカテゴリで公開した。Habitatは現在、約40の地域で週10億人超が使う製品を支え、毎秒7000万件超のリクエストと500PB超のデータを扱うとしている。
技術上の結論は、急成長下ではアプリケーションに組み込む共有ライブラリよりも、制御点を集約したストレージサービスが運用を安定させやすいという点にある。OpenAIは短期的にPythonのコストを受け入れつつ、2026年第2四半期に2人のエンジニア、Codex、GPT-5.5でRustへ全面書き換えを実施した。
Habitatとは何か
Habitatは、OpenAI製品が必要な情報へ高速かつ信頼性高くアクセスするために構築されたオンラインストレージプラットフォームである。ログイン、Codexの設定確認、ChatGPTでの新規会話開始といった操作では、応答前に複数のデータ参照が必要になる。参照が遅ければ製品全体が遅く感じられ、失敗すれば機能停止につながる。
Habitatは2024年半ば、ChatGPTの主サーバーと連携する小規模なPythonクライアントライブラリとして始まった。初期はAzure Cosmos DB上のデータベースアプリケーションに対し、限られた操作を提供していた。製品開発者がデータベース管理の詳細を意識せず、保存・取得できるようにすることが出発点だった。
ライブラリはスキーマ参照、ルーティング、認可、暗号化、シリアライズ、リクエスト整形、接続プールを隠蔽した。データの保存先や取得元がAzure Cosmos DB、キャッシュ、その他のストレージなのかも、利用側は原則として意識しない設計である。
ライブラリから独立サービスへ移した理由
2025年半ばには、クライアント側実装としてのHabitatは限界に達した。サービス数と共通レイヤーの複雑性が増し、後方互換性を保つプロトコル変更であっても、数十のサービスにデプロイと機能フラグの反映を依頼する必要があったためだ。
OpenAIは、重要データのリージョン障害時の影響範囲を縮小するため、リージョン分散したAzure Cosmos DBアカウントへ移す際の例を示す。追加ルーティング、機能フラグ、全クライアントへの配布、シャドーイング、修正を順に実施する必要があり、調整には日単位の時間を要したという。
さらに、無関係な理由でサービスをロールバックしたチームが、以前の不具合を含むクライアントへ戻ったことで、避けようとしていた障害が発生した。こうした運用上のファンアウトを減らすため、Habitatは独立サービス化された。デプロイ、可観測性、基盤機能を一つの制御点に集約したことが移行の主眼である。
サービス化はデータ保護の面でも意味を持つ。Habitatはアクセス制御ポリシーの適用、監査ログ、Azure Cosmos DBなど下位ストレージへのアクセス制限を中央で実施できる。OpenAIは、外部・内部・エージェントによる不正アクセスから利用者データを守る役割を担うとしている。
Pythonを残したまま高負荷を処理した手法
OpenAIは、独立サービス化に際して直ちにPythonを捨てなかった。ネットワーク越しのPythonサービスは、ローカルライブラリより遅延、CPU、メモリの面で不利であり、100倍規模では書き換えが必要になると認識していた。それでも当面は、製品開発を止めず、APIと基盤を固めることを優先した。
焦点となったのはPythonのasyncioにおけるテールレイテンシーである。asyncioはI/O待ちを並行処理できる一方、GILを回避してCPU並列化するものではない。Habitatではルーティング、圧縮、暗号化、チェックサム、下流ヘルスチェック、シャドーイング、ヘッジングなど、CPU負荷のある処理も担う。
下流ストレージが速く応答しても、応答を解析するコルーチンの再スケジュール待ちでリクエストが停滞することがあった。OpenAIは、標準的なCPU・メモリ・ネットワークなどの利用率だけでなく、イベントループのスケジューリング遅延を実測した。高負荷時には遅延が数百ミリ秒、例外的には数秒に及んだという。
このため、各プロセスが処理する同時リクエスト数を少なく抑え、多数のPythonワーカープロセスへ横展開した。非同期化はCPU並列化と同義ではないという点は、PythonでI/O中継・暗号化・変換を混在させるサービスにとって重要な観測対象となる。
初期運用では、Statsigによる機能フラグ設定の定期JSON解析がCPUを一斉に消費し、asyncio遅延を増やしていた。毎分・ジッターなしの更新と、1ポッド当たり最大8プロセスの構成が重なったためである。対象を絞った設定、更新間隔の延長、バックグラウンド処理へのジッター追加で対処した。
接続プールと下流保護で得た知見
接続プールは効率化のための仕組みだが、負荷分散を悪化させる場合がある。OpenAIでは、クライアント側プールにより少数のサーバープロセスへ負荷が偏り、一部のプロセスが平均の5〜10倍の同時リクエストを処理する状態を確認した。
調査の結果、Pythonのaiohttp TCPConnectorが既定で採用するLIFO方式の接続再利用が、過負荷サーバーにさらにトラフィックを集中させるフィードバックループを生んでいた。遅いサーバーから後で戻った接続が次のリクエストに選ばれやすくなるためである。FIFO方式へ変更し、こうしたメタステーブル障害を断った。
現在は主にIstioとEnvoyを使い、接続プールとサーバー負荷を考慮した分散をインフラ層で提供している。EnvoyはPythonのHTTP/1接続をHTTP/2へ更新して多重化し、接続をプールして寿命を延ばすほか、レート制限とサーキットブレーカーの実装点にもなる。大量ワーカー化では接続数自体が下流障害の原因になる
ため、単純なスループット指標だけでの設計は危険だ。
予測可能なNoSQL APIを選んだ設計
HabitatがPythonでも大規模化できた理由の一つは、APIを制約してリクエストコストを予測可能にしたことだ。任意のSQLを許すのではなく、単純なNoSQL APIを公開する。大規模なテーブル走査や多表結合を起こし得るクエリを、オンラインの共通ストレージ層へ持ち込ませない明示的なトレードオフである。
OpenAIは以前、オンラインデータの大半をPostgresに保存していた。チームと製品が拡大すると、インデックスに乗らない高コストクエリのレビューを継続することが難しくなり、ホットパスの新規クエリがデータベース障害につながるケースがあったとしている。
HabitatのAPIは、クライアントが定義するオブジェクト型とエッジ型を中心とし、TAOに着想を得たものだ。各オブジェクトと対応するエッジを同じストレージパーティションに置く一方、遠隔オブジェクトとの共配置は保証しない。水平分割しやすい半面、複数ホップのグラフ探索は効率的ではない。
複雑な検索・分析には、変更データキャプチャー(CDC)でオンラインストレージの変更をほぼリアルタイムにRocksetの分離インスタンスへ流す。各クライアントチームが自身のRocksetをスケールさせる構成であり、オンラインのトランザクション処理と読取負荷の大きい分析処理を分離している。
Rust移行で示した性能と開発体制
OpenAIによると、Python版Habitatはピーク時に毎秒2000万件超のリクエストを処理した。その後、成長の継続と基盤成熟を踏まえ、Pythonからの移行を実施した。HabitatはOpenAI内でコア数が2番目に多いサービス、Envoyの規模では4番目だったという。
2026年第2四半期、2人のエンジニアがCodexとGPT-5.5を用いてサービス全体をRustへ書き換えた。公開時点でRust版は本番リクエストの95%を処理しており、Python版は今後数週間で廃止する予定と説明する。Rust版はPython版比でCPU効率が6倍、メモリ効率が15倍で、平均・テールの両レイテンシーも大幅に低下したとしている。
これは「AI支援だけで移行が完了する」という一般論を意味しない。公式発表で確認できるのはOpenAI自身の事例と測定値であり、コードベースの規模、テスト資産、依存関係、データ整合性要件が異なる組織へ同じ工数を当てはめることはできない。
Agent Memories編集部の考察
日本の実務では、まず共有ライブラリが担う認可、暗号化、ルーティング、接続制御、監査を棚卸しし、変更時に何チーム・何サービスへ展開が必要かを数値化したい。更新のたびに多数の所有者との同期が必要なら、性能改善より先にサービス境界と中央制御点を検討する価値がある。
次に、Pythonサービスの性能評価ではCPU使用率や平均レイテンシーだけで判断しない。イベントループ遅延、p99以降の待機時間、バックグラウンド更新の同時実行、接続再利用方式、下流への新規接続数を監視項目に追加すべきだ。とりわけ、デプロイ直後や設定更新時の一斉負荷を平常時の平均値で見逃さないことが重要になる。
また、自由度の高いクエリを中央のオンラインストアへ集中させる設計は、組織拡大時に障害要因になり得る。APIの表現力を意図的に絞り、複雑な集計・検索はCDC経由の別系統へ逃がす選択は、利用側の手間と引き換えに、運用可能性と障害分離を得る方法として評価できる。
よくある質問
HabitatはChatGPTだけのための基盤ですか
いいえ。OpenAIは、HabitatをOpenAI製品が必要な情報へ高速かつ信頼性高くアクセスするためのオンラインストレージプラットフォームと説明している。ChatGPTは利用例の一つであり、ログインやCodex設定の確認なども例として挙げられている。
OpenAIはPythonをすでに完全廃止しましたか
公開時点では完全廃止ではない。Rust版が本番リクエストの95%を処理しており、Python版は「今後数週間」で廃止予定とされる。公式発表は具体的な廃止日を示していないため、それ以上の日程を補うことはできない。
Rust化だけがスケールの要因ですか
違う。公式記事は、サービス化による運用集約、asyncio遅延の計測、機能フラグ処理の見直し、接続プールの変更、Envoyによる多重化と下流保護、予測可能なNoSQL API、CDCによる分析処理の分離を一連の要素として説明している。
次回の記事では何を扱う予定ですか
OpenAIは後編で、大規模なマルチテナンシーの信頼性、読み取り性能を最適化する階層的戦略、Azure Cosmos DBとの連携を拡張して前例のない需要を安定的に扱った方法を詳述する予定だとしている。
まとめ
OpenAIのHabitatは、急増するChatGPT利用を背景に、単一データベースに接続するPythonライブラリから分散ストレージサービスへ進化した。重要なのは言語移行そのものではなく、変更の中央集約、テールレイテンシーの可視化、接続と下流負荷の制御、予測可能なAPIという順序で基盤を成熟させた点にある。
開発組織は、性能課題を「PythonかRustか」だけに還元せず、運用の配布範囲、クエリコストの上限、障害時の負荷集中、分析系との分離を同時に評価したい。そのうえで移行が必要になった時点で、AI支援をテスト・変換・検証の加速手段として組み込むことが、今回の一次情報から読み取れる実務的な示唆となる。
公式出典・確認日
OpenAI公式情報を2026-09-12時点で確認しています。提供範囲・料金・画面は更新される場合があります。
新しいAIへ乗り換えても、自分の前提や判断を持ち運べる状態をつくる。Agent Memoriesは、記憶をスキルや外部ツールへつなぐAIパートナー基盤を育てています。
AIエージェントの記憶を知る Agent Memoriesを見る本カテゴリはMiraigent / Agent Memoriesによる非公式編集記事です。OpenAIとの提携・承認・後援を示すものではありません。